New mode to use named branches and topics instead of bookmarks
This is a very long term issue.
I had to work a lot on a project using few Git repositories on Github. hg-git works well for this task but the user experience with bookmarks is not as good as for a standard hg repo hosted for example on foss.heptapod.net. For example:
- No changesets are published even though we have protected branches on the repos that could be considered as "publishing".
- In some cases,
hg up
should not be used without option because it can move the activated bookmark where it should not be moved. -
hg stack
does not work as expected (it shows all changesets). - I can't use
hg absorb
because it does not understand that only the changesets in one Git branch can be modified. -
hg rebase
(without option) does not automatically detect what has to be done. - commits in deleted Git branches are not hidden
- commits that should be hidden by evolve commands are not hidden
- It is sometimes difficult to see from which feature branch a commit comes from
Some of these problems comes from the fact that hg-git uses bookmarks, which are of course very similar to Git branches but which do not interact very well with other Mercurial commands.
It seems to me that hg-git could have a mode using named branched (restricted to 1 head) for protected git branches and topics (restricted to 1 head) for other Git branches (for feature branches). This would make hg with hg-git a very attractive client to work with Git repositories. Therefore, having this mode could have the potential to change how a lot of users interact with Github/Gitlab.
I'd like to ask about the technical feasibility of such mode?