forgejo/modules/git/repo.go

31 lines
681 B
Go
Raw Normal View History

2014-07-26 13:24:27 +09:00
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package git
import (
2015-11-20 16:38:41 +09:00
"errors"
2014-07-26 13:24:27 +09:00
"path/filepath"
)
// Repository represents a Git repository.
type Repository struct {
Path string
commitCache map[sha1]*Commit
tagCache map[sha1]*Tag
}
// OpenRepository opens the repository at the given path.
func OpenRepository(repoPath string) (*Repository, error) {
repoPath, err := filepath.Abs(repoPath)
if err != nil {
return nil, err
2015-11-20 16:38:41 +09:00
} else if !isDir(repoPath) {
return nil, errors.New("no such file or directory")
2014-07-26 13:24:27 +09:00
}
return &Repository{Path: repoPath}, nil
}