From 6a74642c500118164ec331da93ef29b1163301bc Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 20 Apr 2006 01:20:56 -0700 Subject: git-commit --amend: two fixes. When running "git commit --amend" only to fix the commit log message without any content change, we mistakenly showed the git-status output that says "nothing to commit" without commenting it out. If you have already run update-index but you want to amend the top commit, "git commit --amend --only" without any paths should have worked, because --only means "starting from the base commit, update-index these paths only to prepare the index to commit, and perform the commit". However, we refused -o without paths. Signed-off-by: Junio C Hamano --- git-commit.sh | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'git-commit.sh') diff --git a/git-commit.sh b/git-commit.sh index 01c73bdd08..26cd7ca54d 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -167,8 +167,13 @@ run_status () { fi case "$committable" in 0) - echo "nothing to commit" - exit 1 + case "$amend" in + t) + echo "# No changes" ;; + *) + echo "nothing to commit" ;; + esac + exit 1 ;; esac exit 0 ) @@ -365,14 +370,16 @@ tt*) die "Only one of -c/-C/-F/-m can be used." ;; esac -case "$#,$also$only" in -*,tt) +case "$#,$also,$only,$amend" in +*,t,t,*) die "Only one of --include/--only can be used." ;; -0,t) +0,t,,* | 0,,t,) die "No paths with --include/--only does not make sense." ;; -0,) +0,,t,t) + only_include_assumed="# Clever... amending the last one with dirty index." ;; +0,,,*) ;; -*,) +*,,,*) only_include_assumed="# Explicit paths specified without -i nor -o; assuming --only paths..." also= ;; -- cgit v1.2.3