From: Junio C Hamano <gitster@pobox.com>
To: Josh Steadmon <steadmon@google.com>
Cc: git@vger.kernel.org, bence@ferdinandy.com,
phillip.wood@dunelm.org.uk, l.s.r@web.de,
Johannes.Schindelin@gmx.de, karthik.188@gmail.com,
me@ttaylorr.com, ps@pks.im, jonathantanmy@google.com
Subject: Re* [PATCH] Fix `git fetch --tags` in repo with no configured remote
Date: Fri, 06 Dec 2024 17:07:09 +0900 [thread overview]
Message-ID: <xmqqfrn1xmj6.fsf@gitster.g> (raw)
In-Reply-To: <xmqqcyi5zdzb.fsf@gitster.g> (Junio C. Hamano's message of "Fri, 06 Dec 2024 12:28:56 +0900")
Junio C Hamano <gitster@pobox.com> writes:
> Stepping back a bit, do we even need to learn where HEAD points at
> in the remote, when we are not doing the "opportunistically set
> $REMOTE/HEAD"? Your example is "in repo with no configured remote",
> which by definition means that we do not use any refs/remotes/*/ ref
> hierarchy to keep track of the remote-tracking branches for the
> remote we are fetching from. There is no place we record what we
> learn by running ls-remote HEAD against them, so should we even push
> "HEAD" to the ls-remote prefixes in such a case?
>
> While this change may hide the breakage you saw in your set-up, we
> may be now asking to ls-remote HEAD even in cases we do not need to.
>
>> Fix this by adding HEAD to the ref_prefixes list prior to handling the
>> `--tags` flag, and removing the now obsolete check whether ref_prefixes
>> is empty or not.
>
> And if we unconditionally add HEAD even when we do not need to,
> especially with the loss of the ref-prefixes condition that was
> there in order to implement "learn refs/tags/* hierarchy only when
> we are doing the default fetch", wouldn't it mean we may learn
> refs/tags/* even when we do not have to?
In other words, what I think the "fix" should look like is more like
the attached. It seems to pass your test, as well as existing tests
Bence added and other tests about "git fetch".
One thing I am not happy about is the abstraction violation that is
needed to make the uses_remote_tracking() helper aware of the "use
the rs, the refspec given from the command line, or if it is empty,
use the configured 'fetch' refspec from the remote" rule, which is
primarily used by get_ref_map() that is much later called, but the
layering violation started when we started limiting the ls-remote
request with narrowing common prefixes, and it would take a larger
surgery to fix, I would think.
0000---- >8 ----
Subject: [PATCH] fetch: do not ask for HEAD unnecessarily
In 3f763ddf28 (fetch: set remote/HEAD if it does not exist,
2024-11-22), git-fetch learned to opportunistically set $REMOTE/HEAD
when fetching by always asking for remote HEAD, in the hope that it
will help setting refs/remotes/<name>/HEAD if missing.
But it is not needed to always ask for remote HEAD. When we are
fetching from a remote, for which we have remote-tracking branches,
we do need to know about HEAD. But if we are doing one-shot fetch,
e.g.,
$ git fetch --tags https://github.com/git/git
we do not even know what sub-hierarchy of refs/remotes/<remote>/
we need to adjust the remote HEAD for. There is no need to ask for
HEAD in such a case.
Incidentally, because the unconditional request to list "HEAD"
affected the number of ref-prefixes requested in the ls-remote
request, this affected how the requests for tags are added to the
same ls-remote request, breaking "git fetch --tags $URL" performed
against a URL that is not configured as a remote.
Make sure we ask to list "HEAD" from the remote only when we are
fetching with configured remote for which we use remote-tracking
branches.
Reported-by: Josh Steadmon <steadmon@google.com>
[jc: tests are also borrowed from Josh's patch]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
* Even though I borrowed some part of the commit log message from
Josh's version, it not clear to me how "*after* deciding" led to
whatever the observed breakage (which was not described in the
log message), in the following part.
Specifically, we now unconditionally add HEAD to the
ref_prefixes list, but we did this *after* deciding whether we
also need to explicitly request tags.
Bence's change asks "HEAD" after "if we are fetching something,
then also ask about refs/tags/" logic thought we are not fetching
anything (i.e. ref_prefixes.nr == 0 at that point). But before
Bence's series, the same refs/tags/ logic saw that (ref_prefix.nr
== 0), didn't it? So that does not sound like a sufficient
explanation on how the series regressed.
builtin/fetch.c | 20 +++++++++++++++++++-
t/t5510-fetch.sh | 17 +++++++++++++++++
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git c/builtin/fetch.c w/builtin/fetch.c
index a64de4485f..3eb6f3acc9 100644
--- c/builtin/fetch.c
+++ w/builtin/fetch.c
@@ -1643,6 +1643,21 @@ static int set_head(const struct ref *remote_refs)
return result;
}
+static int uses_remote_tracking(struct transport *transport, struct refspec *rs)
+{
+ if (!remote_is_configured(transport->remote, 0))
+ return 0;
+
+ if (!rs->nr)
+ rs = &transport->remote->fetch;
+
+ for (int i = 0; i < rs->nr; i++)
+ if (rs->items[i].dst)
+ return 1;
+
+ return 0;
+}
+
static int do_fetch(struct transport *transport,
struct refspec *rs,
const struct fetch_config *config)
@@ -1712,7 +1727,10 @@ static int do_fetch(struct transport *transport,
"refs/tags/");
}
- strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
+ if (uses_remote_tracking(transport, rs)) {
+ must_list_refs = 1;
+ strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
+ }
if (must_list_refs) {
trace2_region_enter("fetch", "remote_refs", the_repository);
diff --git c/t/t5510-fetch.sh w/t/t5510-fetch.sh
index 87698341f5..d7602333ff 100755
--- c/t/t5510-fetch.sh
+++ w/t/t5510-fetch.sh
@@ -189,6 +189,23 @@ test_expect_success 'fetch --prune --tags with refspec prunes based on refspec'
git rev-parse sometag
'
+test_expect_success 'fetch --tags gets tags even without a configured remote' '
+ REMOTE="$(pwd)/test_tag_1" &&
+ git init test_tag_1 &&
+ (
+ cd test_tag_1 &&
+ test_commit foo
+ ) &&
+ git init test_tag_2 &&
+ (
+ cd test_tag_2 &&
+ git fetch --tags "file://$REMOTE" &&
+ echo "foo" >expect &&
+ git tag >actual &&
+ test_cmp expect actual
+ )
+'
+
test_expect_success REFFILES 'fetch --prune fails to delete branches' '
cd "$D" &&
git clone . prune-fail &&
next prev parent reply other threads:[~2024-12-06 8:07 UTC|newest]
Thread overview: 258+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 20:37 [RFC PATCH v2 0/2] set remote/HEAD with fetch Bence Ferdinandy
2024-09-10 20:37 ` [RFC PATCH v2 1/2] fetch: set-head with --set-head option Bence Ferdinandy
2024-09-10 22:19 ` Junio C Hamano
2024-09-11 12:13 ` Bence Ferdinandy
2024-09-11 15:52 ` Junio C Hamano
2024-09-19 12:13 ` [PATCH v3 0/2] fetch: set remote/HEAD if missing Bence Ferdinandy
2024-09-19 12:13 ` [PATCH v3 1/2] update_symref: add REF_CREATE_ONLY option Bence Ferdinandy
2024-09-19 22:46 ` Junio C Hamano
2024-09-20 14:11 ` Bence Ferdinandy
2024-09-21 13:40 ` Phillip Wood
2024-09-21 22:19 ` Bence Ferdinandy
2024-09-22 16:56 ` Junio C Hamano
2024-09-29 22:58 ` Bence Ferdinandy
2024-09-30 6:40 ` Patrick Steinhardt
2024-09-30 9:27 ` Bence Ferdinandy
2024-09-30 22:19 ` [PATCH v4 0/5] improve handling of remote/HEAD Bence Ferdinandy
2024-09-30 22:19 ` [PATCH v4 1/5] refs_update_symref: atomically record overwritten ref Bence Ferdinandy
2024-10-01 19:10 ` Junio C Hamano
2024-09-30 22:19 ` [PATCH v4 2/5] set-head: better output for --auto Bence Ferdinandy
2024-10-01 22:54 ` Junio C Hamano
2024-09-30 22:19 ` [PATCH v4 3/5] transaction: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-09-30 22:19 ` [PATCH v4 4/5] refs_update_symref: add create_only option Bence Ferdinandy
2024-09-30 22:19 ` [PATCH v4 5/5] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-03 19:21 ` [PATCH v4 0/5] improve handling of remote/HEAD Junio C Hamano
2024-10-03 19:48 ` Bence Ferdinandy
2024-10-09 13:57 ` [PATCH v5 1/6] refs_update_symref: atomically record overwritten ref Bence Ferdinandy
2024-10-09 13:57 ` [PATCH v5 2/6] set-head: add new variable for readability Bence Ferdinandy
2024-10-09 19:26 ` Junio C Hamano
2024-10-09 19:47 ` Bence Ferdinandy
2024-10-09 13:57 ` [PATCH v5 3/6] set-head: better output for --auto Bence Ferdinandy
2024-10-09 20:53 ` Junio C Hamano
2024-10-10 15:57 ` Junio C Hamano
2024-10-10 16:54 ` Ramsay Jones
2024-10-10 19:08 ` Bence Ferdinandy
2024-10-09 13:57 ` [PATCH v5 4/6] transaction: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-09 21:08 ` Junio C Hamano
2024-10-09 13:57 ` [PATCH v5 5/6] refs_update_symref: add create_only option Bence Ferdinandy
2024-10-09 21:37 ` Junio C Hamano
2024-10-09 13:57 ` [PATCH v5 6/6] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-09 22:01 ` Junio C Hamano
2024-10-10 13:29 ` [PATCH v6 1/6] refs_update_symref: atomically record overwritten ref Bence Ferdinandy
2024-10-10 13:29 ` [PATCH v6 2/6] set-head: add new variable for readability Bence Ferdinandy
2024-10-10 13:29 ` [PATCH v6 3/6] set-head: better output for --auto Bence Ferdinandy
2024-10-10 21:05 ` karthik nayak
2024-10-11 9:03 ` Bence Ferdinandy
2024-10-11 16:31 ` Junio C Hamano
2024-10-11 20:43 ` karthik nayak
2024-10-12 22:29 ` Bence Ferdinandy
2024-10-15 7:51 ` karthik nayak
2024-10-15 14:10 ` Phillip Wood
2024-10-15 16:17 ` Bence Ferdinandy
2024-10-10 13:29 ` [PATCH v6 4/6] transaction: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-10 21:12 ` karthik nayak
2024-10-11 16:34 ` Junio C Hamano
2024-10-10 13:30 ` [PATCH v6 5/6] refs_update_symref: add create_only option Bence Ferdinandy
2024-10-10 13:30 ` [PATCH v6 6/6] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-12 23:03 ` [PATCH v7 1/6] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-10-12 23:03 ` [PATCH v7 2/6] remote set-head: add new variable for readability Bence Ferdinandy
2024-10-12 23:03 ` [PATCH v7 3/6] remote set-head: better output for --auto Bence Ferdinandy
2024-10-12 23:03 ` [PATCH v7 4/6] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-13 14:03 ` Phillip Wood
2024-10-13 20:52 ` Bence Ferdinandy
2024-10-14 8:48 ` Phillip Wood
2024-10-12 23:03 ` [PATCH v7 5/6] refs: add create_only option to refs_update_symref Bence Ferdinandy
2024-10-12 23:03 ` [PATCH v7 6/6] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-13 13:52 ` [PATCH v7 1/6] refs: atomically record overwritten ref in update_symref Phillip Wood
2024-10-13 21:24 ` Bence Ferdinandy
2024-10-15 14:05 ` Phillip Wood
2024-10-15 17:25 ` Bence Ferdinandy
2024-10-19 22:53 ` Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 0/6] set-head/fetch remote/HEAD updates, small change from v7 Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 1/6] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-10-15 7:41 ` karthik nayak
2024-10-15 16:24 ` Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 2/6] remote set-head: add new variable for readability Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 3/6] remote set-head: better output for --auto Bence Ferdinandy
2024-10-15 7:47 ` karthik nayak
2024-10-15 16:31 ` Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 4/6] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 5/6] refs: add create_only option to refs_update_symref Bence Ferdinandy
2024-10-14 22:53 ` [PATCH v8 6/6] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-16 0:26 ` [PATCH v8 0/6] set-head/fetch remote/HEAD updates, small change from v7 Taylor Blau
2024-10-16 8:18 ` Bence Ferdinandy
2024-10-16 21:05 ` Taylor Blau
2024-10-17 15:23 ` Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 0/7] set-head/fetch remote/HEAD updates Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 1/7] t/t5505-remote: set default branch to main Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 2/7] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 3/7] remote set-head: refactor for readability Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 4/7] remote set-head: better output for --auto Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 5/7] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 6/7] refs: add create_only option to refs_update_symref_extended Bence Ferdinandy
2024-10-19 22:53 ` [PATCH v9 7/7] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-21 21:13 ` [PATCH v9 0/7] set-head/fetch remote/HEAD updates Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 0/8] " Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 1/8] t/t5505-remote: set default branch to main Bence Ferdinandy
2024-10-22 19:53 ` Kristoffer Haugsbakk
2024-10-22 20:14 ` Bence Ferdinandy
2024-10-23 15:09 ` Taylor Blau
2024-10-23 15:34 ` Bence Ferdinandy
2024-10-23 18:45 ` Taylor Blau
2024-10-22 19:45 ` [PATCH v11 2/8] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 3/8] remote set-head: refactor for readability Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 4/8] remote set-head: better output for --auto Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 5/8] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 6/8] refs: add create_only option to refs_update_symref_extended Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 7/8] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-22 19:45 ` [PATCH v11 8/8] fetch set_head: handle mirrored bare repositories Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 0/8] set-head/fetch remote/HEAD updates Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 1/8] t/t5505-remote: set default branch to main Bence Ferdinandy
2024-11-15 4:52 ` Junio C Hamano
2024-11-15 22:03 ` Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 2/8] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-11-15 5:50 ` Junio C Hamano
2024-11-15 22:18 ` Bence Ferdinandy
2024-11-15 23:27 ` Bence Ferdinandy
2024-11-16 7:58 ` Junio C Hamano
2024-11-17 23:39 ` Bence Ferdinandy
2024-11-18 0:39 ` Junio C Hamano
2024-11-18 7:22 ` Patrick Steinhardt
2024-11-18 8:08 ` Bence Ferdinandy
2024-11-18 8:24 ` Patrick Steinhardt
2024-11-18 11:37 ` Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 3/8] remote set-head: refactor for readability Bence Ferdinandy
2024-11-15 5:50 ` Junio C Hamano
2024-10-23 15:36 ` [PATCH v12 4/8] remote set-head: better output for --auto Bence Ferdinandy
2024-11-15 5:50 ` Junio C Hamano
2024-11-15 22:49 ` Bence Ferdinandy
2024-11-15 23:13 ` Bence Ferdinandy
2024-11-16 0:22 ` Junio C Hamano
2024-11-16 0:15 ` Junio C Hamano
2024-11-16 14:43 ` Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 5/8] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 6/8] refs: add create_only option to refs_update_symref_extended Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 7/8] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-10-23 16:50 ` Kristoffer Haugsbakk
2024-10-23 17:07 ` Bence Ferdinandy
2024-10-23 15:36 ` [PATCH v12 8/8] fetch set_head: handle mirrored bare repositories Bence Ferdinandy
2024-11-14 20:23 ` [PATCH v12 0/8] set-head/fetch remote/HEAD updates Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 0/9] " Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 1/9] t/t5505-remote: set default branch to main Bence Ferdinandy
2024-11-20 3:46 ` Junio C Hamano
2024-11-18 15:09 ` [PATCH v13 2/9] refs: standardize output of refs_read_symbolic_ref Bence Ferdinandy
2024-11-19 1:22 ` Junio C Hamano
2024-11-19 6:44 ` Patrick Steinhardt
2024-11-19 6:54 ` Junio C Hamano
2024-11-19 7:26 ` Patrick Steinhardt
2024-11-19 10:10 ` Bence Ferdinandy
2024-11-19 5:10 ` Junio C Hamano
2024-11-19 10:04 ` Bence Ferdinandy
2024-11-19 6:48 ` Patrick Steinhardt
2024-11-19 10:17 ` Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 3/9] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 4/9] remote set-head: refactor for readability Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 5/9] remote set-head: better output for --auto Bence Ferdinandy
2024-11-19 2:27 ` Junio C Hamano
2024-11-19 10:29 ` Bence Ferdinandy
2024-11-19 10:54 ` Junio C Hamano
2024-11-19 11:33 ` Bence Ferdinandy
2024-11-20 12:49 ` Bence Ferdinandy
2024-11-20 23:56 ` Junio C Hamano
2024-11-18 15:09 ` [PATCH v13 6/9] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 7/9] refs: add create_only option to refs_update_symref_extended Bence Ferdinandy
2024-11-19 2:54 ` Junio C Hamano
2024-11-18 15:09 ` [PATCH v13 8/9] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-11-19 3:16 ` Junio C Hamano
2024-11-19 11:27 ` Bence Ferdinandy
2024-11-20 1:00 ` Junio C Hamano
2024-11-20 2:28 ` Junio C Hamano
2024-11-20 10:45 ` Bence Ferdinandy
2024-11-18 15:09 ` [PATCH v13 9/9] fetch set_head: handle mirrored bare repositories Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 00/10] set-head/fetch remote/HEAD updates Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 01/10] t/t5505-remote: set default branch to main Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 02/10] t/t5505-remote: test failure of set-head Bence Ferdinandy
2024-11-22 4:54 ` Junio C Hamano
2024-11-21 22:55 ` [PATCH v14 03/10] refs: standardize output of refs_read_symbolic_ref Bence Ferdinandy
2024-11-22 10:37 ` karthik nayak
2024-11-22 10:53 ` Bence Ferdinandy
2024-11-22 10:55 ` Bence Ferdinandy
2024-11-22 11:30 ` karthik nayak
2024-11-22 12:23 ` Bence Ferdinandy
2024-11-25 2:56 ` Junio C Hamano
2024-11-26 14:57 ` Bence Ferdinandy
2024-11-26 16:53 ` karthik nayak
2024-11-26 20:02 ` Junio C Hamano
2024-11-26 20:56 ` Bence Ferdinandy
2024-11-26 21:39 ` Junio C Hamano
2024-11-26 20:44 ` Bence Ferdinandy
2024-11-22 11:27 ` Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 04/10] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 05/10] remote set-head: refactor for readability Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 06/10] remote set-head: better output for --auto Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 07/10] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 08/10] refs: add create_only option to refs_update_symref_extended Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 09/10] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-11-21 22:55 ` [PATCH v14 10/10] fetch set_head: handle mirrored bare repositories Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 00/10] set-head/fetch remote/HEAD updates Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 01/10] t/t5505-remote: set default branch to main Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 02/10] t/t5505-remote: test failure of set-head Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 03/10] refs: standardize output of refs_read_symbolic_ref Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 04/10] refs: atomically record overwritten ref in update_symref Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 05/10] remote set-head: refactor for readability Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 06/10] remote set-head: better output for --auto Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 07/10] refs: add TRANSACTION_CREATE_EXISTS error Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 08/10] refs: add create_only option to refs_update_symref_extended Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 09/10] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-12-05 18:58 ` Josh Steadmon
2024-12-05 19:50 ` Josh Steadmon
2024-12-05 20:09 ` Bence Ferdinandy
2024-12-05 20:11 ` Josh Steadmon
2024-12-05 20:27 ` [PATCH] Fix `git fetch --tags` in repo with no configured remote Josh Steadmon
2024-12-06 3:07 ` Junio C Hamano
2024-12-06 3:28 ` Junio C Hamano
2024-12-06 4:00 ` Junio C Hamano
2024-12-06 8:07 ` Junio C Hamano [this message]
2024-12-06 8:08 ` Re* " Junio C Hamano
2024-12-06 11:23 ` Bence Ferdinandy
2024-12-06 11:30 ` Junio C Hamano
2024-12-05 20:57 ` [PATCH v15 09/10] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-11-22 12:28 ` [PATCH v15 10/10] fetch set_head: handle mirrored bare repositories Bence Ferdinandy
2024-11-27 9:16 ` [PATCH v1] fetch: add configuration for set_head behaviour Bence Ferdinandy
2024-11-27 13:46 ` Junio C Hamano
2024-11-27 19:20 ` Bence Ferdinandy
2024-11-28 0:12 ` Junio C Hamano
2024-11-28 5:49 ` Bence Ferdinandy
2024-11-28 6:06 ` Junio C Hamano
2024-12-03 21:56 ` [RFC PATCH v1 0/2] set_head finishing touches Bence Ferdinandy
2024-12-03 21:56 ` [RFC PATCH v1 1/2] fetch set_head: add warn-if-not-$branch option Bence Ferdinandy
2024-12-04 2:20 ` Junio C Hamano
2024-12-04 8:15 ` Bence Ferdinandy
2024-12-03 21:56 ` [RFC PATCH v1 2/2] remote set-head: set followRemoteHEAD to "warn" if "always" Bence Ferdinandy
2024-12-04 2:22 ` Junio C Hamano
2024-12-04 10:39 ` [PATCH v2 1/3] fetch set_head: move warn advice into advise_if_enabled Bence Ferdinandy
2024-12-04 10:39 ` [PATCH v2 2/3] fetch set_head: add warn-if-not-$branch option Bence Ferdinandy
2024-12-04 10:39 ` [PATCH v2 3/3] remote set-head: set followRemoteHEAD to "warn" if "always" Bence Ferdinandy
2024-12-04 11:43 ` Kristoffer Haugsbakk
2024-12-04 20:40 ` Junio C Hamano
2024-12-04 20:44 ` Kristoffer Haugsbakk
2024-12-05 8:14 ` Bence Ferdinandy
2024-12-05 12:16 ` [PATCH v3 1/3] fetch set_head: move warn advice into advise_if_enabled Bence Ferdinandy
2024-12-05 12:16 ` [PATCH v3 2/3] fetch set_head: add warn-if-not-$branch option Bence Ferdinandy
2025-01-05 11:42 ` Teng Long
2025-01-05 15:13 ` Bence Ferdinandy
2025-01-05 16:09 ` [PATCH] fetch: fix erroneous set_head advice message Bence Ferdinandy
2025-01-06 14:50 ` Junio C Hamano
2024-12-05 12:16 ` [PATCH v3 3/3] remote set-head: set followRemoteHEAD to "warn" if "always" Bence Ferdinandy
2024-12-04 19:28 ` [PATCH v2 1/3] fetch set_head: move warn advice into advise_if_enabled Junio C Hamano
2024-11-28 11:19 ` [PATCH v2] fetch: add configuration for set_head behaviour Bence Ferdinandy
2024-11-28 23:06 ` [PATCH v3] " Bence Ferdinandy
2024-12-02 0:58 ` Junio C Hamano
2024-11-28 23:09 ` Bence Ferdinandy
2024-09-19 12:13 ` [PATCH v3 2/2] fetch: set remote/HEAD if it does not exist Bence Ferdinandy
2024-09-19 23:07 ` Junio C Hamano
2024-09-20 13:50 ` Bence Ferdinandy
2024-09-10 20:37 ` [RFC PATCH v2 2/2] set-head: do not update if there is no change Bence Ferdinandy
2024-09-10 22:29 ` [RFC PATCH v2 0/2] set remote/HEAD with fetch Junio C Hamano
2024-09-11 12:24 ` Bence Ferdinandy
2024-09-11 15:59 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqfrn1xmj6.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=bence@ferdinandy.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@google.com \
--cc=karthik.188@gmail.com \
--cc=l.s.r@web.de \
--cc=me@ttaylorr.com \
--cc=phillip.wood@dunelm.org.uk \
--cc=ps@pks.im \
--cc=steadmon@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).