From: Bence Ferdinandy <bence@ferdinandy.com>
To: git@vger.kernel.org
Cc: phillip.wood@dunelm.org.uk, "René Scharfe" <l.s.r@web.de>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
karthik.188@gmail.com, "Taylor Blau" <me@ttaylorr.com>,
"Patrick Steinhardt" <ps@pks.im>,
"Junio C Hamano" <gitster@pobox.com>,
"Bence Ferdinandy" <bence@ferdinandy.com>
Subject: [RFC PATCH v1 1/2] fetch set_head: add warn-if-not-$branch option
Date: Tue, 3 Dec 2024 22:56:47 +0100 [thread overview]
Message-ID: <20241203215713.135068-2-bence@ferdinandy.com> (raw)
In-Reply-To: <20241203215713.135068-1-bence@ferdinandy.com>
Currently if we want to have a remote/HEAD locally that is different
from the one on the remote, but we still want to get a warning if remote
changes HEAD, our only option is to have an indiscriminate warning with
"follow_remote_head" set to "warn". Add a new option
"warn-if-not-$branch", where $branch is a branch name we do not wish to
get a warning about. If the remote HEAD is $branch do not warn,
otherwise, behave as "warn".
E.g. let's assume, that our remote origin has HEAD
set to "master", but locally we have "git remote set-head origin seen".
Setting 'remote.origin.followRemoteHEAD = "warn"' will always print
a warning, even though the remote has not changed HEAD from "master".
Setting 'remote.origin.followRemoteHEAD = "warn-if-not-master" will
squelch the warning message, unless the remote changes HEAD from
"master". Note, that should the remote change HEAD to "seen" (which we
have locally), there will still be no warning.
Improve the advice message in report_set_head to also include silencing
the warning message with "warn-if-not-$branch".
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
---
builtin/fetch.c | 26 ++++++++++++++++++-------
remote.c | 5 +++++
remote.h | 6 ++++--
t/t5510-fetch.sh | 49 ++++++++++++++++++++++++++++++++++++++++++++++--
4 files changed, 75 insertions(+), 11 deletions(-)
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 88c5c5d781..fd7f3694cc 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1579,6 +1579,15 @@ static const char *strip_refshead(const char *name){
return name;
}
+static void set_head_advice_msg(const char *remote, const char *head_name) {
+
+ printf("Run 'git remote set-head %s %s' to follow the change, or\n"
+ "'git config set remote.%s.warn-if-not-%s' to disable this warning\n"
+ "until the remote changes HEAD again.\n",
+ remote, head_name, remote, head_name);
+
+}
+
static void report_set_head(const char *remote, const char *head_name,
struct strbuf *buf_prev, int updateres) {
struct strbuf buf_prefix = STRBUF_INIT;
@@ -1590,20 +1599,19 @@ static void report_set_head(const char *remote, const char *head_name,
if (prev_head && strcmp(prev_head, head_name)) {
printf("'HEAD' at '%s' is '%s', but we have '%s' locally.\n",
remote, head_name, prev_head);
- printf("Run 'git remote set-head %s %s' to follow the change.\n",
- remote, head_name);
+ set_head_advice_msg(remote, head_name);
}
else if (updateres && buf_prev->len) {
printf("'HEAD' at '%s' is '%s', "
"but we have a detached HEAD pointing to '%s' locally.\n",
remote, head_name, buf_prev->buf);
- printf("Run 'git remote set-head %s %s' to follow the change.\n",
- remote, head_name);
+ set_head_advice_msg(remote, head_name);
}
strbuf_release(&buf_prefix);
}
-static int set_head(const struct ref *remote_refs, int follow_remote_head)
+static int set_head(const struct ref *remote_refs, int follow_remote_head,
+ const char *no_warn_branch)
{
int result = 0, create_only, is_bare, was_detached;
struct strbuf b_head = STRBUF_INIT, b_remote_head = STRBUF_INIT,
@@ -1660,7 +1668,10 @@ static int set_head(const struct ref *remote_refs, int follow_remote_head)
result = 1;
goto cleanup;
}
- if (follow_remote_head == FOLLOW_REMOTE_WARN && verbosity >= 0)
+ if ((follow_remote_head == FOLLOW_REMOTE_WARN ||
+ (follow_remote_head == FOLLOW_REMOTE_WARN_IF_NOT_BRANCH &&
+ strcmp(no_warn_branch, head_name))
+ ) && verbosity >= 0)
report_set_head(remote, head_name, &b_local_head, was_detached);
cleanup:
@@ -1889,7 +1900,8 @@ static int do_fetch(struct transport *transport,
"you need to specify exactly one branch with the --set-upstream option"));
}
}
- if (set_head(remote_refs, transport->remote->follow_remote_head))
+ if (set_head(remote_refs, transport->remote->follow_remote_head,
+ transport->remote->no_warn_branch))
;
/*
* Way too many cases where this can go wrong
diff --git a/remote.c b/remote.c
index 0b18840d43..f0e1b1b76a 100644
--- a/remote.c
+++ b/remote.c
@@ -515,6 +515,7 @@ static int handle_config(const char *key, const char *value,
return parse_transport_option(key, value,
&remote->server_options);
} else if (!strcmp(subkey, "followremotehead")) {
+ const char *no_warn_branch;
if (!strcmp(value, "never"))
remote->follow_remote_head = FOLLOW_REMOTE_NEVER;
else if (!strcmp(value, "create"))
@@ -523,6 +524,10 @@ static int handle_config(const char *key, const char *value,
remote->follow_remote_head = FOLLOW_REMOTE_WARN;
else if (!strcmp(value, "always"))
remote->follow_remote_head = FOLLOW_REMOTE_ALWAYS;
+ else if (skip_prefix(value, "warn-if-not-", &no_warn_branch)) {
+ remote->follow_remote_head = FOLLOW_REMOTE_WARN_IF_NOT_BRANCH;
+ remote->no_warn_branch = no_warn_branch;
+ }
}
return 0;
}
diff --git a/remote.h b/remote.h
index 184b35653d..75be3977ba 100644
--- a/remote.h
+++ b/remote.h
@@ -62,8 +62,9 @@ struct remote_state *remote_state_new(void);
enum follow_remote_head_settings {
FOLLOW_REMOTE_NEVER = -1,
FOLLOW_REMOTE_CREATE = 0,
- FOLLOW_REMOTE_WARN = 1,
- FOLLOW_REMOTE_ALWAYS = 2,
+ FOLLOW_REMOTE_WARN_IF_NOT_BRANCH = 1,
+ FOLLOW_REMOTE_WARN = 2,
+ FOLLOW_REMOTE_ALWAYS = 3,
};
struct remote {
@@ -116,6 +117,7 @@ struct remote {
struct string_list server_options;
enum follow_remote_head_settings follow_remote_head;
+ const char *no_warn_branch;
};
/**
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index 2467027d34..be0c60be2c 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -124,7 +124,9 @@ test_expect_success "fetch test followRemoteHEAD warn no change" '
git fetch >output &&
echo "${SQ}HEAD${SQ} at ${SQ}origin${SQ} is ${SQ}main${SQ}," \
"but we have ${SQ}other${SQ} locally." >expect &&
- echo "Run ${SQ}git remote set-head origin main${SQ} to follow the change." >>expect &&
+ echo "Run ${SQ}git remote set-head origin main${SQ} to follow the change, or" >>expect &&
+ echo "${SQ}git config set remote.origin.warn-if-not-main${SQ} to disable this warning" >>expect &&
+ echo "until the remote changes HEAD again." >>expect &&
test_cmp expect output &&
head=$(git rev-parse refs/remotes/origin/HEAD) &&
branch=$(git rev-parse refs/remotes/origin/other) &&
@@ -161,7 +163,9 @@ test_expect_success "fetch test followRemoteHEAD warn detached" '
echo "${SQ}HEAD${SQ} at ${SQ}origin${SQ} is ${SQ}main${SQ}," \
"but we have a detached HEAD pointing to" \
"${SQ}${HEAD}${SQ} locally." >expect &&
- echo "Run ${SQ}git remote set-head origin main${SQ} to follow the change." >>expect &&
+ echo "Run ${SQ}git remote set-head origin main${SQ} to follow the change, or" >>expect &&
+ echo "${SQ}git config set remote.origin.warn-if-not-main${SQ} to disable this warning" >>expect &&
+ echo "until the remote changes HEAD again." >>expect &&
test_cmp expect output
)
'
@@ -184,6 +188,47 @@ test_expect_success "fetch test followRemoteHEAD warn quiet" '
)
'
+test_expect_success "fetch test followRemoteHEAD warn-if-not-branch branch is same" '
+ test_when_finished "git config unset remote.origin.followRemoteHEAD" &&
+ (
+ cd "$D" &&
+ cd two &&
+ git rev-parse --verify refs/remotes/origin/other &&
+ git remote set-head origin other &&
+ git rev-parse --verify refs/remotes/origin/HEAD &&
+ git rev-parse --verify refs/remotes/origin/main &&
+ git config set remote.origin.followRemoteHEAD "warn-if-not-main" &&
+ output=$(git fetch) &&
+ test "z" = "z$output" &&
+ head=$(git rev-parse refs/remotes/origin/HEAD) &&
+ branch=$(git rev-parse refs/remotes/origin/other) &&
+ test "z$head" = "z$branch"
+ )
+'
+
+test_expect_success "fetch test followRemoteHEAD warn-if-not-branch branch is different" '
+ test_when_finished "git config unset remote.origin.followRemoteHEAD" &&
+ (
+ cd "$D" &&
+ cd two &&
+ git rev-parse --verify refs/remotes/origin/other &&
+ git remote set-head origin other &&
+ git rev-parse --verify refs/remotes/origin/HEAD &&
+ git rev-parse --verify refs/remotes/origin/main &&
+ git config set remote.origin.followRemoteHEAD "warn-if-not-some/different-branch" &&
+ git fetch >output &&
+ echo "${SQ}HEAD${SQ} at ${SQ}origin${SQ} is ${SQ}main${SQ}," \
+ "but we have ${SQ}other${SQ} locally." >expect &&
+ echo "Run ${SQ}git remote set-head origin main${SQ} to follow the change, or" >>expect &&
+ echo "${SQ}git config set remote.origin.warn-if-not-main${SQ} to disable this warning" >>expect &&
+ echo "until the remote changes HEAD again." >>expect &&
+ test_cmp expect output &&
+ head=$(git rev-parse refs/remotes/origin/HEAD) &&
+ branch=$(git rev-parse refs/remotes/origin/other) &&
+ test "z$head" = "z$branch"
+ )
+'
+
test_expect_success "fetch test followRemoteHEAD always" '
test_when_finished "git config unset remote.origin.followRemoteHEAD" &&
(
--
2.47.1.297.g6455f89743
next prev parent reply other threads:[~2024-12-03 21:58 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 ` Re* " Junio C Hamano
2024-12-06 8:08 ` 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 ` Bence Ferdinandy [this message]
2024-12-04 2:20 ` [RFC PATCH v1 1/2] fetch set_head: add warn-if-not-$branch option 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=20241203215713.135068-2-bence@ferdinandy.com \
--to=bence@ferdinandy.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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 \
/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).