I've always used git before, but I want to contribute to python so now I have to learn mercurial and I find it very frustrating.
So, I've made a couple of small patches and I wanted to track them as commits in my local mercurial repository. Apparently there are 4 ways to handle branching in mercurial. 1 and 4 looked completely ridiculous to me, named branches seem to be heavyweight and I feel that I'm not supposed to use them for quick 1-commit fixes, so I used bookmarks.
Now, my patch gets rejected and I want to remove one of my bookmark-branches from my repository. OK, in git I would just force-delete my branch and forget about it, so I delete my bookmark and now I have following problems:
TortoiseHG and
hg log
still show that commit anddefault
branch has 2 heads. And if I understand correctly, you can't delete commits in hg without additional plugins.Mercurial has not only hashes, but also revision numbers. As I've added a couple of my own commits, all commits pulled after that have different revision numbers from the main central repo.
I do
hg update
after pulling to move mymaster
bookmark to the latest commit automatically, but I couldn't find a way to do that in TortoiseHG.
What am I doing wrong? Is this normal and expected and should I just ignore these issues? Or how am i supposed to work with my branches?