git-gui: allow opening work trees from the startup dialog
In proc _is_git check that supplied path is a valid work tree path. This allows the choose_repository::pick dialog to accept path to a work tree directory. Signed-off-by: Mikhail Terekhov <termim@gmail.com> Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
This commit is contained in:
parent
c195247812
commit
a7473956f7
@ -357,31 +357,10 @@ proc _is_git {path {outdir_var ""}} {
|
||||
if {$outdir_var ne ""} {
|
||||
upvar 1 $outdir_var outdir
|
||||
}
|
||||
if {[file isfile $path]} {
|
||||
set fp [open $path r]
|
||||
gets $fp line
|
||||
close $fp
|
||||
if {[regexp "^gitdir: (.+)$" $line line link_target]} {
|
||||
set path [file join [file dirname $path] $link_target]
|
||||
set path [file normalize $path]
|
||||
}
|
||||
if {[catch {set outdir [git rev-parse --resolve-git-dir $path]}]} {
|
||||
return 0
|
||||
}
|
||||
|
||||
if {[file exists [file join $path HEAD]]
|
||||
&& [file exists [file join $path objects]]
|
||||
&& [file exists [file join $path config]]} {
|
||||
set outdir $path
|
||||
return 1
|
||||
}
|
||||
if {[is_Cygwin]} {
|
||||
if {[file exists [file join $path HEAD]]
|
||||
&& [file exists [file join $path objects.lnk]]
|
||||
&& [file exists [file join $path config.lnk]]} {
|
||||
set outdir $path
|
||||
return 1
|
||||
}
|
||||
}
|
||||
return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
proc _objdir {path} {
|
||||
|
Loading…
Reference in New Issue
Block a user