git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] docs: give more hints about how "add -e" works

From
Jeff King <peff@peff.net>
Date
Nov 9, 2010, 03:03 UTC
Message-ID
<20101109030358.GA17747@sigill.intra.peff.net>
In-Reply-To
<7vlj53nwjl.fsf@alter.siamese.dyndns.org>
On Mon, Nov 08, 2010 at 04:57:34PM -0800, Junio C Hamano wrote:
Show 17 quoted lines
> The new text indeed looks much clearer, except for one part I am not
> absolutely sure...
> 
> > +new content::
> > +
> > +You may also add new content that does not exist in the patch. Simply
> > +add new lines, each starting with "{plus}".
> > +
> > +You can also perform more complex operations, such as modifying the
> > +content to be staged by a "{plus}" line. However, note that this impacts
> > +_only_ the index; the working tree file will remain unchanged, and will
> > +appear to "undo" the content you have staged. Such operations should be
> > +performed only if you know what you are doing.
> 
> This "However, note that" part should apply not only to newly introduced
> {plus} lines but also to {plus} lines whose change were edited (lines from
> "added content" and from post-image half of "modified content"), no?

Right. The final paragraph you quoted is not part of the list, and it looks better when rendered by asciidoc, as it's indented differently. So I think some of the confusion is from the source formatting. But...

Show 7 quoted lines
> I tried to be careless when reading the two paragraphs above, and managed
> to get an incorrect impression that the caveat applies only to "more
> complex operations", even though it actually applies not just the previous
> "new content" but also "added/modified" content.
> 
> Thinking about it a bit more, it is worse than that.  Turning " " into "-"
> has the same "getting reverted" issue, no?

Yeah, some of the operations described in the upper list are actually "more complex" in the sense of looking like reverts. Basically any time you are _introducing_ a change during the diff edit rather than simply selecting or not-selecting changes that exist in the working tree, you are going to get confusing results. So let me take one more stab at it, and I think the correct breakdown is:

  1. stuff you might want to do: staging or not staging added, removed,
     and modified lines
  2. stuff you might want to do if you're insane: marking context lines
     for removal, adding new content, changing content on existing add
     lines
  3. stuff that you never want to do, because it makes the patch
     impossible to apply: deleting, adding, or changing context or
     removal lines
I'll try to do a patch later tonight.
-Peff
Previous: Junio C HamanoNext: Jeff King
Message 8 of 10 in “docs: give more hints about how "add -e" works”
  1. docs: give more hints about how "add -e" worksJeff King, Oct 21, 2010
  2. Jonathan NiederOct 21, 2010
  3. Junio C HamanoOct 21, 2010
  4. Jeff KingOct 22, 2010
  5. Junio C HamanoOct 22, 2010
  6. Jeff KingNov 8, 2010
  7. Junio C HamanoNov 9, 2010
  8. Jeff KingNov 9, 2010
  9. Jeff KingNov 9, 2010
  10. Miklos VajnaOct 24, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.