Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add --glob=<glob-pattern> option to rev-parse and everything that accepts its options. This option matches all refs that match given shell glob pattern (complete with some DWIM logic). Example: 'git log --branches --not --glob=remotes/origin' To show what you have that origin doesn't. Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Showing
9 changed files
with
223 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
#!/bin/sh | ||
|
||
test_description='rev-list/rev-parse --glob' | ||
|
||
. ./test-lib.sh | ||
|
||
commit () { | ||
test_tick && | ||
echo $1 > foo && | ||
git add foo && | ||
git commit -m "$1" | ||
} | ||
|
||
compare () { | ||
# Split arguments on whitespace. | ||
git $1 $2 >expected && | ||
git $1 $3 >actual && | ||
test_cmp expected actual | ||
} | ||
|
||
test_expect_success 'setup' ' | ||
commit master && | ||
git checkout -b subspace/one master && | ||
commit one && | ||
git checkout -b subspace/two master && | ||
commit two && | ||
git checkout -b subspace-x master && | ||
commit subspace-x && | ||
git checkout -b other/three master && | ||
commit three && | ||
git checkout -b someref master && | ||
commit some && | ||
git checkout master && | ||
commit master2 | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=refs/heads/subspace/*' ' | ||
compare rev-parse "subspace/one subspace/two" "--glob=refs/heads/subspace/*" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=heads/subspace/*' ' | ||
compare rev-parse "subspace/one subspace/two" "--glob=heads/subspace/*" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=refs/heads/subspace/' ' | ||
compare rev-parse "subspace/one subspace/two" "--glob=refs/heads/subspace/" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=heads/subspace/' ' | ||
compare rev-parse "subspace/one subspace/two" "--glob=heads/subspace/" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=heads/subspace' ' | ||
compare rev-parse "subspace/one subspace/two" "--glob=heads/subspace" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=heads/subspace/* --glob=heads/other/*' ' | ||
compare rev-parse "subspace/one subspace/two other/three" "--glob=heads/subspace/* --glob=heads/other/*" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=heads/someref/* master' ' | ||
compare rev-parse "master" "--glob=heads/someref/* master" | ||
' | ||
|
||
test_expect_success 'rev-parse --glob=heads/*' ' | ||
compare rev-parse "master other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=refs/heads/subspace/*' ' | ||
compare rev-list "subspace/one subspace/two" "--glob=refs/heads/subspace/*" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=heads/subspace/*' ' | ||
compare rev-list "subspace/one subspace/two" "--glob=heads/subspace/*" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=refs/heads/subspace/' ' | ||
compare rev-list "subspace/one subspace/two" "--glob=refs/heads/subspace/" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=heads/subspace/' ' | ||
compare rev-list "subspace/one subspace/two" "--glob=heads/subspace/" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=heads/subspace' ' | ||
compare rev-list "subspace/one subspace/two" "--glob=heads/subspace" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=heads/someref/* master' ' | ||
compare rev-list "master" "--glob=heads/someref/* master" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=heads/subspace/* --glob=heads/other/*' ' | ||
compare rev-list "subspace/one subspace/two other/three" "--glob=heads/subspace/* --glob=heads/other/*" | ||
' | ||
|
||
test_expect_success 'rev-list --glob=heads/*' ' | ||
compare rev-list "master other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*" | ||
' | ||
|
||
test_done |