aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2018-09-14 04:07:59 +0700
committerShulhan <ms@kilabit.info>2018-09-14 04:09:00 +0700
commit1702fcf4576b4fddbbc40ad120511971e764db4b (patch)
tree8d51382dff518c416edf21640a4eddceee3ab8ec
parent70d991fd43879f629e0930a83298e25f93e426f9 (diff)
downloadpakakeh.go-1702fcf4576b4fddbbc40ad120511971e764db4b.tar.xz
lib/git: change ref parameter to remote name on CheckoutRevision
Using default ref ("origin/master") will result inconsistent branch name if branch is not "master".
-rw-r--r--lib/git/git.go22
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/git/git.go b/lib/git/git.go
index ff29d341..6bb113f9 100644
--- a/lib/git/git.go
+++ b/lib/git/git.go
@@ -31,7 +31,7 @@ var (
// CheckoutRevision will set the HEAD to specific revision on specific branch.
// Any untracked files and directories will be removed before checking out
// existing branch or creating new branch.
-// If ref is empty, it will use default reference "origin/master".
+// If remoteName is empty, it will use default reference "origin".
// If branch is empty, it will use default branch "master".
// If revision is empty, it will do nothing.
//
@@ -39,10 +39,17 @@ var (
// Client may call FetchAll() before, to prevent checking out revision that
// may not exist.
//
-func CheckoutRevision(repoDir, ref, branch, revision string) error {
+func CheckoutRevision(repoDir, remoteName, branch, revision string) error {
+ if len(remoteName) == 0 {
+ remoteName = _defRemoteName
+ }
+ if len(branch) == 0 {
+ branch = _defBranch
+ }
if len(revision) == 0 {
return nil
}
+ ref := remoteName + "/" + branch
cmd := exec.Command("git")
cmd.Args = append(cmd.Args, "clean", "-qdff")
@@ -62,20 +69,11 @@ func CheckoutRevision(repoDir, ref, branch, revision string) error {
if debug.Value == 0 {
cmd.Args = append(cmd.Args, "--quiet")
}
+ cmd.Args = append(cmd.Args, "--track", ref, "-B", branch)
cmd.Dir = repoDir
cmd.Stdout = _stdout
cmd.Stderr = _stderr
- if len(ref) == 0 {
- ref = _defRef
- }
- cmd.Args = append(cmd.Args, "--track", ref)
-
- if len(branch) == 0 {
- branch = _defBranch
- }
- cmd.Args = append(cmd.Args, "-B", branch)
-
if debug.Value >= 1 {
fmt.Printf("= CheckoutRevision %s %s\n", cmd.Dir, cmd.Args)
}