aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-03-10 08:45:58 -0700
committerJunio C Hamano <gitster@pobox.com>2025-03-10 08:45:58 -0700
commit5d55ad01f500ddbb5b8d9c0fcf5123f63ff44ccd (patch)
tree7e095adcb925f90cb466ab5eeb9f5f6138c38c02
parentMerge branch 'js/win-2.49-build-fixes' (diff)
parentfetch: fix following tags when fetching specific OID (diff)
downloadgit-5d55ad01f500ddbb5b8d9c0fcf5123f63ff44ccd.tar.gz
git-5d55ad01f500ddbb5b8d9c0fcf5123f63ff44ccd.zip
Merge branch 'tb/fetch-follow-tags-fix'
* tb/fetch-follow-tags-fix: fetch: fix following tags when fetching specific OID
Diffstat (limited to '')
-rw-r--r--builtin/fetch.c4
-rwxr-xr-xt/t5503-tagfollow.sh14
2 files changed, 17 insertions, 1 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 1c740d5aac..95fd0018b9 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1777,7 +1777,9 @@ static int do_fetch(struct transport *transport,
if (uses_remote_tracking(transport, rs)) {
must_list_refs = 1;
- strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
+ if (transport_ls_refs_options.ref_prefixes.nr)
+ strvec_push(&transport_ls_refs_options.ref_prefixes,
+ "HEAD");
}
if (must_list_refs) {
diff --git a/t/t5503-tagfollow.sh b/t/t5503-tagfollow.sh
index 195fc64dd4..845ca43ea0 100755
--- a/t/t5503-tagfollow.sh
+++ b/t/t5503-tagfollow.sh
@@ -160,4 +160,18 @@ test_expect_success 'new clone fetch main and tags' '
test_cmp expect actual
'
+test_expect_success 'fetch specific OID with tag following' '
+ git init --bare clone3.git &&
+ (
+ cd clone3.git &&
+ git remote add origin .. &&
+ git fetch origin $B:refs/heads/main &&
+
+ git -C .. for-each-ref >expect &&
+ git for-each-ref >actual &&
+
+ test_cmp expect actual
+ )
+'
+
test_done