diff --git a/git/repo.go b/git/repo.go index c2408b19dbd4836e99b4d888129ab7baccd91ffd..47ed852443a487eca3e93993e6ce7d364c4e2175 100644 --- a/git/repo.go +++ b/git/repo.go @@ -74,7 +74,7 @@ func (r *Repository) Name() string { // HEAD returns the HEAD reference for a repository. func (r *Repository) HEAD() (*Reference, error) { - rn, err := r.SymbolicRef(git.SymbolicRefOptions{Name: "HEAD"}) + rn, err := r.Repository.SymbolicRef(git.SymbolicRefOptions{Name: "HEAD"}) if err != nil { return nil, err } @@ -235,3 +235,13 @@ func (r *Repository) SetConfig(key, value string, opts ...ConfigOptions) error { opt.File = filepath.Join(dir, "config") return SetConfig(key, value, opt) } + +// SymbolicRef returns or updates the symbolic reference for the given name. +// Both name and ref can be empty. +func (r *Repository) SymbolicRef(name string, ref string) (string, error) { + opt := git.SymbolicRefOptions{ + Name: name, + Ref: ref, + } + return r.Repository.SymbolicRef(opt) +}