enable updating to a specific commit
2 files changed, 12 insertions(+), 8 deletions(-)
M internal/vcs/repository.go → internal/vcs/repository.go
@@ -46,8 +46,8 @@ return } -func (r *Repository) Update() (updated bool, err error) { - r.log.Info("updating repository", "from", r.headSHA()) +func (r *Repository) Update(rev string) (updated bool, err error) { + r.log.Info("updating repository", "from", r.HeadSHA()) err = r.repo.Fetch(&git.FetchOptions{ Prune: true, })@@ -73,12 +73,16 @@ return false, err } var hash plumbing.Hash - for _, ref := range refs { - if ref.Name() == plumbing.Main { - hash = ref.Hash() + if rev != "" { + for _, ref := range refs { + if ref.Name() == plumbing.Main { + hash = ref.Hash() - break + break + } } + } else { + hash = plumbing.NewHash(rev) } wt, err := r.repo.Worktree()@@ -116,7 +120,7 @@ return nil } -func (r *Repository) headSHA() string { +func (r *Repository) HeadSHA() string { head, err := r.repo.Head() if err != nil { return ""
M internal/website/website.go → internal/website/website.go
@@ -56,7 +56,7 @@ } builderOptions.Repo = repo if exists && !opts.Development { - _, err := repo.Update() + _, err := repo.Update("") if err != nil { return nil, errors.WithMessage(err, "could not update repository") }