From: Daniel Barkalow <barkalow@iabervon.org>
To: Nicolas Pitre <nico@cam.org>
Cc: Carl Worth <cworth@cworth.org>, Junio C Hamano <junkio@cox.net>,
Peter Baumann <Peter.B.Baumann@stud.informatik.uni-erlangen.de>,
git@vger.kernel.org
Subject: Re: Separating "add path to index" from "update content in index"
Date: Sun, 24 Dec 2006 16:38:17 -0500 (EST) [thread overview]
Message-ID: <Pine.LNX.4.64.0612241602060.20138@iabervon.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0612221709380.18171@xanadu.home>
On Sat, 23 Dec 2006, Nicolas Pitre wrote:
> On Fri, 22 Dec 2006, Carl Worth wrote:
>
> > On Fri, 22 Dec 2006 00:06:32 -0500 (EST), Nicolas Pitre wrote:
> > > On Thu, 21 Dec 2006, Carl Worth wrote:
> > >
> > > > So, I think what I really want here is a complete separation in the
> > > > interface between adding a path to the index and updating content into
> > > > the index.
> > >
> > > Strangely enough I think this separation is unnecessary and redundent.
> >
> > One argument I would make in favor of the separation is that the two
> > operations are conceptually distinct from the user point-of-view. But
> > that's really hard to nail down since all users have different points
> > of view and different conceptual models,
>
> ... and if we want to break the CVS model and give people a better
> chance of ever grasping the git index concept I think they should not be
> different.
I don't think the misunderstanding (if there is one) of the git index
model is due to CVS. If I'm using a staging area for wrapping Christmas
presents, I may assign space to items I haven't got yet: this is where I
put the tape so I can reach it, this is where the roll of wrapping paper
goes, here is where the wrapping paper will be spread out, but I can't
spread out the wrapping paper until I have the present (it just rolls back
up), so there's nothing in the spot allocated to actual wrapping. Git
reminds me of people who have to put a trash can in their parking spaces
when their cars aren't there to keep them from being deallocated simply
because they're empty.
The allocation of empty space before anything is put in it is a
fundamental operation available in the general concept of a staging
area. Someone coming from an index-based version-control system that
doesn't lack this feature would expect to have a possible status:
# Changed but not updated:
# (use git-update-index to mark for commit)
#
# new file: new-test-file
#
(And note that it can't be CVS-damage, because "Changed but not updated"
isn't supported by CVS. This is a way in which git sort of has CVS-damage,
because the "new file" operation goes straight to "Updated but not checked
in", unlike everything else.)
-Daniel
*This .sig left intentionally blank*
next prev parent reply other threads:[~2006-12-24 21:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-19 20:33 GIT - error: no such remote ref refs/heads/TestBranch Sean Kelley
2006-12-19 22:06 ` Junio C Hamano
2006-12-20 22:31 ` Carl Worth
2006-12-20 22:36 ` Junio C Hamano
2006-12-20 22:57 ` Carl Worth
2006-12-20 23:36 ` Junio C Hamano
2006-12-21 6:55 ` Carl Worth
2006-12-21 10:49 ` Peter Baumann
2006-12-22 0:52 ` Junio C Hamano
2006-12-22 2:32 ` Separating "add path to index" from "update content in index" Carl Worth
2006-12-22 3:06 ` Sean
2006-12-22 5:06 ` Nicolas Pitre
2006-12-22 21:57 ` Carl Worth
2006-12-23 5:27 ` Nicolas Pitre
2006-12-24 21:38 ` Daniel Barkalow [this message]
2006-12-22 5:10 ` Junio C Hamano
2006-12-22 5:21 ` Shawn Pearce
2006-12-22 8:24 ` Jakub Narebski
2006-12-22 16:18 ` Carl Worth
2006-12-22 17:28 ` Nicolas Pitre
2006-12-22 16:55 ` Carl Worth
2006-12-23 2:56 ` Daniel Barkalow
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=Pine.LNX.4.64.0612241602060.20138@iabervon.org \
--to=barkalow@iabervon.org \
--cc=Peter.B.Baumann@stud.informatik.uni-erlangen.de \
--cc=cworth@cworth.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=nico@cam.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).