diff --git a/knotserver/git/git.go b/knotserver/git/git.go --- a/knotserver/git/git.go +++ b/knotserver/git/git.go @@ -71,6 +71,17 @@ return &g, nil } +// re-open a repository and update references +func (g *GitRepo) Refresh() error { + refreshed, err := PlainOpen(g.path) + if err != nil { + return err + } + + *g = *refreshed + return nil +} + func (g *GitRepo) Commits(offset, limit int) ([]*object.Commit, error) { commits := []*object.Commit{}