diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-05-04 02:29:25 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-05-04 02:29:25 +0400 |
commit | 66bca3f7229a475bae4f37c3b3e93dd5ae479b5d (patch) | |
tree | 4fef9358634ee243f20d72d5bdb4e1bb8eec5d1e /t | |
parent | beac07eab9d32a62539ba6f2091e6574b67a638f (diff) | |
parent | 0997adaa74dfe07cee3180c3a6fd91949fb4e3d8 (diff) |
Merge branch 'mb/fetch-call-a-non-branch-a-ref' into maint
The report from "git fetch" said "new branch" even for a non branch ref.
By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
fetch: describe new refs based on where it came from
fetch: Give remote_ref to update_local_ref() as well
Diffstat (limited to 't')
-rwxr-xr-x | t/t5510-fetch.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 308c02ea75..d7a19a1829 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -162,6 +162,36 @@ test_expect_success 'fetch following tags' ' ' +test_expect_success 'fetch uses remote ref names to describe new refs' ' + cd "$D" && + git init descriptive && + ( + cd descriptive && + git config remote.o.url .. && + git config remote.o.fetch "refs/heads/*:refs/crazyheads/*" && + git config --add remote.o.fetch "refs/others/*:refs/heads/*" && + git fetch o + ) && + git tag -a -m "Descriptive tag" descriptive-tag && + git branch descriptive-branch && + git checkout descriptive-branch && + echo "Nuts" >crazy && + git add crazy && + git commit -a -m "descriptive commit" && + git update-ref refs/others/crazy HEAD && + ( + cd descriptive && + git fetch o 2>actual && + grep " -> refs/crazyheads/descriptive-branch$" actual | + test_i18ngrep "new branch" && + grep " -> descriptive-tag$" actual | + test_i18ngrep "new tag" && + grep " -> crazy$" actual | + test_i18ngrep "new ref" + ) && + git checkout master +' + test_expect_success 'fetch must not resolve short tag name' ' cd "$D" && |