Show 25 quoted lines
> 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.