diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2016-08-20 01:29:07 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-08-20 01:29:07 +0200 |
commit | 9f49aaed839ae608a0ffdaa0656b3975d3404002 (patch) | |
tree | cc196dbcf8d1994f83b4950bf35948ac17303b5b /storage/filesystem/internal/dotgit/dotgit.go | |
parent | 1d56b98d9b02e20f7feea542c75746eab34fad63 (diff) | |
download | go-git-9f49aaed839ae608a0ffdaa0656b3975d3404002.tar.gz |
storage: support ConfigStorage, memory done, fs wip
Diffstat (limited to 'storage/filesystem/internal/dotgit/dotgit.go')
-rw-r--r-- | storage/filesystem/internal/dotgit/dotgit.go | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/storage/filesystem/internal/dotgit/dotgit.go b/storage/filesystem/internal/dotgit/dotgit.go index f365f13..448f6a2 100644 --- a/storage/filesystem/internal/dotgit/dotgit.go +++ b/storage/filesystem/internal/dotgit/dotgit.go @@ -12,17 +12,18 @@ import ( const ( suffix = ".git" packedRefsPath = "packed-refs" + configPath = "config" ) var ( // ErrNotFound is returned by New when the path is not found. ErrNotFound = errors.New("path not found") - // ErrIdxNotFound is returned by Idxfile when the idx file is not found on the - // repository. + // ErrIdxNotFound is returned by Idxfile when the idx file is not found ErrIdxNotFound = errors.New("idx file not found") // ErrPackfileNotFound is returned by Packfile when the packfile is not found - // on the repository. ErrPackfileNotFound = errors.New("packfile not found") + // ErrConfigNotFound is returned by Config when the config is not found + ErrConfigNotFound = errors.New("config file not found") ) // The DotGit type represents a local git repository on disk. This @@ -103,3 +104,17 @@ func (d *DotGit) Idxfile() (fs.FS, string, error) { return nil, "", ErrIdxNotFound } + +// Config returns the path of the config file +func (d *DotGit) Config() (fs.FS, string, error) { + configFile := d.fs.Join(d.path, configPath) + if _, err := d.fs.Stat(configFile); err != nil { + if os.IsNotExist(err) { + return nil, "", ErrNotFound + } + + return nil, "", err + } + + return d.fs, configFile, nil +} |