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>maint
							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
	
	 Junio C Hamano
						Junio C Hamano