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

Re: git add --patch newfile doesn't add newfile to cache ?

From
Jeff King <peff@peff.net>
Date
Oct 22, 2008, 13:29 UTC
Message-ID
<20081022132946.GB17393@coredump.intra.peff.net>
In-Reply-To
<20081022131232.GL3988@gmx.de>
On Wed, Oct 22, 2008 at 03:12:32PM +0200, Marc Weber wrote:
Show 16 quoted lines
> >  sub patch_update_cmd {
> > +	my @new = list_untracked();
> > +	if (@new) {
> > +		system(qw(git add -N), @new)
> > +			and die "git add reported failure";
> > +	}
> > +
>  
> 
> I've tried the patch. However I'm not fully satisified.
> I often use --patch to have another second look at each change to be
> committed. Your patch adds new files to the cache silently without
> giving the user the change to omit or edit the patch. But exatly that's
> the reason I'm using --patch. So maybe I can work on this in some days..
> Maybe I've also injected those lines into the wrong git version 
> (1.6.0.2.GIT)

Yes, you need to use the current 'master' branch for the "-N" feature. The point of "-N" is to say "this is a file I want to track, but don't add any contents yet." So it does your part 1:

Show 5 quoted lines
>       1) when using git add --patch untracked-file the user should be
>          given the default patch view (only containing + lines)
>          so that he can use edit to only commit parts of the file in the
>          usual way. (I guess this is similar to having used git add -N
>          before, I haven't tried yet)
But not your part 2:
>       2) if he wants to skip the entire patch / file nothing should be
>          added to the index.

If you add _no_ contents, you still end up with the "this is a file I want to track" part, but with no contents. And I agree it should stage nothing, which is why this is an unsatisfactory solution (and why I didn't clean up the patch and send it to Junio for inclusion).

-Peff
Previous: Marc Weber
Message 4 of 4 in “git add --patch newfile doesn't add newfile to cache ?”
  1. Marc WeberOct 20, 2008
  2. Jeff KingOct 20, 2008
  3. Marc WeberOct 22, 2008
  4. Jeff KingOct 22, 2008

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.