From: Martin Waitz <tali@admingilde.org>
To: Junio C Hamano <junkio@cox.net>
Cc: Alex Riesen <raa.lkml@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH 6/6] Teach core object handling functions about gitlinks
Date: Wed, 11 Apr 2007 12:03:29 +0200 [thread overview]
Message-ID: <20070411100328.GK21701@admingilde.org> (raw)
In-Reply-To: <7virc3p8zr.fsf@assigned-by-dhcp.cox.net>
[-- Attachment #1: Type: text/plain, Size: 2908 bytes --]
hoi :)
On Wed, Apr 11, 2007 at 02:15:36AM -0700, Junio C Hamano wrote:
> Martin Waitz <tali@admingilde.org> writes:
>
> > Your working tree now contains a complete git repository which has
> > features which are not available for normal files. Notable, you
> > have the possibility to create branches in the submodule.
> > If you insist in using HEAD you throw away those submodule capabilities.
>
> Why? If you are working in the parent module (e.g integration)
> and notice breakage due to a bug in a submodule, it is very
> plausible that you would want to cd into the directory you have
> the submodule checked out, which has its own .git/ as its
> repository, and perform a fix-up there, with the goal of coming
> up with a commit usable by the parent project pointed at by the
> HEAD of the submodule repository. And while working toward that
> goal, you will use branches, rebase, rewind or use StGIT there
> in that submodule repository. It does not forbid you from using
> any of these things -- as long as you end up with a good commit
> at HEAD that the supermodule can use.
that's perfectly fine.
I only require one more thing: make sure that your commit is on
one dedicated branch (simply by merging your working/rebased/whatever
branch into the dedicated one) and not on some random one.
Again: for your above example this is not neccessary and using HEAD
would indeed be perfectly fine.
But you also have to update the submodule when you do a checkout in
the supermodule. So what do you update? Updating 'HEAD' is not
very concrete, please have a look at my initial mail to Linus.
What is stored in the supermodule? It stores a reference to a specific
point in the history of the submodule. As such I am convinced that
the right counterpart inside the submodule is a refs/heads/whatever,
and not the branch selector HEAD.
You can have other branches next to the one which is tracked by the
supermodule. If you always update HEAD you don't have a clear
distinction between the branch which is tracked and other branches.
> Once you come up with a suitable commit sitting at HEAD of the
> submodule repository, you cd up to the parent module. Top-level
> git-diff would notice that the commit recorded at the submodule
> path has been updated (because you now have a good commit at
> HEAD of the submodule repository, while earlier the one in your
> index was a dud).
>
> So it is not clear to me what your argument about throwing away
> capabilities is.
If the supermodule just updates some random submodule branch I happen to
use at the time of a supermodule pull then submodule branches are
of much lower value.
Suddenly you have to make sure for yourself that the correct branch
gets updated.
For me, different branches should be independent and I want git to
always update the correct one.
--
Martin Waitz
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-04-11 10:03 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-10 4:12 [PATCH 0/6] Initial subproject support (RFC?) Linus Torvalds
[not found] ` <Pi ne.LNX.4.64.0704092115020.6730@woody.linux-foundation.org>
2007-04-10 4:13 ` [PATCH 1/6] diff-lib: use ce_mode_from_stat() rather than messing with modes manually Linus Torvalds
2007-04-10 4:13 ` [PATCH 2/6] Avoid overflowing name buffer in deep directory structures Linus Torvalds
2007-04-10 4:14 ` [PATCH 3/6] Add 'resolve_gitlink_ref()' helper function Linus Torvalds
2007-04-10 9:38 ` Alex Riesen
2007-04-10 14:58 ` Linus Torvalds
2007-04-10 15:35 ` Alex Riesen
2007-04-10 15:52 ` Linus Torvalds
2007-04-10 15:57 ` Alex Riesen
2007-04-10 16:16 ` Linus Torvalds
2007-04-10 15:54 ` Josef Weidendorfer
2007-04-10 4:14 ` [PATCH 4/6] Add "S_IFDIRLNK" file mode infrastructure for git links Linus Torvalds
2007-04-10 4:15 ` [PATCH 5/6] Teach "fsck" not to follow subproject links Linus Torvalds
2007-04-11 22:41 ` Sam Vilain
2007-04-11 22:48 ` Linus Torvalds
2007-04-11 22:59 ` Sam Vilain
2007-04-11 23:16 ` Linus Torvalds
2007-04-11 23:05 ` David Lang
2007-04-11 23:53 ` Linus Torvalds
2007-04-11 23:30 ` David Lang
2007-04-12 2:14 ` Linus Torvalds
2007-04-12 2:30 ` Junio C Hamano
2007-04-12 17:18 ` David Lang
2007-04-12 18:32 ` Dana How
2007-04-12 19:17 ` Linus Torvalds
2007-04-13 9:00 ` Rogan Dawes
2007-04-13 15:23 ` Linus Torvalds
2007-04-15 6:50 ` Dana How
2007-04-12 0:00 ` Dana How
2007-04-12 0:03 ` Sam Vilain
2007-04-12 0:34 ` Junio C Hamano
2007-04-12 1:52 ` Linus Torvalds
2007-04-12 2:00 ` Junio C Hamano
2007-04-12 2:06 ` Junio C Hamano
2007-04-12 2:28 ` Linus Torvalds
2007-04-11 23:30 ` Dana How
2007-04-10 4:20 ` [PATCH 6/6] Teach core object handling functions about gitlinks Linus Torvalds
2007-04-10 8:40 ` Frank Lichtenheld
2007-04-10 11:31 ` Alex Riesen
2007-04-10 14:55 ` Linus Torvalds
2007-04-10 16:28 ` Josef Weidendorfer
2007-04-10 16:50 ` Alex Riesen
2007-04-10 17:23 ` Josef Weidendorfer
2007-04-10 18:45 ` Linus Torvalds
2007-04-10 19:04 ` Andy Parkins
2007-04-10 19:20 ` Linus Torvalds
2007-04-10 20:19 ` Junio C Hamano
2007-04-10 20:33 ` Linus Torvalds
2007-04-12 0:12 ` Sam Vilain
2007-04-12 0:35 ` Martin Waitz
2007-04-12 2:01 ` Linus Torvalds
2007-04-12 3:56 ` Sam Vilain
2007-04-10 19:41 ` David Lang
2007-04-10 20:06 ` Junio C Hamano
2007-04-10 19:29 ` Josef Weidendorfer
2007-04-10 19:45 ` Linus Torvalds
2007-04-11 23:47 ` Sam Vilain
2007-04-12 0:13 ` Linus Torvalds
2007-04-12 0:42 ` Torgil Svensson
2007-04-12 0:56 ` Martin Waitz
2007-04-12 21:23 ` Torgil Svensson
2007-04-11 23:36 ` Sam Vilain
2007-04-11 8:06 ` Martin Waitz
2007-04-11 8:29 ` Alex Riesen
2007-04-11 8:36 ` Martin Waitz
2007-04-11 8:49 ` Alex Riesen
2007-04-11 9:20 ` Martin Waitz
2007-04-11 9:15 ` Junio C Hamano
2007-04-11 10:03 ` Martin Waitz [this message]
2007-04-11 20:01 ` Junio C Hamano
2007-04-11 22:19 ` Martin Waitz
2007-04-11 22:36 ` Linus Torvalds
2007-04-11 9:47 ` Andy Parkins
2007-04-11 11:31 ` Martin Waitz
2007-04-11 15:16 ` Linus Torvalds
2007-04-11 22:49 ` Sam Vilain
2007-04-11 23:54 ` Martin Waitz
2007-04-12 1:57 ` Brian Gernhardt
2007-04-12 15:12 ` Josef Weidendorfer
2007-04-10 4:46 ` [PATCH 0/6] Initial subproject support (RFC?) Linus Torvalds
2007-04-10 13:04 ` Alex Riesen
2007-04-10 15:13 ` Linus Torvalds
2007-04-10 15:48 ` Alex Riesen
2007-04-10 16:07 ` Linus Torvalds
2007-04-10 16:43 ` Alex Riesen
2007-04-10 19:32 ` Junio C Hamano
2007-04-10 20:11 ` Linus Torvalds
2007-04-10 20:52 ` Junio C Hamano
2007-04-10 21:02 ` Sam Ravnborg
2007-04-10 21:27 ` Junio C Hamano
2007-04-10 21:03 ` Nicolas Pitre
2007-04-15 23:21 ` J. Bruce Fields
2007-04-11 8:08 ` David Kågedal
2007-04-11 9:32 ` Junio C Hamano
2007-04-15 23:25 ` J. Bruce Fields
2007-04-11 8:32 ` Martin Waitz
2007-04-11 8:42 ` Alex Riesen
2007-04-11 8:57 ` Martin Waitz
2007-04-10 13:39 ` [PATCH] allow git-update-index work on subprojects Alex Riesen
2007-04-10 23:19 ` [PATCH] Allow " Alex Riesen
2007-04-11 2:55 ` 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=20070411100328.GK21701@admingilde.org \
--to=tali@admingilde.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=raa.lkml@gmail.com \
--cc=torvalds@linux-foundation.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).