From: Giuseppe Bilotta Date: Wed, 18 Feb 2009 21:47:02 GMT Subject: Re: [PATCH 1/3] git-gui: properly check for a bare repo Message-ID: In-Reply-To: <20090218171639.GE22848@spearce.org> On Wed, Feb 18, 2009 at 6:16 PM, Shawn O. Pearce wrote: > Giuseppe Bilotta wrote: >> When bare repository handling is not enabled, check for a bare >> repository looking at the core.bare config option rather than refusing >> to operate with a git directory ending with .git. >> >> Signed-off-by: Giuseppe Bilotta >> --- >> I know I should have probably used something like >> git rev-parse --is-bare-repository instead, but I didn't feel like >> adding another git call. Is the config approach robust enough? >> >> git-gui/git-gui.sh | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh >> index e018e07..658a728 100755 >> --- a/git-gui/git-gui.sh >> +++ b/git-gui/git-gui.sh >> @@ -1071,7 +1071,7 @@ if {$_prefix ne {}} { >> } >> unset cdup >> } elseif {![is_enabled bare]} { >> - if {[lindex [file split $_gitdir] end] ne {.git}} { >> + if {[is_config_true core.bare]} { > > This doesn't work as you expect. Its a chicken-and-egg problem. > We haven't read the config yet because we aren't sure that the > $_gitdir really is a git directory. Consequently, core.bare is > always false. Isn't the config loaded on line 1053? Better ways to work around the issue? -- Giuseppe "Oblomov" Bilotta