From: "Shawn O. Pearce" <spearce@spearce.org>
To: "Jurko Gospodnetić" <jurko.gospodnetic@docte.hr>
Cc: git@vger.kernel.org
Subject: Re: git-gui not working in a non-default Cygwin installation.
Date: Sun, 17 Feb 2008 03:02:55 -0500 [thread overview]
Message-ID: <20080217080255.GQ24004@spearce.org> (raw)
In-Reply-To: <fp5fdj$5fi$1@ger.gmane.org>
Jurko Gospodneti <jurko.gospodnetic@docte.hr> wrote:
> I am unsure whether this is the right group for asking this question
> and if it is not please excuse me and/or redirect me to a more suitable one.
This is a pretty good place to start for all things Git related. :)
> One of these is that it seems that with the latest git release the
> git-gui script changed and started hardcoding some absolute paths in it
> during its build (git-gui/Makefile replaces @@GITGUI_SCRIPT@@ with a
> hardcoded path). However, this causes the prebuilt Cygwin package to not
> work in case Cygwin is not installed in its default location at
> C:\Cygwin (e.g. D:\Cygwin or C:\Program Files\Cygwin).
>
> Everything works fine if you manually edit the git-gui script and
> change the hard-coded path defined there.
>
> Is there something I'm missing here? E.g. is there any way for the
> Cygwin installation to set the correct path here? Or is the user
> supposed to modify this by hand on every installation? If this is so,
> then what other such files are expected to be modified?
Gaaaaah.
This is not what I had intended to have happen. Users should not
need to edit binary package files post installation to make things
work correctly.
There's a lot of people I could try to point fingers at for this,
but I think its all mine. :-\
First, let me point out that Cygwin's Tcl/Tk is stuck on 8.4.1 and
will probably never get updated again. I have had some bugs with
git-gui on 8.4.1 on Windows where git-fetch/git-push processes
get hung and don't function correctly. Upgrading Tcl/Tk to the
native Windows binaries of version 8.4.15 resolves the problem,
but that binary cannot handle Cygwin paths and Cygwin mount points.
Cygwin gets around needing to embed absolute paths into binary
files at build time by using the mount point feature to relocate
those paths onto the user's system. Thus '/' can be D:\Cygwin on
your system and C:\Program Files\Cygwin on mine. Executables linked
against the Cygwin library can still function just fine, but native
Win32 programs (like Tcl/Tk 8.4.15) can't.
git-gui assumes its going to be running on a newer (and more stable)
Tcl/Tk so its build process embeds the Windows path into the script.
*sigh*
I'll have to figure out on Cygwin if the $TCL_PATH I'm using is
able to resolve Cygwin absolute paths or not, and then build the
script accordingly. Fun.
I'll try to work up a Makefile patch in the next few days and get
it into a gitgui-0.9.3 maint release, which will probably roll up
into git 1.5.4.3.
--
Shawn.
next prev parent reply other threads:[~2008-02-17 8:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-16 1:48 git-gui not working in a non-default Cygwin installation Jurko Gospodnetić
2008-02-17 8:02 ` Shawn O. Pearce [this message]
2008-02-17 11:25 ` Jurko Gospodnetić
2008-02-17 13:39 ` Brian Dessent
2008-02-22 6:46 ` Shawn O. Pearce
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080217080255.GQ24004@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=jurko.gospodnetic@docte.hr \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.