Re: [3/4] What's not in 1.5.2 (new topics)
- From
Jeff King <peff@peff.net>
- Date
- May 17, 2007, 13:46 UTC
- Message-ID
- <20070517134649.GA20853@coredump.intra.peff.net>
- In-Reply-To
- <20070517124622.GP4489@pasky.or.cz>
On Thu, May 17, 2007 at 02:46:22PM +0200, Petr Baudis wrote:
Show 12 quoted lines
> > why can't I just have _repo_ configuration: > > > > [subproject "kernel/"] > > URL = http://www.kernel.org/pub/linux-2.6.git > > ? > > It can be first-time cloned from the upstream, but it stays after > > people change it to suit their systems. They can depend on it not to > > be broken by upstream. > > Because kernel/ can get removed, moved around, or point at entirely > *different* projects over time and branches - kernel/ can switch from > linux-2.4 to linux-2.6, libc/ can switch between glibc and uClibc, ...
I think we clearly need a 2-level system: a tracked pointer to the repo, with an optional local override.
However, I don't quite like Junio's idea of using the URL as a key, since it is intended to change. IOW, if I am overriding your URL via .git/config, if you change your URL then my config is now broken.
Instead, why not:
1. url location is supplied in configuration as
[subproject "kernel/"]
url = git://git.kernel.org/pub/linux-2.4.git
2. .gitmodules is simply read as a lower-priority version of
configurationOne advantage of this approach is that it's totally general; instead of .gitmodules, we could in fact be talking about .gitconfig, a mechanism for projects to contain tracked configuration that can be overridden by individual repos. For some projects, I imagine some of the commit encoding config options might make sense.
Thoughts?
-Peff