Thread (12 messages) flat view 12 messages, 4 authors, 2016-06-15

Re: git add -u nonexistent-file

From: Chris Packham <hidden>
Date: 2016-06-15 22:48:12

On Mon, Feb 8, 2010 at 7:39 PM, Jeff King [off-list ref] wrote:
On Mon, Feb 08, 2010 at 02:12:41PM -0500, Chris Packham wrote:
quoted
quoted
$ git add -u nonexistent-file
$ echo $?
0
[...]
It looks like in the case you've highlighted git is ignoring the extra
non-option parameters on the command line. I'll let other people argue
whether this is by design or omission.
It's not ignoring the extra parameters. They limit the scope of the
operation. So:

 $ git init
 $ touch file && mkdir subdir && touch subdir/file
 $ git add . && git commit -m one
 $ echo changes >file && echo changes >subdir/file
 $ git add -u subdir
 $ git status
 # On branch master
 # Changes to be committed:
 #       modified:   subdir/file
 #
 # Changed but not updated:
 #       modified:   file
 #
Yep my bad. I tried the non-existent case but not the "normal" case.
Re reading the man page it makes sense it just happens that the
<filepattern> part scrolls off the top when I get to the -u part.
That being said, you noticed that the regular add case notes unused
pathspecs on the command line:

 $ git add bogus
 fatal: pathspec 'bogus' did not match any files

We could probably do the same here.
I think so. By not having this error it led me to think "OK it just
throws away the pathspec". Gabor rightly thought that it does use it
so shouldn't it be giving an error.

If I get brave enough I could attempt a patch but I wouldn't let that
dissuade anyone that actually knows what they're doing from jumping in
with a patch.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help