Re: Do "git add" as a builtin
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 18, 2006, 08:13 UTC
- Message-ID
- <7v64k3698l.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0605171321020.10823@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
Show 8 quoted lines
> On Wed, 17 May 2006, Junio C Hamano wrote: >> >> By "not seeing the point", do you mean you do not agree with >> what bba319b5 and 45e48120 tried to do to help users? > > Naah, I just didn't see why, and didn't bother to go exploring. > > How about this patch on top of the previous one?
Well, not good as-is. This makes it barf on this sequence:
$ rm -f junk
$ cd junk
$ git init-db
$ date >frotz
$ mkdir nitfol
$ date >nitfol/rezrov
$ git add . ;# OK up to this point - added everything. $ git add . ;# This is bogus because...
fatal: pathspec '' did not match any files
$ git add nitfol ;# ...this does not barf.I admit I did not spot it when I read the code, but this part gets an empty string for 'match' when pathspec is '.'.
Show 5 quoted lines
> + /* Existing file? We must have ignored it */
> + match = pathspec[i];
> + if (!lstat(match, &st))
> + continue;
> + die("pathspec '%s' did not match any files", match);That's why '.' barfs but nitfol doesn't.