[PATCH] gitk - convert gitk-path to Windows if on Cygwin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Cygwin does not have a recent Tcl release (it is stuck at 8.4.1), and
there is small chance this will change soon. The only way Cygwin users
can have a more recent Tcl/Tk is to use a pure Windows release. However,
these do not understand POSIX paths as used in Cygwin. This really only
matters for finding the gitk script itself, all other arguments are
interpreted by git which is POSIX. This patch modifies gitk to convert
the path to the gitk script from POSIX to Windows before execution.

This patch was inspired by a patch submitted long ago by Shawn Pierce.

Signed-off-by: Mark Levedahl <mlevedahl@xxxxxxxxx>
---
 Makefile |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index e1b6045..742ae5b 100644
--- a/Makefile
+++ b/Makefile
@@ -51,9 +51,15 @@ uninstall::
 clean::
 	$(RM) gitk-wish po/*.msg
 
+OS := $(shell sh -c 'uname -o 2>/dev/null')
+ifeq ($(OS), Cygwin)
+	EXECLINE = argv0=`cygpath --windows --absolute "$$0"`; \\\nexec $(TCLTK_PATH_SQ) "$$argv0" -- "$$@"
+else
+	EXECLINE = exec $(TCLTK_PATH_SQ) "$$0" -- "$$@"
+endif
 gitk-wish: gitk
 	$(QUIET_GEN)$(RM) $@ $@+ && \
-	sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' <gitk >$@+ && \
+	sed -e '1,3s|^exec .*|$(EXECLINE)|' <gitk >$@+ && \
 	chmod +x $@+ && \
 	mv -f $@+ $@
 
-- 
1.5.6.rc2.65.gcb6b9

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux