Re: [PATCH] git-reset --hard: tell the user what the HEAD was reset to
From: Andy Whitcroft <hidden>
Date: 2016-06-15 22:42:47
Johannes Schindelin wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Johannes Schindelin <redacted> --- On Wed, 20 Dec 2006, Han-Wen Nienhuys wrote: > It would be nice if git-reset printed > > HEAD is now <sha1> - <excerpt of commit message> This patch does that, but only for --reset. Without reset, HEAD is _not_ changed, just the contents of the working directory and/or the index. git-reset.sh | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)diff --git a/git-reset.sh b/git-reset.sh index 8d95e37..2379db0 100755 --- a/git-reset.sh +++ b/git-reset.sh@@ -86,7 +86,12 @@ update_ref_status=$? case "$reset_type" in --hard ) - ;; # Nothing else to do + test $update_ref_status = 0 && { + echo -n "HEAD is now at " + GIT_PAGER= git log --max-count=1 --pretty=oneline \ + --abbrev-commit HEAD + } + ;; --soft ) ;; # Nothing else to do --mixed )
Ok, this sounds like a good change in principle, but the output format it introduces seems likely to cause confusion. For sure the first couple of times I saw it I though there was a bug and I was seeing an error from the plumbing. See below for an example where you would swear something bad had occured. apw@pinky$ git checkout -b bar master apw@pinky$ git reset --hard ac9c1108d8915f0937795e354ad72c4ae6890a3f HEAD is now at ac9c110... git-fetch: remove .keep file at the end. Huh, fetch? Remove what .keep file? Did I do a fetch? What? I think we need to delimit the name better, probabally we need to quote it. Perhaps something like: HEAD is now at ac9c110: "git-fetch: remove .keep file at the end". -apw