Re: [PATCH] git-add: introduce --edit (to edit the diff vs. the index)
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Apr 13, 2009, 16:21 UTC
- Message-ID
- <alpine.DEB.1.00.0904131820260.10279@pacific.mpi-cbg.de>
- In-Reply-To
- <46dff0320904101811g3b5dcc8ag195d40005b181c52@mail.gmail.com>
Hi,
On Sat, 11 Apr 2009, Ping Yin wrote:
Show 49 quoted lines
> On Sat, Apr 11, 2009 at 2:10 AM, Johannes Schindelin > <Johannes.Schindelin@gmx.de> wrote: > > Hi, > > > > On Fri, 10 Apr 2009, Ping Yin wrote: > > > >> On Thu, Apr 9, 2009 at 10:00 AM, Ping Yin <pkufranky@gmail.com> wrote: > >> > On Thu, Apr 9, 2009 at 5:30 AM, Johannes Schindelin > >> > <johannes.schindelin@gmx.de> wrote: > >> >> With "git add -e [<files>]", Git will fire up an editor with the > >> >> current diff relative to the index (i.e. what you would get with > >> >> "git diff [<files>]"). > >> >> > >> >> 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 <johannes.schindelin@gmx.de> > >> >> --- > >> >> > >> >> 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