From: Daniel Barkalow <barkalow@iabervon.org>
To: Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [FAQ?] Rationale for git's way to manage the index
Date: Mon, 7 May 2007 18:23:20 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0705071616310.18541@iabervon.org> (raw)
In-Reply-To: <8b65902a0705070440t40889af0p1fb8dbf7e2a072e4@mail.gmail.com>
On Mon, 7 May 2007, Guilhem Bonnefille wrote:
> Hi,
>
> As a newbie, I'm agree with Matthieu: the Git's index is surprising
> for people coming from CVS/SVN (mindless?) world. So a good
> documentation about this, even in tutorials, is really important.
I think that the confusing thing isn't really the index, but the fact that
git, by default, will make commits where the content in the commit is
different from the content in the working directory. (In fact, you can use
git-hash-object --stdin and git-update-index --cacheinfo to do a commit
which shares no content at all with any present or past state of the
working directory!)
In other version control systems, you have to use some option or argument
to make that kind of non-matching commit (and you're generally limited in
how your commits can fail to match the working directory). I think the
confusion is that git requires an option to say that you want the commit
to match the working directory, as opposed to creating a non-matching
commit, which is generally the more advanced and more unusual case.
I think this is why people mostly get to understand the index by way of
using it to resolve a conflicted merge: in that case, you have to make the
index match the working directory before committing, and the index tracks
your progress in reaching this state, which is the intuitive use of the
index in normal situations.
-Daniel
*This .sig left intentionally blank*
next prev parent reply other threads:[~2007-05-07 22:23 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-06 16:10 [FAQ?] Rationale for git's way to manage the index Matthieu Moy
2007-05-06 16:51 ` Johannes Schindelin
2007-05-06 17:34 ` Matthieu Moy
2007-05-06 17:43 ` Junio C Hamano
2007-05-09 12:52 ` Petr Baudis
2007-05-09 13:57 ` Johannes Schindelin
2007-05-09 14:24 ` [PATCH] git-commit: Reformat log messages provided on commandline Petr Baudis
2007-05-09 14:59 ` Matthieu Moy
2007-05-09 15:11 ` Petr Baudis
2007-05-09 15:32 ` Matthieu Moy
2007-05-09 15:01 ` Johannes Schindelin
2007-05-10 0:45 ` Junio C Hamano
2007-05-12 0:25 ` Jakub Narebski
2007-05-06 18:22 ` [FAQ?] Rationale for git's way to manage the index Dana How
2007-05-06 23:42 ` Johannes Schindelin
2007-05-06 17:25 ` Linus Torvalds
2007-05-06 18:23 ` Matthieu Moy
2007-05-06 19:54 ` Linus Torvalds
2007-05-06 22:53 ` Julian Phillips
2007-05-07 6:35 ` Karl Hasselström
2007-05-08 1:41 ` Shawn O. Pearce
2007-05-08 7:15 ` Johannes Sixt
2007-05-08 10:28 ` Karl Hasselström
2007-05-08 12:40 ` J. Bruce Fields
2007-05-08 14:53 ` Karl Hasselström
2007-05-09 3:45 ` J. Bruce Fields
2007-05-09 9:40 ` Johannes Schindelin
2007-05-08 7:37 ` Karl Hasselström
2007-05-08 14:52 ` Shawn O. Pearce
2007-05-06 23:51 ` Johannes Schindelin
2007-05-07 8:02 ` Matthieu Moy
2007-05-07 11:05 ` Johannes Schindelin
2007-05-09 13:07 ` Petr Baudis
2007-05-08 3:16 ` Martin Langhoff
2007-05-08 4:45 ` Linus Torvalds
2007-05-08 5:35 ` Martin Langhoff
2007-05-09 13:41 ` Petr Baudis
2007-05-09 15:52 ` Linus Torvalds
2007-05-09 16:29 ` Carl Worth
2007-05-11 1:28 ` Jakub Narebski
[not found] ` <7vd518gkyo.fsf@assigned-by-dhcp.cox.net>
2007-05-11 11:26 ` Jakub Narebski
2007-05-11 16:45 ` Junio C Hamano
2007-05-11 23:06 ` Jakub Narebski
2007-05-12 0:40 ` Junio C Hamano
2007-05-12 1:06 ` Jakub Narebski
2007-05-12 9:35 ` Jakub Narebski
2007-05-09 16:33 ` Dana How
2007-05-09 17:18 ` J. Bruce Fields
2007-05-09 17:26 ` Petr Baudis
2007-05-09 17:29 ` J. Bruce Fields
2007-05-09 17:39 ` Daniel Barkalow
2007-05-09 18:16 ` Linus Torvalds
2007-05-10 0:31 ` Junio C Hamano
2007-05-10 2:27 ` Steven Grimm
2007-05-10 2:39 ` Linus Torvalds
2007-05-10 8:00 ` Matthieu Moy
2007-05-10 22:06 ` Shawn O. Pearce
2007-05-10 22:51 ` Petr Baudis
2007-05-08 11:07 ` Johannes Schindelin
2007-05-15 1:00 ` David Kågedal
2007-05-15 23:27 ` Johannes Schindelin
2007-05-09 17:18 ` Matthieu Moy
2007-05-07 11:40 ` Guilhem Bonnefille
2007-05-07 12:16 ` Karl Hasselström
2007-05-07 12:36 ` David Kastrup
2007-05-07 12:55 ` Johannes Schindelin
2007-05-07 19:31 ` Junio C Hamano
2007-05-09 13:14 ` Petr Baudis
2007-05-07 22:23 ` Daniel Barkalow [this message]
2007-05-15 0:57 ` David Kågedal
2007-05-15 8:29 ` Karl Hasselström
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.0705071616310.18541@iabervon.org \
--to=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=guilhem.bonnefille@gmail.com \
/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).