diff options
| author | Junio C Hamano <gitster@pobox.com> | 2023-08-24 09:57:43 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-08-24 09:57:43 -0700 |
| commit | a793520380eb0f9b4a970ace0e9ee41c0ccb82aa (patch) | |
| tree | fa5b3b47012c26b1c043d7396da93d3228f3b82e /git-gui/lib/shortcut.tcl | |
| parent | cd9da15a85bfbcb0bddc799e5fe6bed50644f269 (diff) | |
| parent | e25cbdf3576f07bda742a4f13d9380a815e43502 (diff) | |
| download | git-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.tcl | 31 |
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"] } |
