0
0
mirror of https://github.com/thegeeklab/wp-git-action.git synced 2024-11-09 17:10:41 +00:00
wp-git-action/git/clone.go

41 lines
641 B
Go

package git
import (
"fmt"
"github.com/thegeeklab/wp-plugin-go/v2/types"
"golang.org/x/sys/execabs"
)
// FetchSource fetches the source from remote.
func FetchSource(repo Repository) *types.Cmd {
args := []string{
"fetch",
"origin",
fmt.Sprintf("+%s:", repo.Branch),
}
cmd := execabs.Command(gitBin, args...)
cmd.Dir = repo.WorkDir
return &types.Cmd{
Cmd: cmd,
}
}
// CheckoutHead handles branch checkout.
func CheckoutHead(repo Repository) *types.Cmd {
args := []string{
"checkout",
"-qf",
repo.Branch,
}
cmd := execabs.Command(gitBin, args...)
cmd.Dir = repo.WorkDir
return &types.Cmd{
Cmd: cmd,
}
}