0
0
mirror of https://github.com/thegeeklab/wp-git-clone.git synced 2024-11-14 19:30:40 +00:00
wp-git-clone/git/submodule.go

31 lines
479 B
Go
Raw Normal View History

2023-12-22 23:59:23 +00:00
package git
import (
"golang.org/x/sys/execabs"
)
// SubmoduleUpdate recursively initializes and updates submodules.
func SubmoduleUpdate(repo Repository) *execabs.Cmd {
args := []string{
"submodule",
"update",
"--init",
"--recursive",
}
if repo.SubmodulePartial {
args = append(args, "--depth=1", "--recommend-shallow")
}
cmd := execabs.Command(
gitBin,
args...,
)
if repo.SubmoduleRemote {
cmd.Args = append(cmd.Args, "--remote")
}
return cmd
}