From: Johannes Schindelin Date: Mon, 13 Apr 2009 16:21:19 GMT Subject: Re: [PATCH] git-add: introduce --edit (to edit the diff vs. the index) Message-ID: In-Reply-To: <46dff0320904101811g3b5dcc8ag195d40005b181c52@mail.gmail.com> Hi, On Sat, 11 Apr 2009, Ping Yin wrote: > On Sat, Apr 11, 2009 at 2:10 AM, Johannes Schindelin > wrote: > > Hi, > > > > On Fri, 10 Apr 2009, Ping Yin wrote: > > > >> On Thu, Apr 9, 2009 at 10:00 AM, Ping Yin wrote: > >> > On Thu, Apr 9, 2009 at 5:30 AM, Johannes Schindelin > >> > wrote: > >> >> With "git add -e []", Git will fire up an editor with the > >> >> current diff relative to the index (i.e. what you would get with > >> >> "git diff []"). > >> >> > >> >> Now you can edit the patch as much as you like, including > >> >> adding/removing lines, editing the text, whatever.  Make sure, > >> >> though, that the first character of the hunk lines is still a > >> >> space, a plus or a minus. > >> >> > >> >> After you closed the editor, Git will adjust the line counts of > >> >> the hunks if necessary, thanks to the --recount option of apply, > >> >> and commit the patch.  Except if you deleted everything, in which > >> >> case nothing happens (for obvious reasons). > >> >> > >> >> Signed-off-by: Johannes Schindelin > >> >> --- > >> >> > >> >>     I actually promised myself not to resend this patch, but a    > >> >>   certain guy who has a hat now asked for it. > >> >> > >> > > >> > I am that guy :-). Thanks. Sometimes "add -e" is more useful than > >> > "add -p" since i can see the full context when editing the patch. > >> > However, sometimes the ability to edit the index directly is even > >> > more useful. For example, if it's a big change (or rewritten), it > >> > is hard to edit the patch instead of the index (in diff mode with > >> > the worktree file side by side). I even encounter a case that i > >> > can't beat the patch into a shape i want when using 'add -p'  ( it > >> > will fail to apply) > >> > > >> > >> How about this? > >>  'add --edit=patch' to edit the patch and "add --edit=index" to edit the index > > > > As others have mentioned, there _is_ a reason we have a working > > directory. Please understand this as a "I do not like the idea of > > editing the index directly at all". > > When doing "add --edit" to edit the patch, do you work on the working > directory? I think they are just different ways to change the index? Of course I do "git stash save --keep-index" after staging those changes. Ciao, Dscho