topics vs bookmarks and hg-git
Manuel Jacob
me at manueljacob.de
Wed Jul 29 04:06:06 UTC 2020
Bookmarks work best with hg-git, as they can be easily mapped to Git
refs and back.
Mapping topics to Git refs ("Git branches") is possible by restricting
each topic to have a single head and assigning a Git ref to each topic
head. Mapping Git refs back to topics is not possible in general, as Git
refs refer a single commit while the topic name is on all changesets in
the topic.
If you use hg-git only for syncing from Mercurial to Git, but not the
other way, you’ll find a not yet merged feature useful.
You can find it in the `export-additional-refs` topic of the hg-git
repository. There’s no documentaion so far, but see the test case:
https://foss.heptapod.net/mercurial/hg-git/-/merge_requests/8/diffs?commit_id=7e2344def8a4f18aca8b4d49d45ad85c584136d5#diff-content-6af25606bfd4c7217ddbb5a602fab0c84988a0fa
The following configuration will export all topic heads to Git branches
with the name of the topic:
[git]
export-additional-refs.named-branch-heads:revset = head() and topic()
export-additional-refs.named-branch-heads:template = refs/heads/{topic}
With this configuration, if you push from Mercurial to Git and then pull
from Git to Mercurial, all the topic heads will have a bookmark with the
name of the topic, which is a mess of course. You could work around that
by modifying the template to give them a different Git ref to avoid the
naming clash, or add a hook removing the bookmarks, but then you won’t
see if the Git side was updated.
On 2020-07-29 01:14, Ernie Rael wrote:
> Can (should) I use topics, instead of bookmarks, with hg-git and
> github?
>
> -ernie
>
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial
More information about the Mercurial
mailing list