From: Junio C Hamano Date: Tue, 17 Mar 2009 00:19:25 GMT Subject: Re: What's cooking in git.git (Mar 2009, #04; Sat, 14) Message-ID: <7v4oxtuhki.fsf@gitster.siamese.dyndns.org> In-Reply-To: Daniel Barkalow writes: > 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. Thanks for a wonderful news.