Chris Packham [off-list ref] writes:
On Tue, Apr 29, 2014 at 2:56 PM, Chris Packham [off-list ref] wrote:
quoted
Hi Pat,
I'm running git 2.0.0-rc0 (haven't got round to pulling down rc1 yet)
which includes gitgui-0.19.0 and I'm getting a new error when I run
'git gui' in a repository with a .git file (created by git submodule).
I can send you a screencap of the error message off list if you want
but the text is
"No working directory ../../../<repo>
couldn't change working directory to ../../../<repo>: no such file or directory"
My tcl is a little rusty but I think the problem might be this snippet.
# v1.7.0 introduced --show-toplevel to return the canonical work-tree
if {[package vsatisfies $_git_version 1.7.0]} {
if { [is_Cygwin] } {
catch {set _gitworktree [exec cygpath --windows [git rev-parse
--show-toplevel]]}
} else {
set _gitworktree [git rev-parse --show-toplevel]
}
} else {
# try to set work tree from environment, core.worktree or use
# cdup to obtain a relative path to the top of the worktree. If
# run from the top, the ./ prefix ensures normalize expands pwd.
if {[catch { set _gitworktree $env(GIT_WORK_TREE) }]} {
set _gitworktree [get_config core.worktree]
if {$_gitworktree eq ""} {
set _gitworktree [file normalize ./[git rev-parse --show-cdup]]
}
}
}
The vsatisfies call probably doesn't handle '2.0.0.rc0' and the
fallback behaviour probably needs to normalise core.worktree
The _git_version variable has already been trimmed to remove such
suffixes so the version comparison here will be ok. It looks more likely
to be something to do with the .git being a file with a link being
mishandled. How did you setup this test repository with its link to a
parent?
quoted
Here's some other info that might help
$ git --version
git version 2.0.0.rc0
$ cat .git
gitdir: ../.git/modules/<repo>
$ git rev-parse --git-dir
/home/chris/src/<super>/.git/modules/<repo>
$ git config core.worktree
../../../<repo>
Thanks,
Chris
--
Pat Thoyts http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD