Re: What's cooking in git.git (Mar 2009, #04; Sat, 14)
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Mar 16, 2009, 23:11 UTC
- Message-ID
- <alpine.LNX.1.00.0903161834530.19665@iabervon.org>
- In-Reply-To
- <7vr60z8fkl.fsf@gitster.siamese.dyndns.org>
On Sat, 14 Mar 2009, Junio C Hamano wrote:
Show 8 quoted lines
> * 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*