git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] mergetool merge/skip/abort

From
Caleb Cushing <xenoterracide@gmail.com>
Date
Jan 22, 2009, 14:17 UTC
Message-ID
<81bfc67a0901220617l22b5a8e4ma48bb069d67cae91@mail.gmail.com>
In-Reply-To
<20090121170434.GA21727@hashpling.org>
>From bf55fdd37f0fa4d0b3a10f43fa3d1815a6dbc6b3 Mon Sep 17 00:00:00 2001
From: Caleb Cushing <xenoterracide@gmail.com>
Date: Tue, 20 Jan 2009 11:33:30 -0500
Subject: [PATCH] mergetool merge/skip/abort
 add functionality to skip merging a file or abort from mergetool
---
 git-mergetool.sh |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 00e1337..bd5711e 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -177,8 +177,24 @@ 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
+        while true; do
+            printf "Use (m)erge file or (s)kip file, or (a)bort? (%s): " \
+            "$merge_tool"
+            read ans
+            case "$ans" in
+                [mM]*|"")
+                    break
+                ;;
+                [sS]*)
+                    cleanup_temp_files
+                    return 0
+                ;;
+                [aA]*)
+                    cleanup_temp_files
+                    exit 0
+                ;;
+            esac
+        done
     fi

     case "$merge_tool" in
--
1.6.1

> This looks to me like no merge will happen if --no-prompt/-y or
>  mergetool.prompt is set to false. Have you tested with this option or
>  have I misread?

just tested and it works fine... meaning it doesn't prompt which is
what it's supposed to do.

>  Also, I think you've lost some tabs. Mergetool does have some
>  inconsistent tabbing but they way I've been aiming towards (which
>  matches most, but not all of git-mergetool.sh) is to use tabs == 8
>  spaces for indents but to indent each level by 4 spaces. e.g. three
>  levels of indent is one tab plus four spaces.

mixing tabs and spaces == bad, I just realized I can't see half your
indents because I had tabstop=4 in my vimrc because I like indents at
4 spaces which is what you are doing through emulation. this is why I
generally just use tabs or spaces. files like fstab and .sql are my
few exceptions, both of which I do more on columns than indents.

> I'd like to keep (additionally) the behaviour, that the merge starts
> with just pressing <Enter>. Because what you mostly want to do, when
> using git-mergetool, is actually merging.

done, and maybe you... but generally I've got more skips than merges,
but I've got a corner case.
-- 
Caleb Cushing

http://xenoterracide.blogspot.com
Previous: Charles BaileyNext: Charles Bailey
Message 7 of 17 in “mergetool merge/skip/abort”
  1. mergetool merge/skip/abortCaleb Cushing, Jan 21, 2009
  2. Caleb CushingJan 21, 2009
  3. Johannes SchindelinJan 21, 2009
  4. Markus HeidelbergJan 21, 2009
  5. Caleb CushingJan 22, 2009
  6. Charles BaileyJan 21, 2009
  7. Caleb CushingJan 22, 2009
  8. Charles BaileyJan 22, 2009
  9. Caleb CushingJan 23, 2009
  10. Junio C HamanoJan 23, 2009
  11. Caleb CushingJan 24, 2009
  12. Nanako ShiraishiJan 24, 2009
  13. Caleb CushingJan 25, 2009
  14. Junio C HamanoJan 25, 2009
  15. Theodore TsoJan 26, 2009
  16. Charles BaileyJan 27, 2009
  17. Junio C HamanoJan 27, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.