>>> "JV" == John Volkar <
john....@gmail.com> writes:
>> So you start with a hg repository which posses named branches,
>> and you want to push that to a git repository?
> Yes.
>> do all users that push/pull use mercurial or some use git?
> All users will use Hg as the common practice, but it is possible that there
> will be occasional isolated changes made in the Git repo that would need to
> come back out. (No new branches created in Git, no significant development
> in Git.)
Good and bad. See below
> I have a need for a "reasonably narrow" integration with a git repo, I was
> hoping that hg-git was the ticket, and it seems like it should be, if I can
> figure out how to get a semi-reasonable branch handling figured out. I'd
> be happy with a single named branch in Hg to a single named branch in Git
> that round trips.
> I guess I could try one of the patches? I am a bit hesitant go down this
> route, but I don't think I have many options to try. (I guess I can make
> it an interns job to manually do the Hg/Git/Hg/Git dance forever, but ick.)
I think the more recent patch (topic/branch) by Dan is the better
choice, since he is quite an active developer. Manuel Jacob seems too
busy to maintain his patches.
That being said, some comments on Manuel Jacob's patches
I now use them only for git repositories (I used them for a while in
bitbucket when bitbucket, regrettably discontinued its mercurial
support, but then I found helix and stopped using bitbucket).
GNU emacs and most packages are using git, Xemacs is a notable exception
(and was one of the reasons for me to get acquainted with HG), but
Xemacs is almost dead, so that does not count much.
Here is my experience with Manuel's patches
1. They work quite well if *everybody* uses mercurial.
a. A named branch with some changesets that is pushed to a Github
repository and then pulled from another hg user, comes trough
smoothly.
b. One word of warning: you said you almost never use the default
branch, in that case you need to configure the functionality
provided by that patch quite carefully (because the default
branch is mapped to the master branch in git). That setting can
be changed but you need to run some tests
2. The problem starts if git users are involved.
a. If the users creates a new git branch, that branches ends up
in a mercurial repository as a bookmark on the default branch.
b. If the user commits a change to a named branch, then I am not
entirely sure, I think it also ends up as a bookmark on the
default branch. In my use cases (matlab-emacs) I tell every
git user best not to commit to my branches.
3. I think Dan's branch allows to pull git branches into named
branches, I am not sure though.
4. Phases. Secret phases at least in hg-git I use do not work, so
you should be careful with them, especially with Manuel patch. In
my understanding secret phases will be added soon to hg-git in
the stable branch.
> Aside from hg-git, there is the other 'git' extension, I didn't look at it
> much as hg-git sounded more full featured. As always, suggestions are
> welcome.
There was one but as far as I remember it was given up in favor of hg-git.
There are converters of course but you want it as a two way extension
and that is much harder, so in a nutshell there is only hg-git
Regards
Uwe