git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v0 0/4] Remove obsolete Cygwin support from git-gui
@ 2023-06-24 21:23 Mark Levedahl
  2023-06-24 21:23 ` [PATCH v0 1/4] git gui Makefile - remove Cygwin modiifications Mark Levedahl
                   ` (5 more replies)
  0 siblings, 6 replies; 27+ messages in thread
From: Mark Levedahl @ 2023-06-24 21:23 UTC (permalink / raw)
  To: git; +Cc: adam, me, johannes.schindelin, Mark Levedahl

git-gui has many snippets of code guarded by an is_Cygwin test, all of
which target a problematic hybrid Cygwin/Windows 8.4.1 Tcl/Tk removed in
March 2012. That is when Cygwin switched to a well-supported unix/X11
Tcl/Tk package.  64-bit Cygwin was released later so has always had the
unix/X11 package. git-gui runs as-is on more recent Cygwin, treating it
as a Linux variant, though two functions are disabled.

The old Tcl/Tk understood Windows pathnames, so git-gui's Cygwin
specific code uses Windows pathnames. The unix/X11 code requires use of
unix pathnames, so none of the Cygwin specific code is compatible, and
all should be removed.

Fortunately, the is_Cygwin funcion in git-gui (on the git master branch)
relies upon the old Tcl/Tk and doesn't detect Cygwin. But, commit
c5766eae6f2b002396b6cd4f85b62317b707174e on the git-gui master branch
"fixed" is_Cygwin, enabling the incompatible code, so upstream git-gui
is now broken on Cygwin.

There is Cygwin specific code in the Makefile, intended to allow a
completely unsupported configuration with a Windows TclTk.  This code
misdetects the configuration, creating a non-portable installation. The
Cygwin git maintainer comments this code out. The code should be
removed.

The existing code for file browsing and creating a desktop icon is
shared with Git For Windows support, and uses Windows pathnames. This
code does not work on Cygwin, and needs replacement.  These functions
have not worked since 2012.

patch 1 removes the obsolete Makefile code
patch 2 removes all obsolete git-gui.sh code, wrapped in is_Cygwin...
patch 3 implements Cygwin specific file browsing support
patch 4 implemetns Cygwin specific desktop icon support

Patches 1/2 cause git-gui to function as it has for the last decade on
Cygwin, but without bugs masking bugs. Patches 3/4 restore functionality
lost with the Tcl/Tk switch in 2012.

Any argument for keeping the old Cygwin code must address who is going
to test and maintain that code, on what platform, and who the target
audience is. The old Tcl/Tk was only on 32-bit Cygwin and only supported
for the Insight debugger, 32-bit Cygwin is no longer supported, git-gui
is not supported on 8.4.1 Tcl/Tk, and the Windows versions targeted by
2012'ish 32-bit Cygwin are no longer supported.

Mark Levedahl (4):
  git gui Makefile - remove Cygwin modiifications
  git-gui - remove obsolete Cygwin specific code
  git-gui - use cygstart to browse on Cygwin
  git-gui - use mkshortcut on Cygwin

 Makefile                  |  21 +------
 git-gui.sh                | 126 ++++----------------------------------
 lib/choose_repository.tcl |  27 +-------
 lib/shortcut.tcl          |  31 +++++-----
 4 files changed, 31 insertions(+), 174 deletions(-)

-- 
2.41.0.99.19


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2023-08-29 16:19 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-24 21:23 [PATCH v0 0/4] Remove obsolete Cygwin support from git-gui Mark Levedahl
2023-06-24 21:23 ` [PATCH v0 1/4] git gui Makefile - remove Cygwin modiifications Mark Levedahl
2023-06-24 21:23 ` [PATCH v0 2/4] git-gui - remove obsolete Cygwin specific code Mark Levedahl
2023-06-25  2:56   ` Eric Sunshine
2023-06-25 11:29     ` Mark Levedahl
2023-06-24 21:23 ` [PATCH v0 3/4] git-gui - use cygstart to browse on Cygwin Mark Levedahl
2023-06-24 21:23 ` [PATCH v0 4/4] git-gui - use mkshortcut " Mark Levedahl
2023-06-24 23:30 ` [PATCH v0 0/4] Remove obsolete Cygwin support from git-gui Junio C Hamano
2023-06-24 23:35   ` Junio C Hamano
2023-06-25 11:28     ` Mark Levedahl
2023-06-25 11:26   ` Mark Levedahl
2023-06-25 12:10     ` Mark Levedahl
2023-06-25 15:46     ` Junio C Hamano
2023-06-25 17:01       ` Mark Levedahl
2023-06-26 15:52         ` Junio C Hamano
2023-06-26 16:55           ` Mark Levedahl
2023-06-26 16:53 ` [PATCH v1 " Mark Levedahl
2023-06-26 16:53   ` [PATCH v1 1/4] git gui Makefile - remove Cygwin modifications Mark Levedahl
2023-06-26 16:53   ` [PATCH v1 2/4] git-gui - remove obsolete Cygwin specific code Mark Levedahl
2023-06-26 16:53   ` [PATCH v1 3/4] git-gui - use cygstart to browse on Cygwin Mark Levedahl
2023-06-26 16:53   ` [PATCH v1 4/4] git-gui - use mkshortcut " Mark Levedahl
2023-06-27 11:51   ` [PATCH v1 0/4] Remove obsolete Cygwin support from git-gui Johannes Schindelin
2023-06-27 17:52   ` Junio C Hamano
2023-08-05 14:47     ` Mark Levedahl
2023-08-24 15:54       ` Pratyush Yadav
2023-08-29 16:03     ` Mark Levedahl
2023-08-29 16:18       ` Junio C Hamano

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 NNTP newsgroup(s).