git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'

From
Johannes Sixt <johannes.sixt@telecom.at>
Date
Aug 4, 2008, 19:58 UTC
Message-ID
<1217879912.48975f6809e10@webmail.nextra.at>
In-Reply-To
<58FBF585-377C-40A7-818E-6B47F8FD2EB8@zib.de>

The new execdir has is two levels below the root directory, while the old execdir 'bin' was only one level below. This commit adapts the discovery of oguilib that uses relative paths accordingly. We determine whether we have the extra level in the same way in which the Makefile defines sharedir, i.e. whether the last directory part is 'git-core'.

Inspired-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
Zitat von Steffen Prohaska <prohaska@zib.de>:
Show 29 quoted lines
>
> On Aug 3, 2008, at 11:35 AM, Johannes Sixt wrote:
> > I run git-gui effectivly with
> >
> >   wish $prefix/libexec/git-core/git-gui
> >
> > (and I have $PATH set up to contain $bindir, but not $gitexecdir),
> > and this
> > needs the original hunk with the three [file dirname ... ], because
> > $argv0
> > points to $prefix/libexec/git-core/git-gui.
>
> The original hunk fixes the discovery of oguilib, i.e.
> from $prefix/libexec/git-core/git-gui to $prefix/share/git-gui/lib
>
> I didn't recognize that the the 'three [file dinames ...]' have
> not been applied because I had this change already in 4msysgit
> (and still have).  Apologies for not checking this more carefully.
>
>
> > I thought I understood what's going on, but I don't anymore.
> >
> > Mybe the relative discovery of oguilib must be conditional on the
> > "git-core"
> > part as well, just like you discover sharedir?
>
> Hmm... you are right.  If we want to maintain compatibility
> with *both* directory layouts, obviously all computations
> that depend on the layout need to be conditional on it.
Here is a patch that does just this.
-- Hannes
 git-gui/git-gui.sh |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index fd3875a..fa08d49 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -52,7 +52,11 @@ catch {rename send {}} ; # What an evil concept...
 set oguilib {@@GITGUI_LIBDIR@@}
 set oguirel {@@GITGUI_RELATIVE@@}
 if {$oguirel eq {1}} {
-	set oguilib [file dirname [file dirname [file normalize $argv0]]]
+	set oguilib [file dirname [file normalize $argv0]]
+	if {[lindex [file split $oguilib] end] eq {git-core}} {
+		set oguilib [file dirname $oguilib]
+	}
+	set oguilib [file dirname $oguilib]
 	set oguilib [file join $oguilib share git-gui lib]
 	set oguimsg [file join $oguilib msgs]
 } elseif {[string match @@* $oguirel]} {
-- 
1.6.0.rc1.958.gce1ed
Previous: Steffen ProhaskaNext: Shawn O. Pearce
Message 11 of 13 in “git-gui (Windows): Adapt to new execdir 'libexec/git-core'”
  1. 0/3 git-gui (Windows): Adapt to new execdir 'libexec/git-core'Steffen Prohaska, Jul 27, 2008
  2. 1/3 git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'Steffen Prohaska, Jul 27, 2008
  3. 2/3 git-gui (Windows): Switch to relative discovery of oguilibSteffen Prohaska, Jul 27, 2008
  4. 3/3 git-gui (Windows): Change wrapper to execdir 'libexec/git-core'Steffen Prohaska, Jul 27, 2008
  5. Shawn O. PearceJul 27, 2008
  6. Steffen ProhaskaJul 28, 2008
  7. Shawn O. PearceJul 30, 2008
  8. Steffen ProhaskaJul 30, 2008
  9. Johannes SixtAug 3, 2008
  10. Steffen ProhaskaAug 3, 2008
  11. git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'Johannes Sixt, Aug 4, 2008
  12. Shawn O. PearceAug 4, 2008
  13. git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'Johannes Sixt, Aug 4, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.