Skip to content

Commit

Permalink
feat: automatically checkout and pull main branch
Browse files Browse the repository at this point in the history
Signed-off-by: Manfred Touron <94029+moul@users.noreply.github.com>
  • Loading branch information
moul committed Apr 24, 2021
1 parent d2b9739 commit 5ad0e40
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions maintenance.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,25 @@ func doMaintenanceOnce(_ context.Context, path string) error {
zap.String("current", project.Git.CurrentBranch),
zap.String("main", project.Git.MainBranch),
)
mainBranch, err := project.Git.repo.Branch(project.Git.MainBranch)
if err != nil {
return fmt.Errorf("failed to get ref for main branch: %q: %w", project.Git.MainBranch, err)
}

// TODO: checkout
// TODO: pull
return fmt.Errorf("not implemented: git checkout master/main")
err = project.Git.workTree.Checkout(&git.CheckoutOptions{
Branch: mainBranch.Merge,
})
if err != nil {
return fmt.Errorf("failed to checkout main branch: %q: %w", project.Git.MainBranch, err)
}

err = project.Git.workTree.Pull(&git.PullOptions{})
switch err {
case git.NoErrAlreadyUpToDate: // skip
case nil: // skip
default:
return fmt.Errorf("failed to pull main branch: %q: %w", project.Git.MainBranch, err)
}
}

// check if the project looks like a one that can be maintained by repoman
Expand Down

0 comments on commit 5ad0e40

Please sign in to comment.