From: Andreas Ericsson <ae@op5.se>
To: Nicolas Pitre <nico@cam.org>
Cc: Junio C Hamano <junkio@cox.net>,
Linus Torvalds <torvalds@osdl.org>,
Carl Worth <cworth@cworth.org>, Theodore Tso <tytso@mit.edu>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
git@vger.kernel.org
Subject: Re: [PATCH 0/2] Making "git commit" to mean "git commit -a".
Date: Fri, 01 Dec 2006 09:59:00 +0100 [thread overview]
Message-ID: <456FEED4.7030400@op5.se> (raw)
In-Reply-To: <Pine.LNX.4.64.0611301624430.9647@xanadu.home>
Nicolas Pitre wrote:
> On Thu, 30 Nov 2006, Junio C Hamano wrote:
>
>> Nicolas Pitre <nico@cam.org> writes:
>>
>>> ... But let me repeat my last question:
>>>
>>> Would it make sense for "git add" to do the same as "git update-index"
>>> on already tracked files? Given the explanation above this would make
>>> 100% sense to me.
>> I think this makes sense and what we did in the original "git
>> add".
>
> Wonderful! We might be converging to something then.
>
> Because, conceptually, it then becomes much easier to tell newbies about
> the index as follows (this could be pasted in a tutorial somewhere):
>
> Contrary to other SCMs, with GIT you have to explicitly "add" all
> the changes you want to commit together. This can be done in a few
> different ways:
>
> 1) By using "git add <file_spec...>"
>
> This can be performed multiple times before a commit. Note that
> this is not only for adding new files. Even modified files must be
> added to the set of changes about to be committed. The "git
> status" command gives you a summary of what is included so far for
> the commit. When done you should use the "git commit" command to
> make it real.
>
> Note: don't forget to "add" a file again if you modified it after
> the first "add" and before "commit". Otherwise only the previous
> "added" state of that file will be committed.
>
"This is because git tracks content, so what you're really 'add'ing to
the commit is the *content* of the file in the state it is in when you
'add' it."
> 2) By using "git commit -a" directly
>
> This is a quick way to automatically "add" all modified files to
.. "add" all tracked and modified files to ...
> the set of changes and perform the actual commit without having to
> separately "add" them. This will not "add" new files -- those
> files still have to be added explicitly before performing a commit.
>
> Here's a twist. If you do "git commit <file1> <file2> ..." then
> only the changes belonging to those explicitly specified files will
> be committed, entirely bypassing the current "added" changes. Those
> "added" changes will still remain available for a subsequent commit.
>
> There is a twist about that twist: if you do "git commit -i <file>..."
> then the commit will consider changes to those specified files
> _including_ all "added" changes so far.
>
> But for instance it is best to only remember "git add" + "git
> commit" and/or "git commit -a".
>
> Doesn't it sounds nice? The index is being introduced up front without
> even mentioning it, and I think the above should be fairly palatable to
> newbies as well. Would only lack some enhancements to the commit
> template and the "nothing to commit" message so the user is cued about
> the fact that "current changeset is empty -- don't forget to 'git add'
> modified files, or use 'git commit -a'".
>
> What do you think?
>
me likes
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
next prev parent reply other threads:[~2006-12-01 8:59 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-27 21:31 [PATCH/RFC] "init-db" can really be just "init" Nicolas Pitre
2006-11-27 22:05 ` Junio C Hamano
2006-11-27 22:40 ` Hyphens and hiding core commands (was: "init-db" can really be just "init") Carl Worth
2006-11-27 23:59 ` Hyphens and hiding core commands Junio C Hamano
2006-11-28 0:23 ` Carl Worth
2006-11-28 0:42 ` Junio C Hamano
2006-11-28 1:35 ` Carl Worth
2006-11-28 2:18 ` Junio C Hamano
2006-11-28 5:40 ` Theodore Tso
2006-11-28 9:15 ` Junio C Hamano
2006-11-29 7:14 ` Michael S. Tsirkin
2006-11-28 6:59 ` [PATCH 0/2] Making "git commit" to mean "git commit -a" Junio C Hamano
2006-11-28 10:26 ` Andy Whitcroft
2006-11-28 13:00 ` Josef Weidendorfer
2006-11-28 13:23 ` Jakub Narebski
2006-11-28 18:18 ` Carl Worth
2006-11-29 3:06 ` Junio C Hamano
2006-11-29 4:33 ` Nicolas Pitre
2006-11-29 7:44 ` Junio C Hamano
2006-11-29 18:08 ` Nicolas Pitre
2006-11-29 18:18 ` Jakub Narebski
2006-11-29 19:12 ` Steven Grimm
2006-11-29 19:30 ` Jakub Narebski
2006-11-29 18:53 ` Junio C Hamano
2006-11-29 19:09 ` Steven Grimm
2006-11-29 20:01 ` Johannes Schindelin
2006-11-29 20:39 ` Junio C Hamano
2006-11-29 21:50 ` xdl_merge(), was " Johannes Schindelin
2006-11-30 5:24 ` Seth Falcon
2006-11-29 23:37 ` Carl Worth
2006-11-29 23:53 ` Johannes Schindelin
2006-11-30 1:03 ` Junio C Hamano
2006-11-30 1:22 ` Junio C Hamano
2006-11-30 1:58 ` Steven Grimm
2006-11-30 2:04 ` Sam Vilain
2006-11-30 2:12 ` Junio C Hamano
2006-11-30 2:11 ` Johannes Schindelin
2006-11-30 3:10 ` Linus Torvalds
2006-11-30 10:27 ` Johannes Schindelin
2006-11-30 11:09 ` Andreas Ericsson
2006-11-30 15:58 ` Linus Torvalds
2006-11-30 16:40 ` Theodore Tso
2006-11-30 17:13 ` Linus Torvalds
2006-11-30 17:37 ` Nicolas Pitre
2006-11-30 18:38 ` Carl Worth
2006-11-30 18:47 ` Jakub Narebski
2006-11-30 19:04 ` Carl Worth
2006-12-01 8:44 ` Andreas Ericsson
2006-12-01 9:31 ` Han-Wen Nienhuys
2006-11-30 18:51 ` Carl Worth
2006-11-30 19:55 ` Linus Torvalds
2006-11-30 20:47 ` Nicolas Pitre
2006-11-30 21:03 ` Linus Torvalds
2006-11-30 21:16 ` Jakub Narebski
2006-11-30 21:37 ` Carl Worth
2006-11-30 21:41 ` Michael K. Edwards
2006-11-30 21:50 ` Carl Worth
2006-11-30 21:58 ` Jakub Narebski
2006-11-30 22:26 ` Johannes Schindelin
2006-11-30 22:07 ` Josef Weidendorfer
2006-11-30 22:25 ` Johannes Schindelin
2006-11-30 22:37 ` Nicolas Pitre
2006-11-30 22:31 ` Nicolas Pitre
2006-11-30 22:47 ` Junio C Hamano
2006-12-01 8:34 ` Andy Parkins
2006-12-01 23:33 ` Alan Chandler
2006-11-30 21:19 ` Junio C Hamano
2006-11-30 22:21 ` Nicolas Pitre
2006-11-30 23:02 ` Junio C Hamano
2006-11-30 23:40 ` Linus Torvalds
2006-12-01 0:13 ` Carl Worth
2006-12-01 0:21 ` Linus Torvalds
2006-12-01 1:10 ` Carl Worth
2006-12-01 1:32 ` Linus Torvalds
2006-12-01 2:08 ` Carl Worth
2006-12-01 2:44 ` Linus Torvalds
2006-12-01 3:40 ` Carl Worth
2006-12-01 3:52 ` Michael K. Edwards
2006-12-01 0:24 ` Junio C Hamano
[not found] ` <Pine.LNX.4. 64.0611301520370.3513@woody.osdl.org>
2006-12-01 0:06 ` Jakub Narebski
2006-12-01 1:20 ` Nicolas Pitre
2006-12-01 8:59 ` Andreas Ericsson [this message]
2006-12-01 23:36 ` Alan Chandler
[not found] ` <7vac28h898.fsf@assigned-by-dhcp.cox.net>
2006-11-30 22:46 ` Nicolas Pitre
2006-11-30 22:55 ` Johannes Schindelin
2006-11-30 21:33 ` Robert Shearman
2006-11-30 21:41 ` Jakub Narebski
2006-12-01 18:27 ` Shawn Pearce
2006-12-02 7:48 ` Marco Costalba
2006-11-30 18:09 ` Carl Worth
2006-11-30 18:33 ` Linus Torvalds
2006-11-30 0:52 ` Daniel Barkalow
2006-11-30 12:23 ` Salikh Zakirov
2006-11-30 13:16 ` Jakub Narebski
2006-11-30 15:15 ` Seth Falcon
2006-11-30 15:50 ` Nguyen Thai Ngoc Duy
2006-11-30 16:03 ` Seth Falcon
2006-11-30 16:05 ` Jakub Narebski
2006-11-30 17:13 ` Andy Whitcroft
2006-11-28 7:00 ` [PATCH 1/2] git-commit: prepare to make '-a' behaviour the default Junio C Hamano
2006-11-28 7:00 ` [PATCH 2/2] git-commit: make '-a' " Junio C Hamano
2006-11-28 9:09 ` Jakub Narebski
2006-11-27 23:36 ` [PATCH/RFC] "init-db" can really be just "init" Johannes Schindelin
2006-11-28 10:45 ` Han-Wen Nienhuys
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=456FEED4.7030400@op5.se \
--to=ae@op5.se \
--cc=Johannes.Schindelin@gmx.de \
--cc=cworth@cworth.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=nico@cam.org \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
/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).