knotserver/git: add GitRepo.Refresh #640

merged
opened by oppi.li targeting master from push-rvtqynpmozzy

after running a command externally that updates the git index, we need to refresh go-git's repr of the git repo. remember to run this after running something like git am.

Signed-off-by: oppiliappan me@oppi.li

Changed files
+11
knotserver
git
+11
knotserver/git/git.go
···
return &g, nil
}
func (g *GitRepo) Commits(offset, limit int) ([]*object.Commit, error) {
commits := []*object.Commit{}
···
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{}