Re: Bad git log behavior with multiple glob path arguments
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Mar 5, 2014, 10:01 UTC
- Message-ID
- <CACsJy8A28x5m1SLV-R=QrFniPXUbV+x9N27GA-j+Ut_oe_6oGQ@mail.gmail.com>
- In-Reply-To
- <CA+eQo_21j=GzsvWAjxzr+aFYcPcnnyozySOo0m9bO-xJq_6a9A@mail.gmail.com>
On Wed, Mar 5, 2014 at 12:56 PM, Jeremy Nickurak <jeremy@nickurak.ca> wrote:
> git log seems to understand globs in the last path argument, and the > last path argument only. I didn't see anything in the git log man page > expressly saying this was to be expected, but it does seem like it > ought to work for all the arguments or none of them.
What version did you use? We have a fix in the same area, e4ddb05 (tree_entry_interesting: match against all pathspecs - 2014-01-25), and it's in v1.8.5.5 and v1.9.0
Show 7 quoted lines
> Here's a little shell script I ended up using to convince myself I > wasn't going crazy. I'd expect the same output for all of the git log > test, since they all specify (either with globs or not) all the files > added to the repository. Alternatively, if globs aren't expected to > work, I'd at least expect all the glob tests to return nothing. > > Note that glob matching doesn't seem to occur unless '--' is included.
do you mean "git log" does not run at all and complains about disambiguation, or it runs but nothing is filtered?
Show 83 quoted lines
> I'm not exactly clear on why that is. > > #!/bin/sh > > TESTREPO="$(pwd)/bad-glob-test-repo" > > rm -rf "$TESTREPO" > > echo "Running tests in $TESTREPO" > mkdir "$TESTREPO" > cd "$TESTREPO" > mkdir subdira > mkdir subdirb > mkdir subdirc > > git init > echo a > subdira/file.txt > echo b > subdirb/file.txt > echo c > subdirc/file.txt > > git add subdira/file.txt > git commit -m 'a' > > git add subdirb/file.txt > git commit -m 'b' > > git add subdirc/file.txt > git commit -m 'c' > > echo Glob Test 1: git log --oneline -- 'subdira/*.txt' 'subdirb/*.txt' > 'subdirc/*.txt' > git log --oneline -- 'subdira/*.txt' 'subdirb/*.txt' 'subdirc/*.txt' > > echo Glob Test 2: git log --oneline -- 'subdira/*.txt' 'subdirc/*.txt' > 'subdirb/*.txt' > git log --oneline -- 'subdira/*.txt' 'subdirc/*.txt' 'subdirb/*.txt' > > echo Glob Test 3: git log --oneline -- 'subdirb/*.txt' 'subdira/*.txt' > 'subdirc/*.txt' > git log --oneline -- 'subdirb/*.txt' 'subdira/*.txt' 'subdirc/*.txt' > > echo Glob Test 4: git log --oneline -- 'subdirb/*.txt' 'subdirc/*.txt' > 'subdira/*.txt' > git log --oneline -- 'subdirb/*.txt' 'subdirc/*.txt' 'subdira/*.txt' > > echo Glob Test 5: git log --oneline -- 'subdirc/*.txt' 'subdira/*.txt' > 'subdirb/*.txt' > git log --oneline -- 'subdirc/*.txt' 'subdira/*.txt' 'subdirb/*.txt' > > echo Glob Test 6: git log --oneline -- 'subdirc/*.txt' 'subdirb/*.txt' > 'subdira/*.txt' > git log --oneline -- 'subdirc/*.txt' 'subdirb/*.txt' 'subdira/*.txt' > > echo Explicit Test 1: git log --oneline -- 'subdira/file.txt' > 'subdirb/file.txt' 'subdirc/file.txt' > git log --oneline -- 'subdira/file.txt' 'subdirb/file.txt' 'subdirc/file.txt' > > echo Explicit Test 2: git log --oneline -- 'subdira/file.txt' > 'subdirc/file.txt' 'subdirb/file.txt' > git log --oneline -- 'subdira/file.txt' 'subdirc/file.txt' 'subdirb/file.txt' > > echo Explicit Test 3: git log --oneline -- 'subdirb/file.txt' > 'subdira/file.txt' 'subdirc/file.txt' > git log --oneline -- 'subdirb/file.txt' 'subdira/file.txt' 'subdirc/file.txt' > > echo Explicit Test 4: git log --oneline -- 'subdirb/file.txt' > 'subdirc/file.txt' 'subdira/file.txt' > git log --oneline -- 'subdirb/file.txt' 'subdirc/file.txt' 'subdira/file.txt' > > echo Explicit Test 5: git log --oneline -- 'subdirc/file.txt' > 'subdira/file.txt' 'subdirb/file.txt' > git log --oneline -- 'subdirc/file.txt' 'subdira/file.txt' 'subdirb/file.txt' > > echo Explicit Test 6: git log --oneline -- 'subdirc/file.txt' > 'subdirb/file.txt' 'subdira/file.txt' > git log --oneline -- 'subdirc/file.txt' 'subdirb/file.txt' 'subdira/file.txt' > > -- > Jeremy Nickurak -= Email/XMPP: -= jeremy@nickurak.ca =- > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
-- Duy