summaryrefslogtreecommitdiff
path: root/git-mergetool.sh
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2007-03-29 11:39:46 -0400
committerTheodore Ts'o <tytso@mit.edu>2007-03-29 22:46:16 -0400
commit27090aa1eabdc44553a0d8a51ff4ab9543c64c65 (patch)
tree83d2244e6507325f78eef2f5535d161223f3a7a6 /git-mergetool.sh
parent1346c9996350e96c7b38a57ede5d503821d84fe3 (diff)
downloadgit-27090aa1eabdc44553a0d8a51ff4ab9543c64c65.tar.gz
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-xgit-mergetool.sh27
1 files changed, 15 insertions, 12 deletions
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 7a2b9b9f02..e62351bcba 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"