diff options
Diffstat (limited to 'plumbing/transport/server/loader.go')
-rw-r--r-- | plumbing/transport/server/loader.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/plumbing/transport/server/loader.go b/plumbing/transport/server/loader.go index e7e2b07..f03a91c 100644 --- a/plumbing/transport/server/loader.go +++ b/plumbing/transport/server/loader.go @@ -40,8 +40,16 @@ func (l *fsLoader) Load(ep *transport.Endpoint) (storer.Storer, error) { return nil, err } - if _, err := fs.Stat("config"); err != nil { - return nil, transport.ErrRepositoryNotFound + var bare bool + if _, err := fs.Stat("config"); err == nil { + bare = true + } + + if !bare { + // do not use git.GitDirName due to import cycle + if _, err := fs.Stat(".git"); err != nil { + return nil, transport.ErrRepositoryNotFound + } } return filesystem.NewStorage(fs, cache.NewObjectLRUDefault()), nil |