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:
hg logstill show that commit and
defaultbranch 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.
hg updateafter pulling to move my
masterbookmark 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?