From: Daniel Barkalow Date: Mon, 16 Mar 2009 23:11:03 GMT Subject: Re: What's cooking in git.git (Mar 2009, #04; Sat, 14) Message-ID: In-Reply-To: <7vr60z8fkl.fsf@gitster.siamese.dyndns.org> On Sat, 14 Mar 2009, Junio C Hamano wrote: > * db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits > - Support fetching from foreign VCSes > - Add specification of git-vcs helpers > - Add "vcs" config option in remotes > > The "spec" did not seem quite well cooked yet, but in the longer term I > think something like this to allow interoperating with other SCMs as if > the other end is a native git repository is a very worthy goal. I recently figured out a way to alter the transport API slightly to make it possible to attach foreign VCSes there. This amounts to allowing get_refs_list() to leave the sha1s null, and allowing fetch() to set them. This just requires a copy of a ref list in the clone path, and a check to make null (for not having a ref) not match null (for not knowing the hash of the ref) in the fetch logic. I think I will end up changing the spec, mostly to allow a single non-trivial call to the helper to provide both the list of refs and the fast-import stream; this matches how the pack protocol works (except, of course, that the initial list doesn't have hashes, and the output goes to fast-import instead of unpack-objects). I'm going to rebase the series at some point, but I've been focused more on the more core transport and remote stuff now that I think I can go through that. -Daniel *This .sig left intentionally blank*