From: Caleb Cushing Date: Tue, 20 Jan 2009 16:39:59 GMT Subject: feature request mergetool, skip, abort Message-ID: <81bfc67a0901200839q361923f1xb25ddadfdac37981@mail.gmail.com> firstly my patch sucks, and I know it. but hopefully it'll give some idea of what I'm trying to do and someone can implement it properly. basically there are some files, that I can't merge with git, but I need to merge other files before I can fix those and I like to use mergetool, so I want a way to skip the files I'm not going to be able to merge. -- Caleb Cushing http://xenoterracide.blogspot.com From b43603bcd408cccea7ba55041a8356d0ca536989 Mon Sep 17 00:00:00 2001 From: Caleb Cushing Date: Tue, 20 Jan 2009 11:33:30 -0500 Subject: [PATCH] preliminary merge/skip/abort patch --- git-mergetool.sh | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 deletions(-) diff --git a/git-mergetool.sh b/git-mergetool.sh index 00e1337..c0b27ed 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -177,11 +177,25 @@ merge_file () { describe_file "$local_mode" "local" "$LOCAL" describe_file "$remote_mode" "remote" "$REMOTE" if "$prompt" = true; then - printf "Hit return to start merge resolution tool (%s): " "$merge_tool" - read ans - fi + while true; do + printf "Use (m)erge file or (s)skip file, or (a)bort? (%s): " \ + "$merge_tool" + read ans + case "$ans" in + [mM]*) + break + ;; + [sS]*) + return 0 #go to the next file, needs to clean up + ;; + [aA]*) + return 1 #should exit immediately, doesn't + ;; + esac + done + fi - case "$merge_tool" in + case "$merge_tool" in kdiff3) if base_present ; then ("$merge_tool_path" --auto --L1 "$MERGED (Base)" --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" \ -- 1.6.1