Documentation
¶
Index ¶
- func FindRepo(path string) (string, error)
- func HashObject(obj GitObject) (string, []byte)
- func WriteIndex(repo *GitRepository, index *GitIndex) error
- func WriteObject(repo *GitRepository, obj GitObject) (string, error)
- type GitBlob
- type GitCommit
- type GitIndex
- type GitObject
- func FindObject(repo *GitRepository, sha, objType string) (GitObject, error)
- func NewGitBlob(data []byte) GitObject
- func NewGitCommitFromObjData(data []byte) GitObject
- func NewGitTree(data []byte) GitObject
- func NewGitTreeFromIndex(index *GitIndex) GitObject
- func ReadObject(repo *GitRepository, sha string) (GitObject, error)
- type GitRepository
- type GitTree
- type GitTreeEntry
- type GitUser
- type IndexEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindRepo ¶
FindRepo return git repository path if .git directory is not exist in path, find parent directory recursively.
func HashObject ¶
HashObject return object hash and serialized data
func WriteIndex ¶
func WriteIndex(repo *GitRepository, index *GitIndex) error
func WriteObject ¶
func WriteObject(repo *GitRepository, obj GitObject) (string, error)
Types ¶
type GitCommit ¶
func (*GitCommit) Deserialize ¶
type GitIndex ¶
type GitIndex struct {
Entries []*IndexEntry
}
func ReadIndex ¶
func ReadIndex(repo *GitRepository) (*GitIndex, error)
type GitObject ¶
func FindObject ¶
func FindObject(repo *GitRepository, sha, objType string) (GitObject, error)
func NewGitBlob ¶
func NewGitCommitFromObjData ¶
func NewGitTree ¶
func NewGitTreeFromIndex ¶
func ReadObject ¶
func ReadObject(repo *GitRepository, sha string) (GitObject, error)
ReadObject retrun a GitObject whose exact type depends on the object.
type GitRepository ¶
func CreateAndInitializeRepo ¶
func CreateAndInitializeRepo(path string) (*GitRepository, error)
Create a new repository at path
func NewGitRepository ¶
func NewGitRepository(path string) (*GitRepository, error)
NewGitRepository return `GitRepository` return error if ".git" dir is not exists in path.
func NewGitRepositoryForceCreate ¶
func NewGitRepositoryForceCreate(path string) (*GitRepository, error)
NewGitRepository return `GitRepository` force create if path is not Git directory.
func (*GitRepository) CreateRepoDir ¶
func (gr *GitRepository) CreateRepoDir(path string) error
func (*GitRepository) RepoPath ¶
func (gr *GitRepository) RepoPath(path string) string
RepoPath return path joined ".git" directory
func (*GitRepository) SaveRepoFile ¶
func (gr *GitRepository) SaveRepoFile(path string, data []byte) error
SaveRepoFile save file to path which joined ".git".
type GitTreeEntry ¶
func ParseTree ¶
func ParseTree(data []byte) []*GitTreeEntry
Click to show internal directories.
Click to hide internal directories.