From: Wincent Colaiuta Date: Sat, 24 Nov 2007 21:50:10 GMT Subject: Re: [PATCH 2/3] Move pathspec validation into interactive_add Message-ID: <4D81F973-8951-458A-958D-E24C826CA548@wincent.com> In-Reply-To: <7vir3rqwts.fsf@gitster.siamese.dyndns.org> El 24/11/2007, a las 20:15, Junio C Hamano escribió: > Wincent Colaiuta writes: > >> Instead of throwing away the return status of pathspec_match() I am >> keeping it, and any successful match breaks out of the loop early. > > Leaving it early before checking if all the given pathspecs are > used defeats the whole "error-unmatch" business, doesn't it? No, I probably didn't explain that clearly enough... If you look at the patch, I break out of the *inner* loop the first time a particular pattern matches. Then I move on to the next pattern, and any single invalid pattern will be enough to provide the "error-unmatch" indication. >> Another issue is that simple shell shortcuts don't work, so something >> as simple as "git-add -i ." will report: >> >> error: pathspec '.' did not match any file(s) known to git. > > The sample code snippet I sent you probably is not doing > get_pathspec() before using the "pattern" thing. And I suspect > that ... > >> Likewise it's not possible to validate pathspecs like "\*.sh" either, > > ... may be related to that. Ok, thanks for the pointer. Didn't know what the get_pathspec() function was for, but will have a play with it. Cheers, Wincent