Subject: Re: [RFC] Fourth round of support for cloning submodules

From: Jakub Narebski <[email-masked]>
Date: Fri, 25 May 2007 14:22:38 +0200

Johannes Schindelin wrote:
> On Thu, 24 May 2007, Sven Verdoolaege wrote:
>> On Thu, May 24, 2007 at 12:31:33PM +0100, Johannes Schindelin wrote:
>>> On Thu, 24 May 2007, Sven Verdoolaege wrote:

>>>> OK... so what should git-update-server-info put in this file for submodules?
>>>> Or, equivalently, what should be the output of ls-remote?
>>>> 
>>>> Right now its a list of pairs of revs(sha1) and refs.
>>>> For submodules we want a connection between a submodule name
>>>> and one or more URLs where the submodule can be found.
>>>> How are you going to squeeze that into info/refs without confusing
>>>> older versions of git?
>>> 
>>> I wonder if the "ref^{blub}" syntax could be used for that: change "blub" 
>>> to the URL, or "sub:URL" or something.
>> 
>> Just to be clear, would it look like the following?
>> 
>> e8a6e39ecfbd391a54b9c3329fd3c6e33d745abd     refs/heads/bernstein
>> c5c64e3fe48302f0c4581985f9c68d615f7bcb4e     refs/heads/master
>> 3fa7ded19a8da868d3af7c942f86358e6720f0c7     refs/heads/submodule
>> /home/sverdool/public_html/cloog.git cloog^{URL}
>> http://www.liacs.nl/~sverdool/cloog.git      cloog^{URL}
> 
> I was more thinking about something like this:
> 3fa7ded19a8da868d3af7c942f86358e6720f0c7      refs/heads/submodule^{URL:/home/sverdool/public_html/cloog.git}
> 
> But then, I haven't really thought about it deeply.

I was thinking about the following:

  ref: refs/heads/master        HEAD
  e8a6e39ecfbd391a54b9c3329fd3c6e33d745abd      refs/heads/bernstein
  c5c64e3fe48302f0c4581985f9c68d615f7bcb4e      refs/heads/master
  3fa7ded19a8da868d3af7c942f86358e6720f0c7      refs/heads/master:submodule/path
  URL: /home/sverdool/public_html/cloog.git     refs/heads/master:submodule/path^{URL}
  URL: http://www.liacs.nl/~sverdool/cloog.git  refs/heads/master:submodule/path^{URL}

By the way, it would be nice if git-show-refs --deferefence used TAB
between sha1 and ref name, like in git-ls-remote / git-peek-remote,
otherwise I think git-show-refs output parsers would fail on [proposed]
"current branch" extension.

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git