From: Junio C Hamano <junkio@cox.net>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: git@vger.kernel.org
Subject: Re: Notes on Subproject Support
Date: Mon, 23 Jan 2006 17:50:57 -0800 [thread overview]
Message-ID: <7v8xt6xuke.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: Pine.LNX.4.64.0601231200380.25300@iabervon.org
Daniel Barkalow <barkalow@iabervon.org> writes:
> ... Do you see an advantage to having the index only record the
> information used for making a tree, and keeping the information for making
> a commit in other files?
If somebody else already did the work and presented me two git
implementations, one with the index file capable of generating a
tree and uses separate files to keep track of other information
for commits, and the other with the index file with everything
needed for a commit, I'd certainly take the latter. In that
sense, I do not see such an advantage at all. The practical
advantage of keeping them separate is to keep things simple,
minimizing the changes. I see the subproject support as a
secondary issue, and so far I haven't found a reason convincing
enough to tell me that it is better to put HEAD+heads/$branch
information in the index itself when used in a subproject-less
setup. It perhaps would make us more robust when interrupted in
the middle of switching branches or making a commit, but that is
about it (I do not particularly see that a serious problem).
>> *1* One good property of "gitlink" approach is that we *could*
>> extend this blob-like object to store arbitrary human readable
>> information to represent a point-in-time from an arbitrary
>> foreign SCM system. IOW, we do not necessarily have to require
>> `commit` line that name a git commit to be there. It could say
>> "Please slurp http://www.kernel.org/pub/software/.../git.tar.gz
>> and extract it in git/ directory".
>> ...
> I don't think this would really be useful. The reason to have the included
> revision stored in a way that's explicitly marked for git to find is that
> git can do useful things with the information ...
> but more importantly, making sure that changes to what revision
> you're working with propagate to changes in what revision you specify
> should be there)...
My example was taking things to the extreme to be illustrative.
To be more practical, it could have pointed at "git-1.0.tar.gz"
or an "svn://" URL with explicit revision name, which ought to
be enough to recreate the exact state.
next prev parent reply other threads:[~2006-01-24 1:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-23 1:35 Notes on Subproject Support Junio C Hamano
2006-01-23 3:50 ` Daniel Barkalow
2006-01-23 4:36 ` Junio C Hamano
2006-01-23 5:48 ` Junio C Hamano
2006-01-23 6:06 ` Alexander Litvinov
2006-01-23 16:48 ` Daniel Barkalow
2006-01-23 8:38 ` Junio C Hamano
2006-01-23 17:57 ` Daniel Barkalow
2006-01-24 1:50 ` Junio C Hamano [this message]
2006-01-23 16:31 ` Daniel Barkalow
2006-01-24 1:50 ` Junio C Hamano
2006-01-24 4:22 ` Daniel Barkalow
2006-01-23 8:00 ` Junio C Hamano
2006-01-23 12:50 ` Martin Atukunda
2006-01-23 19:30 ` Junio C Hamano
2006-01-28 4:55 ` Horst von Brand
2006-01-28 21:43 ` 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=7v8xt6xuke.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=barkalow@iabervon.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.