rebase -i: proper prepare-commit-msg hook argument when squashing
One would expect that the prepare-commit-msg hook gets 'squash' as the second argument when squashing commits with 'rebase -i'. However, that was not the case, as it got 'merge' instead. This patch fixes the problem. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
		 SZEDER Gábor
					SZEDER Gábor
				
			
				
					committed by
					
						 Shawn O. Pearce
						Shawn O. Pearce
					
				
			
			
				
	
			
			
			 Shawn O. Pearce
						Shawn O. Pearce
					
				
			
						parent
						
							9a1fd653b1
						
					
				
				
					commit
					7c4188360a
				
			| @ -304,23 +304,28 @@ do_next () { | ||||
|  | ||||
| 		mark_action_done | ||||
| 		make_squash_message $sha1 > "$MSG" | ||||
| 		failed=f | ||||
| 		author_script=$(get_author_ident_from_commit HEAD) | ||||
| 		output git reset --soft HEAD^ | ||||
| 		pick_one -n $sha1 || failed=t | ||||
| 		case "$(peek_next_command)" in | ||||
| 		squash|s) | ||||
| 			EDIT_COMMIT= | ||||
| 			USE_OUTPUT=output | ||||
| 			MSG_OPT=-F | ||||
| 			MSG_FILE="$MSG" | ||||
| 			cp "$MSG" "$SQUASH_MSG" | ||||
| 			;; | ||||
| 		*) | ||||
| 			EDIT_COMMIT=-e | ||||
| 			USE_OUTPUT= | ||||
| 			MSG_OPT= | ||||
| 			MSG_FILE= | ||||
| 			rm -f "$SQUASH_MSG" || exit | ||||
| 			cp -v "$MSG" "$GIT_DIR"/SQUASH_MSG | ||||
| 			rm -f "$GIT_DIR"/MERGE_MSG || exit | ||||
| 			;; | ||||
| 		esac | ||||
|  | ||||
| 		failed=f | ||||
| 		author_script=$(get_author_ident_from_commit HEAD) | ||||
| 		output git reset --soft HEAD^ | ||||
| 		pick_one -n $sha1 || failed=t | ||||
| 		echo "$author_script" > "$DOTEST"/author-script | ||||
| 		if test $failed = f | ||||
| 		then | ||||
| @ -329,7 +334,7 @@ do_next () { | ||||
| 			GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ | ||||
| 			GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ | ||||
| 			GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \ | ||||
| 			$USE_OUTPUT git commit --no-verify -F "$MSG" $EDIT_COMMIT || failed=t | ||||
| 			$USE_OUTPUT git commit --no-verify $MSG_OPT "$MSG_FILE" $EDIT_COMMIT || failed=t | ||||
| 		fi | ||||
| 		if test $failed = t | ||||
| 		then | ||||
|  | ||||
		Reference in New Issue
	
	Block a user