threads / patch / 7363

patchreport where the new HEAD is upon detaching HEAD

Subject: [PATCH] report where the new HEAD is upon detaching HEAD

## tl;dr

One message between Mar 23, 2007 and Mar 23, 2007. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Junio C Hamano· Mar 23, 2007, 09:37 UTC · lore

After "git reset" moves the HEAD around, it reports which commit you are on, which gives the user a warm fuzzy feeling of assurance. Give the same assurance from git-checkout when moving the detached HEAD around.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 git-checkout.sh |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
Show changes to git-checkout.sh +10 −2
diff --git a/git-checkout.sh b/git-checkout.sh
index 3c9b1bb..a7390e8 100755
--- a/git-checkout.sh
+++ b/git-checkout.sh
@@ -163,6 +163,13 @@ cd_to_toplevel
 detached=
 detach_warn=
 
+describe_detached_head () {
+	test -n "$quiet" || {
+		printf >&2 "$1 "
+		GIT_PAGER= git log >&2 -1 --pretty=oneline --abbrev-commit "$2"
+	}
+}
+
 if test -z "$branch$newbranch" && test "$new" != "$old"
 then
 	detached="$new"
@@ -173,9 +180,9 @@ If you want to create a new branch from this
 (now or later) by using -b with the checkout command again. Example:
   git checkout -b <new_branch_name>"
 	fi
-elif test -z "$oldbranch" && test -z "$quiet"
+elif test -z "$oldbranch"
 then
-	echo >&2 "Previous HEAD position was $old"
+	describe_detached_head 'Previous HEAD position was' "$old"
 fi
 
 if [ "X$old" = X ]
@@ -275,6 +282,7 @@ if [ "$?" -eq 0 ]; then
 		then
 			echo >&2 "$detach_warn"
 		fi
+		describe_detached_head 'HEAD is now at' HEAD
 	fi
 	rm -f "$GIT_DIR/MERGE_HEAD"
 else

← back to recent threads