aboutsummaryrefslogtreecommitdiffstats
path: root/git-gui/lib/shortcut.tcl
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-08-24 09:57:43 -0700
committerJunio C Hamano <gitster@pobox.com>2023-08-24 09:57:43 -0700
commita793520380eb0f9b4a970ace0e9ee41c0ccb82aa (patch)
treefa5b3b47012c26b1c043d7396da93d3228f3b82e /git-gui/lib/shortcut.tcl
parentcd9da15a85bfbcb0bddc799e5fe6bed50644f269 (diff)
parente25cbdf3576f07bda742a4f13d9380a815e43502 (diff)
downloadgit-a793520380eb0f9b4a970ace0e9ee41c0ccb82aa.tar.gz
Merge https://github.com/prati0100/git-gui
* https://github.com/prati0100/git-gui: git-gui - use mkshortcut on Cygwin git-gui - use cygstart to browse on Cygwin git-gui - remove obsolete Cygwin specific code git gui Makefile - remove Cygwin modifications Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 Work around Tcl's default `PATH` lookup Move the `_which` function (almost) to the top Move is_<platform> functions to the beginning is_Cygwin: avoid `exec`ing anything windows: ignore empty `PATH` elements git-gui: Fix a typo in README
Diffstat (limited to 'git-gui/lib/shortcut.tcl')
-rw-r--r--git-gui/lib/shortcut.tcl31
1 files changed, 14 insertions, 17 deletions
diff --git a/git-gui/lib/shortcut.tcl b/git-gui/lib/shortcut.tcl
index 97d1d7aa02..674a41f5e0 100644
--- a/git-gui/lib/shortcut.tcl
+++ b/git-gui/lib/shortcut.tcl
@@ -27,13 +27,10 @@ proc do_windows_shortcut {} {
}
proc do_cygwin_shortcut {} {
- global argv0 _gitworktree
+ global argv0 _gitworktree oguilib
if {[catch {
set desktop [exec cygpath \
- --windows \
- --absolute \
- --long-name \
--desktop]
}]} {
set desktop .
@@ -48,19 +45,19 @@ proc do_cygwin_shortcut {} {
set fn ${fn}.lnk
}
if {[catch {
- set sh [exec cygpath \
- --windows \
- --absolute \
- /bin/sh.exe]
- set me [exec cygpath \
- --unix \
- --absolute \
- $argv0]
- win32_create_lnk $fn [list \
- $sh -c \
- "CHERE_INVOKING=1 source /etc/profile;[sq $me] &" \
- ] \
- [file normalize $_gitworktree]
+ set repodir [file normalize $_gitworktree]
+ set shargs {-c \
+ "CHERE_INVOKING=1 \
+ source /etc/profile; \
+ git gui"}
+ exec /bin/mkshortcut.exe \
+ --arguments $shargs \
+ --desc "git-gui on $repodir" \
+ --icon $oguilib/git-gui.ico \
+ --name $fn \
+ --show min \
+ --workingdir $repodir \
+ /bin/sh.exe
} err]} {
error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"]
}