From: "Konstantin Podsvirov via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Konstantin Podsvirov <konstantin@podsvirov.pro>,
Pratyush Yadav <me@yadavpratyush.com>,
Konstantin Podsvirov <konstantin@podsvirov.pro>
Subject: [PATCH] git-gui: msys2 compatibility patches
Date: Tue, 14 Apr 2020 21:45:34 +0000 [thread overview]
Message-ID: <pull.612.git.1586900734341.gitgitgadget@gmail.com> (raw)
From: Konstantin Podsvirov <konstantin@podsvirov.pro>
Allow using `git gui` command via MSYS2's MINGW32/64 subsystems (apropriate shells).
Just install apropriate `tk` package:
```bash
user@host MINGW32 ~
pacman -S mingw-w64-i686-tk
```
or
```bash
user@host MINGW64 ~
pacman -S mingw-w64-x86_64-tk
```
For more info see: https://github.com/msys2/MSYS2-packages/pull/1912
Signed-off-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
---
git-gui: msys2 compatibility patches
Allow using git gui command via MSYS2's MINGW32/64 subsystems
(apropriate shells).
Just install apropriate tk package:
user@host MINGW32 ~
pacman -S mingw-w64-i686-tk
or
user@host MINGW64 ~
pacman -S mingw-w64-x86_64-tk
For more info see: https://github.com/msys2/MSYS2-packages/pull/1912
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-612%2Fpodsvirov%2Fgit-gui%2Fmsys2-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-612/podsvirov/git-gui/msys2-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/612
git-gui.sh | 52 ++++++++++++++++++++++++++++++----------------------
1 file changed, 30 insertions(+), 22 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index 4610e4ca72a..512f4f121aa 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -44,6 +44,28 @@ if {[catch {package require Tcl 8.5} err]
catch {rename send {}} ; # What an evil concept...
+######################################################################
+##
+## platform detection
+
+set _iscygwin {}
+
+proc is_Cygwin {} {
+ global _iscygwin
+ if {$_iscygwin eq {}} {
+ if {$::tcl_platform(platform) eq {windows}} {
+ if {[catch {set p [exec cygpath --windir]} err]} {
+ set _iscygwin 0
+ } else {
+ set _iscygwin 1
+ }
+ } else {
+ set _iscygwin 0
+ }
+ }
+ return $_iscygwin
+}
+
######################################################################
##
## locate our library
@@ -51,7 +73,14 @@ catch {rename send {}} ; # What an evil concept...
if { [info exists ::env(GIT_GUI_LIB_DIR) ] } {
set oguilib $::env(GIT_GUI_LIB_DIR)
} else {
- set oguilib {@@GITGUI_LIBDIR@@}
+ if {[is_Cygwin]} {
+ set oguilib [exec cygpath \
+ --windows \
+ --absolute \
+ @@GITGUI_LIBDIR@@]
+ } else {
+ set oguilib {@@GITGUI_LIBDIR@@}
+ }
}
set oguirel {@@GITGUI_RELATIVE@@}
if {$oguirel eq {1}} {
@@ -163,7 +192,6 @@ set _isbare {}
set _gitexec {}
set _githtmldir {}
set _reponame {}
-set _iscygwin {}
set _search_path {}
set _shellpath {@@SHELL_PATH@@}
@@ -266,26 +294,6 @@ proc is_Windows {} {
return 0
}
-proc is_Cygwin {} {
- global _iscygwin
- if {$_iscygwin eq {}} {
- if {$::tcl_platform(platform) eq {windows}} {
- if {[catch {set p [exec cygpath --windir]} err]} {
- set _iscygwin 0
- } else {
- set _iscygwin 1
- # Handle MSys2 which is only cygwin when MSYSTEM is MSYS.
- if {[info exists ::env(MSYSTEM)] && $::env(MSYSTEM) ne "MSYS"} {
- set _iscygwin 0
- }
- }
- } else {
- set _iscygwin 0
- }
- }
- return $_iscygwin
-}
-
proc is_enabled {option} {
global enabled_options
if {[catch {set on $enabled_options($option)}]} {return 0}
base-commit: a5728022e07c53e5ac91db0960870518e243b7c1
--
gitgitgadget
next reply other threads:[~2020-04-14 21:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-14 21:45 Konstantin Podsvirov via GitGitGadget [this message]
2020-04-27 19:45 ` [PATCH] git-gui: msys2 compatibility patches Pratyush Yadav
2020-04-27 21:33 ` Konstantin Podsvirov
2020-05-05 12:28 ` Pratyush Yadav
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.612.git.1586900734341.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=konstantin@podsvirov.pro \
--cc=me@yadavpratyush.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).