diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2013-10-23 17:50:36 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-10-24 13:27:46 -0700 |
commit | 68a304d5fed6657e452e8c1571fe9ca93d0a272a (patch) | |
tree | b76912784f616f0aabf1b721fcad79cf4b0cbbf8 | |
parent | d0d06e892a1a7bc6a1dfd76374da09f0170cae2c (diff) | |
download | git-68a304d5fed6657e452e8c1571fe9ca93d0a272a.tar.gz |
t5510: check that "git fetch --prune --tags" does not prune branches
"git fetch --prune --tags" is currently interpreted as follows:
* "--tags" is equivalent to specifying a refspec
"refs/tags/*:refs/tags/*", and supersedes any default refspecs
configured via remote.$REMOTE.fetch.
* "--prune" only operates on the refspecs being fetched.
Therefore, "git fetch --prune --tags" prunes tags in refs/tags/* but
does not fetch or prune other references. The fact that this command
does not prune references outside of refs/tags/* was previously
untested. So add a test that verifies the status quo.
However, the status quo is surprising, so it will be changed later in
this patch series.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t5510-fetch.sh | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 08d8dbb917..8328be1347 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -118,9 +118,13 @@ test_expect_success 'fetch --prune --tags does not delete the remote-tracking br git clone . prune-tags && cd prune-tags && git tag sometag master && + # Create what looks like a remote-tracking branch from an earlier + # fetch that has since been deleted from the remote: + git update-ref refs/remotes/origin/fake-remote master && git fetch --prune --tags origin && git rev-parse origin/master && + git rev-parse origin/fake-remote && test_must_fail git rev-parse sometag ' |