diff options
author | Junio C Hamano <junkio@cox.net> | 2006-04-20 01:20:56 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-20 02:51:12 -0700 |
commit | 6a74642c500118164ec331da93ef29b1163301bc (patch) | |
tree | 6cc4e0ba710b7e2ea02bd7d4271f32f3899d57cd /git-commit.sh | |
parent | 61c2bcbd11e3b66a328b3850c01592e5dc1c67bb (diff) | |
download | git-6a74642c500118164ec331da93ef29b1163301bc.tar.gz git-6a74642c500118164ec331da93ef29b1163301bc.tar.xz |
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 <junkio@cox.net>
Diffstat (limited to 'git-commit.sh')
-rwxr-xr-x | git-commit.sh | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/git-commit.sh b/git-commit.sh index 01c73bdd0..26cd7ca54 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= ;; |