From: Michael Haggerty Date: Wed, 23 Oct 2013 15:50:36 +0000 (+0200) Subject: t5510: check that "git fetch --prune --tags" does not prune branches X-Git-Tag: v1.9-rc0~79^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=68a304d5fed6657e452e8c1571fe9ca93d0a272a;p=thirdparty%2Fgit.git 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 Signed-off-by: Junio C Hamano --- 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 '