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

[PATCH] mergetools: Enhance tortoisemerge to work with

From
SSSven Strickroth <sven.strickroth@tu-clausthal.de>
Date
Jan 25, 2013, 13:07 UTC
Message-ID
<5102837C.9000608@tu-clausthal.de>
In-Reply-To
<CAJDDKr7eNyJp1ffBYEJaZkmnVWqd0AMpnm1kdjnrrhPtuGNL_w@mail.gmail.com>
 TortoiseGitMerge and filenames with spaces
- The TortoiseGit team renamed TortoiseMerge.exe to TortoiseGitMerge.exe
  (starting with 1.8.0) in order to make clear that this one has special
  support for git, (uses spaces as cli parameter key-value separators)
  and prevent confusion with the TortoiseSVN TortoiseMerge version.
- The tortoisemerge mergetool does not work with filenames which have
  a space in it. Fixing this required changes in git and also in
  TortoiseGitMerge; see https://github.com/msysgit/msysgit/issues/57.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Reported-by: Sebastian Schuberth <sschuberth@gmail.com>
---
 mergetools/tortoisemerge | 51 ++++++++++++++++++++++++++++++++----------------
 1 file changed, 34 insertions(+), 17 deletions(-)
diff --git a/mergetools/tortoisemerge b/mergetools/tortoisemerge
index ed7db49..8ee99a5 100644
--- a/mergetools/tortoisemerge
+++ b/mergetools/tortoisemerge
@@ -1,17 +1,34 @@
-can_diff () {
-	return 1
-}
-
-merge_cmd () {
-	if $base_present
-	then
-		touch "$BACKUP"
-		"$merge_tool_path" \
-			-base:"$BASE" -mine:"$LOCAL" \
-			-theirs:"$REMOTE" -merged:"$MERGED"
-		check_unchanged
-	else
-		echo "TortoiseMerge cannot be used without a base" 1>&2
-		return 1
-	fi
-}
+can_diff () {
+	return 1
+}
+
+merge_cmd () {
+	if $base_present
+	then
+		touch "$BACKUP"
+		basename="$(basename "$merge_tool_path" .exe)"
+		if test "$basename" = "tortoisegitmerge"
+		then
+			"$merge_tool_path" \
+				-base "$BASE" -mine "$LOCAL" \
+				-theirs "$REMOTE" -merged "$MERGED"
+		else 
+			"$merge_tool_path" \
+				-base:"$BASE" -mine:"$LOCAL" \
+				-theirs:"$REMOTE" -merged:"$MERGED"
+		fi
+		check_unchanged
+	else
+		echo "$merge_tool_path cannot be used without a base" 1>&2
+		return 1
+	fi
+}
+
+translate_merge_tool_path() {
+	if type tortoisegitmerge >/dev/null 2>/dev/null
+	then
+		echo tortoisegitmerge
+	else
+		echo tortoisemerge
+	fi
+}
-- 
Best regards,
 Sven Strickroth
 PGP key id F5A9D4C4 @ any key-server
Previous: David AguilarNext: Junio C Hamano
Message 15 of 31 in “mergetools: Add tortoisegitmerge helper”
  1. mergetools: Add tortoisegitmerge helperSven Strickroth, Jan 20, 2013
  2. Junio C HamanoJan 21, 2013
  3. mergetools: Add tortoisegitmerge helperSven Strickroth, Jan 21, 2013
  4. mergetools: Add tortoisegitmerge helperSven Strickroth, Jan 21, 2013
  5. Sven StrickrothJan 24, 2013
  6. Junio C HamanoJan 24, 2013
  7. Sven StrickrothJan 24, 2013
  8. Junio C HamanoJan 24, 2013
  9. David AguilarJan 25, 2013
  10. Junio C HamanoJan 25, 2013
  11. David AguilarJan 25, 2013
  12. John KeepingJan 25, 2013
  13. mergetools: Enhance tortoisemerge to work withSven Strickroth, Jan 25, 2013
  14. David AguilarJan 25, 2013
  15. mergetools: Enhance tortoisemerge to work withSven Strickroth, Jan 25, 2013
  16. Junio C HamanoJan 25, 2013
  17. Sven StrickrothJan 26, 2013
  18. Sven StrickrothJan 26, 2013
  19. 1/2 mergetools: Added support for TortoiseGitMergeSven Strickroth, Jan 26, 2013
  20. 2/2 mergetools: Make tortoisemerge work withSven Strickroth, Jan 26, 2013
  21. David AguilarJan 26, 2013
  22. Sven StrickrothJan 27, 2013
  23. Junio C HamanoJan 27, 2013
  24. mergetools: Enable tortoisemerge to handle filenames withSven Strickroth, Feb 1, 2013
  25. Sebastian SchuberthFeb 1, 2013
  26. Sven StrickrothFeb 1, 2013
  27. Junio C HamanoFeb 1, 2013
  28. Sven StrickrothFeb 1, 2013
  29. Sven StrickrothFeb 1, 2013
  30. David AguilarFeb 2, 2013
  31. Junio C HamanoFeb 2, 2013

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.