git-gui: Fixes chooser not accepting gitfiles
[gitweb.git] / lib / choose_repository.tcl
index 92d602221f92453bba4eebfae62d9b1d82ddea69..abc6b1dbcbc62de454fc9f08af8d56d083dc0727 100644 (file)
@@ -339,6 +339,16 @@ method _git_init {} {
 }
 
 proc _is_git {path} {
+       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 {[file exists [file join $path HEAD]]
         && [file exists [file join $path objects]]
         && [file exists [file join $path config]]} {