Re: svn:externals using git submodules
- From
- Andy Parkins <andyparkins@gmail.com>
- Date
- May 1, 2007, 18:36 UTC
- Message-ID
- <200705011936.14345.andyparkins@gmail.com>
- In-Reply-To
- <20070501153626.GA21182@pe.Belkin>
On Tuesday 2007, May 01, Chris Shoemaker wrote:
Show 6 quoted lines
> > Actually that is an interesting point that Chris makes. Isn't the > > svn:externals property revision controlled on the parent directory? > > So each change to it is actually recorded in the revision history > > of the parent project. > > Yes and yes.
Yes and no. Think of svn:externals as a file in the parent repository; it contains
directory-name URL
Now, changes to that file _are_ tracked, in that if I changed the URL that change would be recorded in the parent repository. However, nowhere is the revision of the external recorded. Subversion always fetches the latest revision at that URL.
Show 7 quoted lines
> > And if every svn:externals URL included the > > exact version of the other project to include, aren't svn:externals > > then more-or-less like the subproject link support, except they > > also include the URL? > > Just to clarify, my point was just that Andy's setup seems to assume > that the externals don't specify a revision. If they do, maybe
They don't. If they did, they'd be just as useful as git's submodules.
> git-svn can map the externals into subprojects. Is this what > you're thinking?
Well, I'm thinking that that information /can/ be reconstructed from the revision date information - kind of - the problem is that there is no way to know when the parent updated the module. svn:externals really is just a quick way of doing $ cd submodule $ svn update That's it. That's all you get. We could guess that when the parent module was at date YYYY-MM-DD, that the submodule would be at that same date - but who knows?
Andy
-- Dr Andy Parkins, M Eng (hons), MIET andyparkins@gmail.com