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>
This commit is contained in:
parent
61c2bcbd11
commit
6a74642c50
@ -167,8 +167,13 @@ run_status () {
|
|||||||
fi
|
fi
|
||||||
case "$committable" in
|
case "$committable" in
|
||||||
0)
|
0)
|
||||||
echo "nothing to commit"
|
case "$amend" in
|
||||||
exit 1
|
t)
|
||||||
|
echo "# No changes" ;;
|
||||||
|
*)
|
||||||
|
echo "nothing to commit" ;;
|
||||||
|
esac
|
||||||
|
exit 1 ;;
|
||||||
esac
|
esac
|
||||||
exit 0
|
exit 0
|
||||||
)
|
)
|
||||||
@ -365,14 +370,16 @@ tt*)
|
|||||||
die "Only one of -c/-C/-F/-m can be used." ;;
|
die "Only one of -c/-C/-F/-m can be used." ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case "$#,$also$only" in
|
case "$#,$also,$only,$amend" in
|
||||||
*,tt)
|
*,t,t,*)
|
||||||
die "Only one of --include/--only can be used." ;;
|
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." ;;
|
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..."
|
only_include_assumed="# Explicit paths specified without -i nor -o; assuming --only paths..."
|
||||||
also=
|
also=
|
||||||
;;
|
;;
|
||||||
|
@ -114,6 +114,8 @@ EOF
|
|||||||
|
|
||||||
git commit -m 'Merged "mybranch" changes.' -i hello
|
git commit -m 'Merged "mybranch" changes.' -i hello
|
||||||
|
|
||||||
|
test_done
|
||||||
|
|
||||||
cat > show-branch.expect << EOF
|
cat > show-branch.expect << EOF
|
||||||
* [master] Merged "mybranch" changes.
|
* [master] Merged "mybranch" changes.
|
||||||
! [mybranch] Some work.
|
! [mybranch] Some work.
|
||||||
|
Loading…
Reference in New Issue
Block a user