Subject: Re: [RFC/PATCH git-remote-bzr] Adapt to new semantics of remote-helper "import" command

From: Gabriel Filion <[email-masked]>
Date: Fri, 03 Feb 2012 04:43:35 -0500

Hello,

On 12-01-22 12:46 AM, Jonathan Nieder wrote:
> Hi Simon and Gabriel,
> 
> Here's a rough patch against git://github.com/lelutin/git-remote-bzr.git
> master.

great! thanks for your help.

I must admit that this project never got to completion and is now
getting quite the low priority for my part. I'm no longer working for
the company that was using mainly Bazaar as their VCS, and I've been a
happy git-only user for some time now.
So, I don't have the same incentive to complete the project as I had before.

But I'd be happy to see this get to a point where it's working fine.

> Without this patch, whenever I try to use "git clone bzr::<something>",
> after doing all the work it removes the resulting repo and exits with
> status 141 (SIGPIPE).  Maybe the transport-helper should mask SIGPIPE
> when writing the final newline to avoid that.
> 
> I'd have prefered to write a patch for remote-bzr that works with
> older versions of git fast-import, too, but it wasn't obvious how.
> Hints welcome.

hmm.. I can wait some time to see if some ideas come out around this,
and commit your patch as-is if there are no comments/reworks.

> BTW, would you mind if I sent a patch to include git-remote-bzr in
> git.git under contrib/?

absolutely not, that'd be great actually :)

I didn't do that up to now, though, since I bumped into so much bugs
that I couldn't work out -- some very bad performance issues, and
problems with handling mark files with bzr-fastimport.

> Thanks for git remote-bzr!  I'd be happy for any thoughts you have.

The idea behind git-remote-bzr was to be able to interact with Bazaar
from within your git repository, i.e. to expose remote branches that you
can pull from and push to using the default git commands, without having
to learn to use yet another tool since the remote-helper would be
interfacing with the tool for you.

I have dived for a short period of time into bzrlib, the python library
behind Bazaar, to see how much work it would take to put together a
simplified fast-import client.. and .... wechrk!
It was a huge maze of version-dependant code (the API undergoes big
changes frequently, and backwards compatibility is maintained pretty
far) mixed with a 40-foot-deep class hierarchy. So I quickly gave up on
that idea..

IIRC, at the time I started work on this, Simon and I used
bzr-fastimport[1] because we were able to get farther with this tool. I
haven't used bzr-git[2] that much, though, so I can't comment too
extensively on it. But I would guess that it is maintained more
frequently than bzr-fastimport is, so it could be a better choice for
the backend fast-import client.

I would guess that Jelmer would be happy to help out with interfacing
with bzr-git.

-- 
Gabriel Filion