Question

For the last 6 months or so I've been using a 2-way Git mirror of our main Perforce repository at work to evaluate it for our workflow. I have to say I've fallen in love with using it but it has had one fatal flaw for me so far: it's Windows support is terrible.

Generally this is not an issue for me but right now it is. I need to do some work on some locally committed work in my Git repo and I cannot get to it from the machine I need to work on as there are some unsolvable issues with the Git distro on this box.

Anyhow, what I want to do if I can is to run a second mirror: this time piggy-backing off of my Git repository but serving via Mercurial or Bazar. I've found a few tools that look promising and some references in blog comments saying that people have done this but nothing complete.

So can anyone tell me if there is a simple way to maintain a 2-way mirror to a Git repository using another DVCS that will work on Windows without any trouble?

Thanks in advance for your troubles...

Jamie

Was it helpful?

Solution

A new option has popped up on the scene from the folks over at GitHub: git-hg. Now there's a way to do a two-way sync between Git and Mercurial.

OTHER TIPS

[wikified since this isn't really an answer]

I'm using MSYS git without problems on Vista. I do host my git repos on a Debian GNU/Linux box though.

I know that Mercurial has an extension that will let you convert from git to mercurial. More on https://www.mercurial-scm.org/wiki/ConvertExtension

I haven't used it myself though.

bzr has fast-import plugin, so you will be able to create 2-way conversion using fast-export/fast-import pair: http://bazaar-vcs.org/BzrFastImport

There's also tailor that allows mirroring between several repositories. I had it working on Cygwin with quite some success -- until someone added files that made the command line svn choke; though that might be a rather rare problem to hit.

Mercurial has probably the best support for Windows (out of git & bzr). It even has a TortoiseHg extension here.

I think you're not likely to find a satisfactory solution with the currently available git to other DVCS synchronization tools. You could probably cobble together a workable system using git-svn to go from get to subversion and hgsubversion to synchronize between mercurial and subversion, but that seems like a crazy kludge just to get around weak git support on windows.

Perhaps you'd be better off emailing diffs from the windows box -- git has excellent email-patch-handling support (as does mercurial).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top