[PATCH] mergetool: Clean up description of files and prompts for merge resolutions
From: Theodore Ts'o <tytso@mit.edu>
Date: 2016-06-15 22:43:02
Subsystem:
the rest · Maintainer:
Linus Torvalds
This fixes complaints from Junio for how messages and prompts are printed when resolving symlink and deleted file merges. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> --- git-mergetool.sh | 29 +++++++++++++++-------------- 1 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/git-mergetool.sh b/git-mergetool.sh
index b9d81f5..9b824ac 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh@@ -44,27 +44,24 @@ describe_file () { branch="$2" file="$3" - printf " " + printf " {$branch}: " if test -z "$mode"; then - printf "'$path' was deleted" + echo "deleted" elif is_symlink "$mode" ; then - printf "'$path' is a symlink containing '" - cat "$file" - printf "'" + echo "a symbolic link -> '$(cat "$file")'" else if base_present; then - printf "'%s' was created" "$path" + echo "modified" else - printf "'%s' was modified" "$path" + echo "created" fi fi - echo " in the $branch branch" } resolve_symlink_merge () { while true; do - printf "Use (r)emote or (l)ocal, or (a)bort? " + printf "Use (l)ocal or (r)emote, or (a)bort? " read ans case "$ans" in [lL]*)
@@ -88,10 +85,14 @@ resolve_symlink_merge () { resolve_deleted_merge () { while true; do - printf "Use (m)odified or (d)eleted file, or (a)bort? " + if base_present; then + printf "Use (m)odified or (d)eleted file, or (a)bort? " + else + printf "Use (c)reated or (d)eleted file, or (a)bort? " + fi read ans case "$ans" in - [mM]*) + [mMcC]*) git-add -- "$path" cleanup_temp_files --save-backup return
@@ -166,7 +167,7 @@ merge_file () { remote_present && git cat-file blob ":3:$path" > "$REMOTE" 2>/dev/null if test -z "$local_mode" -o -z "$remote_mode"; then - echo "Deleted merge conflict for $path:" + echo "Deleted merge conflict for '$path':" describe_file "$local_mode" "local" "$LOCAL" describe_file "$remote_mode" "remote" "$REMOTE" resolve_deleted_merge
@@ -174,14 +175,14 @@ merge_file () { fi if is_symlink "$local_mode" || is_symlink "$remote_mode"; then - echo "Symlink merge conflict for $path:" + echo "Symbolic link merge conflict for '$path':" describe_file "$local_mode" "local" "$LOCAL" describe_file "$remote_mode" "remote" "$REMOTE" resolve_symlink_merge return fi - echo "Normal merge conflict for $path:" + echo "Normal merge conflict for '$path':" describe_file "$local_mode" "local" "$LOCAL" describe_file "$remote_mode" "remote" "$REMOTE" printf "Hit return to start merge resolution tool ($merge_tool): "
--
1.5.1.rc2.1.g8afe-dirty