threads / patch / 15908

patchgit-mergetool: properly handle "git mergetool -- filename"

Subject: [PATCH] git-mergetool: properly handle "git mergetool -- filename"

## tl;dr

One message between Oct 15, 2008 and Oct 15, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

David Aguilar· Oct 15, 2008, 07:39 UTC · lore

git-mergetool has an entry for "--" in its command-line parsing code to designate the end of option processing. It was not calling shift, though, which caused git-mergetool to incorrectly use "--" as the merge filename.

This patch fixes this bug and updates the usage and documentation to include [--] in the options spec.

Signed-off-by: David Aguilar <davvid@gmail.com>
---
 Documentation/git-mergetool.txt |    2 +-
 git-mergetool.sh                |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
Show changes to 2 files +3 −2

Documentation/git-mergetool.txt, git-mergetool.sh

diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
index e0b2703..475db72 100644
--- a/Documentation/git-mergetool.txt
+++ b/Documentation/git-mergetool.txt
@@ -7,7 +7,7 @@ git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
 
 SYNOPSIS
 --------
-'git mergetool' [--tool=<tool>] [<file>]...
+'git mergetool' [--tool=<tool>] [--] [<file>]...
 
 DESCRIPTION
 -----------
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 94187c3..1b0dfec 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -8,7 +8,7 @@
 # at the discretion of Junio C Hamano.
 #
 
-USAGE='[--tool=tool] [file to merge] ...'
+USAGE='[--tool=tool] [--] [file to merge] ...'
 SUBDIRECTORY_OK=Yes
 OPTIONS_SPEC=
 . git-sh-setup
@@ -296,6 +296,7 @@ do
 	    esac
 	    ;;
 	--)
+	    shift
 	    break
 	    ;;
 	-*)
-- 
1.6.0.2.532.g84ed4c

← back to recent threads