diff options
author | Theodore Ts'o <tytso@mit.edu> | 2007-03-29 11:39:46 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2007-03-29 22:46:16 -0400 |
commit | 27090aa1eabdc44553a0d8a51ff4ab9543c64c65 (patch) | |
tree | 83d2244e6507325f78eef2f5535d161223f3a7a6 /git-mergetool.sh | |
parent | 1346c9996350e96c7b38a57ede5d503821d84fe3 (diff) | |
download | git-27090aa1eabdc44553a0d8a51ff4ab9543c64c65.tar.gz git-27090aa1eabdc44553a0d8a51ff4ab9543c64c65.tar.xz |
mergetool: Clean up description of files and prompts for merge resolutions
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>
Diffstat (limited to 'git-mergetool.sh')
-rwxr-xr-x | git-mergetool.sh | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/git-mergetool.sh b/git-mergetool.sh index 7a2b9b9f0..e62351bcb 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -44,25 +44,24 @@ describe_file () { branch="$2" file="$3" - printf " " + printf " {%s}: " "$branch" if test -z "$mode"; then - printf "'%s' was deleted" "$path" + echo "deleted" elif is_symlink "$mode" ; then - printf "'%s' is a symlink containing '%s'" "$path" "$file" + 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]*) @@ -86,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 @@ -164,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 @@ -172,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 (%s): " "$merge_tool" |