diff options
| author | Shulhan <ms@kilabit.info> | 2018-09-14 04:07:59 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2018-09-14 04:09:00 +0700 |
| commit | 1702fcf4576b4fddbbc40ad120511971e764db4b (patch) | |
| tree | 8d51382dff518c416edf21640a4eddceee3ab8ec | |
| parent | 70d991fd43879f629e0930a83298e25f93e426f9 (diff) | |
| download | pakakeh.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.go | 22 |
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) } |
