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

Re: git add -p with new file

From
Jeff King <peff@peff.net>
Date
Dec 13, 2016, 18:56 UTC
Message-ID
<20161213185653.ys3ig377zhmblncl@sigill.intra.peff.net>
In-Reply-To
<xmqq7f734qe0.fsf@gitster.mtv.corp.google.com>
On Tue, Dec 13, 2016 at 10:48:07AM -0800, Junio C Hamano wrote:
Show 11 quoted lines
> > I think the problem is just that "add -p" does not give the whole story
> > of what you might want to do before making a commit.
> 
> The same is shared by "git diff [HEAD]", by the way.  It is beyond
> me why people use "add -p", not "git diff [HEAD]", for the final
> sanity check before committing.  
> 
> Perhaps the latter is not advertised well enough?  "add -p" does not
> even page so it is not very useful way to check what is being added
> if you are adding a new file (unless you are doing a toy example to
> add a 7-line file).

I use "add -p" routinely for my final add-and-sanity-check, and it is certainly not because I don't know about "git diff". I think it's just nice to break it into bite-size chunks and sort them into "yes, OK" or "no, not yet" bins. The lack of paging isn't usually a problem, because this "add -p" is useful precisely when you have a lot of little changes spread across the code base.

I'd probably also run "git diff" if I wanted to look at something bigger. And I routinely use "git status", too, to see the full state of my tree.

To me they are all tools in the toolbox, and I can pick the one that works best in any given situation, or that I just feel like using that day.

Show 10 quoted lines
> >> Hm, "interactive.showUntracked" is a confusing name because "git add -i"
> >> (interactive) already handles untracked files.
> >
> > Sure, that was just meant for illustration. I agree there's probably a
> > better name.
> 
> "interactive.*" is not a sensible hierarchy to use, because things
> other than "add" can go interactive.
> 
> addPatch.showUntracked?

Hmm, I wonder if interactive.diffFilter was mis-named then. The description is written in such a way as to cover other possible interactive commands showing a diff.

It might be possible to do the same here: come up with a general option that _could_ cover new situations, but right now just applies here. Or maybe it would be too confusing.

TBH, I wasn't all that concerned with the name yet. Whoever writes the patch can figure it out, and _then_ we can all bikeshed it. :)

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 13 of 17 in “git add -p with new file”
  1. ArielDec 7, 2016
  2. Duy NguyenDec 7, 2016
  3. ArielDec 9, 2016
  4. Stephan BeyerDec 12, 2016
  5. Jeff KingDec 9, 2016
  6. ArielDec 9, 2016
  7. Jeff KingDec 10, 2016
  8. Junio C HamanoDec 10, 2016
  9. Jeff KingDec 11, 2016
  10. Stephan BeyerDec 12, 2016
  11. Jeff KingDec 13, 2016
  12. Junio C HamanoDec 13, 2016
  13. Jeff KingDec 13, 2016
  14. Junio C HamanoDec 13, 2016
  15. git add -p with unmerged files (was: git add -p with new file)Stephan Beyer, Dec 13, 2016
  16. Jeff KingDec 13, 2016
  17. Junio C HamanoDec 13, 2016

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.