From: Junio C Hamano <junkio@cox.net>
To: Andy Parkins <andyparkins@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [3/4] What's not in 1.5.2 (new topics)
Date: Wed, 16 May 2007 22:21:40 -0700 [thread overview]
Message-ID: <7v4pmcauu3.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <200705170539.11402.andyparkins@gmail.com> (Andy Parkins's message of "Thu, 17 May 2007 05:39:10 +0100")
Andy Parkins <andyparkins@gmail.com> writes:
> Our in-tree .gitmodules will have the same problem. I recognise that
> you've mitigated that with some "confirm with the user, store in the
> config" hand waving; but that is just hiding the problem: the submodule
> URL is not something that should be version controlled; it is an
> all-of-history property; when it changes for revision N it changes for
> revision N-1, N-2, N-3, etc. Storing it in .gitmodules implies that
> it's value in the past has meaning - it doesn't.
I think that depends _WHY_ the URL recorded .gitmodules are
updated. It would perfectly be reasonable for release #1 of an
appliance project to bind linux 2.4 tree at kernel/ subdirectory
while release #2 source to have 2.6 one; they come from two
different repository URLs. When you seek the superproject back
to release #1, you would still want to fetch from 2.4 upstream
if you are updating.
If the URL is changed only because the logically same project
was relocated to different hosting service, then what you say is
true.
What I was "handwaving" (or "envisioning") was to have something
like this in .gitmodules:
[subproject "kernel/"]
URL = git://git.kernel.org/pub/linux-2.4.git
(or 2.6, depending on the revision of the superproject) and per
repository configuration would maps this with these two entries:
[subproject "git://git.kernel.org/pub/linux-2.4.git"]
URL = http://www.kernel.org/pub/linux-2.4.git
[subproject "git://git.kernel.org/pub/linux-2.6.git"]
URL = http://www.kernel.org/pub/linux-2.6.git
The intent is
(1) "kernel/" directory is found to be a gitlink in the
tree/index; .gitmodules is consulted to find the
"URL", which is just a handle and the initial hint
(2) That "initial hint" is used to look up the
subproject entry from the configuration, to find the
"real" URL that is used by this repository
> You mentioned yourself that that problem is not confined to the temporal
> accuracy of .gitmodules, there is spatial accuracy too - there is no
> guarantee that user A wants to use the same submodule URL as user B.
which hopefully is already answered by the above handwaving ;-).
The case of "relocated to different hosting site" would also be
solved by having more than one entries in the configuration
file. If a project that used to be hosted at git.or.cz has
migrated to git.sf.net, its .gitmodules file from an earlier
revision would have URL pointing at git.repo.cz and newer ones
would point at git.sf.net. If you started following that
project before the migration, you would have:
[subproject "git://git.or.cz/sub.git"]
URL = git://git.or.cz/sub.git
in your .git/config. After the repository migrates to
git.sf.net, you would update that existing entry and also add
another entry, so that .git/config would have these two entries:
[subproject "git://git.or.cz/sub.git"]
URL = git://git.sf.net/sub.git
[subproject "git://git.sf.net/sub.git"]
URL = git://git.sf.net/sub.git
next prev parent reply other threads:[~2007-05-17 5:21 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-16 22:47 [0/4] What's not in 1.5.2 (overview) Junio C Hamano
2007-05-16 22:47 ` [1/4] What's not in 1.5.2 (have been cooking in next) Junio C Hamano
2007-05-16 22:47 ` [2/4] What's not in 1.5.2 (will cook " Junio C Hamano
2007-05-16 22:47 ` [3/4] What's not in 1.5.2 (new topics) Junio C Hamano
2007-05-17 4:39 ` Andy Parkins
2007-05-17 5:21 ` Junio C Hamano [this message]
2007-05-17 7:51 ` Andy Parkins
2007-05-17 11:02 ` Alex Riesen
2007-05-17 12:46 ` Petr Baudis
2007-05-17 13:46 ` Jeff King
2007-05-17 16:10 ` Petr Baudis
2007-05-17 16:25 ` Jeff King
2007-05-17 17:30 ` Petr Baudis
2007-05-17 17:35 ` Jeff King
2007-05-17 18:49 ` Junio C Hamano
2007-05-18 12:58 ` Jeff King
2007-05-17 18:47 ` Junio C Hamano
2007-05-17 13:45 ` Nicolas Pitre
2007-05-17 21:58 ` Michael S. Tsirkin
2007-05-17 23:41 ` Josef Weidendorfer
2007-05-18 0:32 ` Steven Grimm
2007-05-18 4:50 ` Petr Baudis
2007-05-18 9:18 ` Josef Weidendorfer
2007-05-19 0:56 ` Torgil Svensson
2007-05-18 12:00 ` Jakub Narebski
2007-05-18 12:41 ` Petr Baudis
2007-05-19 16:38 ` Jakub Narebski
2007-05-18 18:37 ` Junio C Hamano
2007-05-18 18:40 ` Julian Phillips
2007-05-18 18:45 ` Junio C Hamano
2007-05-20 0:16 ` Petr Baudis
2007-05-25 9:55 ` News reader woes (was: Re: [3/4] What's not in 1.5.2 (new topics)) Jakub Narebski
2007-05-18 7:57 ` [3/4] What's not in 1.5.2 (new topics) Andy Parkins
2007-05-18 8:43 ` Josef Weidendorfer
2007-05-18 9:21 ` Andy Parkins
2007-05-18 11:08 ` Michael S. Tsirkin
2007-05-18 12:27 ` Josef Weidendorfer
2007-05-18 12:46 ` Michael S. Tsirkin
2007-05-18 15:06 ` Aidan Van Dyk
2007-05-18 15:31 ` Michael S. Tsirkin
2007-05-19 12:50 ` Sven Verdoolaege
2007-05-21 1:10 ` Jakub Narebski
2007-05-18 17:00 ` Junio C Hamano
2007-05-19 18:12 ` Michael S. Tsirkin
2007-05-19 19:56 ` Junio C Hamano
2007-05-18 8:57 ` Michael S. Tsirkin
2007-05-18 9:40 ` Andy Parkins
2007-05-18 10:16 ` Johannes Sixt
2007-05-18 11:22 ` Michael S. Tsirkin
2007-05-18 12:36 ` Andy Parkins
2007-05-19 1:02 ` Steven Grimm
2007-05-19 16:55 ` Josef Weidendorfer
[not found] ` <200705181524.40705.Josef.Weidendorfer@gmx.de>
[not found] ` <20070518133922.GK4708@mellanox.co.il>
[not found] ` <200705181751.15435.Josef.Weidendorfer@gmx.de>
2007-05-18 16:08 ` Petr Baudis
2007-05-18 16:21 ` Michael S. Tsirkin
2007-05-16 22:47 ` [4/4] What's not in 1.5.2 (other bits and pieces) Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7v4pmcauu3.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=andyparkins@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).