git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] builtin-checkout: Don't tell user that HEAD has moved before it has

From
DCDaniel Cordero <theappleman@gmail.com>
Date
May 16, 2009, 17:54 UTC
Message-ID
<20090516175444.GA1000@cumin.applehq.eu>
In-Reply-To
<20090516192531.6117@nanako3.lavabit.com>

Previously, checkout would tell the user this message before moving HEAD, without regard to whether the upcoming move will result in success. If the move failed, this causes confusion.

Show the message after the move, unless the move failed.
Signed-off-by: Daniel Cordero <theappleman@gmail.com>
---
 builtin-checkout.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/builtin-checkout.c b/builtin-checkout.c
index dc4bfb5..f2d7ef0 100644
--- a/builtin-checkout.c
+++ b/builtin-checkout.c
@@ -541,14 +541,6 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new)
 		parse_commit(new->commit);
 	}
 
-	/*
-	 * If we were on a detached HEAD, but we are now moving to
-	 * a new commit, we want to mention the old commit once more
-	 * to remind the user that it might be lost.
-	 */
-	if (!opts->quiet && !old.path && old.commit && new->commit != old.commit)
-		describe_detached_head("Previous HEAD position was", old.commit);
-
 	if (!old.commit && !opts->force) {
 		if (!opts->quiet) {
 			warning("You appear to be on a branch yet to be born.");
@@ -561,6 +553,14 @@ static int switch_branches(struct checkout_opts *opts, struct branch_info *new)
 	if (ret)
 		return ret;
 
+	/*
+	 * If we were on a detached HEAD, but have now moved to
+	 * a new commit, we want to mention the old commit once more
+	 * to remind the user that it might be lost.
+	 */
+	if (!opts->quiet && !old.path && old.commit && new->commit != old.commit)
+		describe_detached_head("Previous HEAD position was", old.commit);
+
 	update_refs_for_switch(opts, &old, new);
 
 	ret = post_checkout_hook(old.commit, new->commit, 1);
-- 
1.6.3.1.93.g8d138
Previous: Nanako ShiraishiNext: Junio C Hamano
Message 2 of 4 in “[buglet] misleading error message from git checkout”
  1. Nanako ShiraishiMay 16, 2009
  2. builtin-checkout: Don't tell user that HEAD has moved before it hasDaniel Cordero, May 16, 2009
  3. Junio C HamanoMay 16, 2009
  4. test: checkout shouldn't say that HEAD has moved if it didn'tNanako Shiraishi, May 17, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.