Browse Source

#1931 Test patch does not checkout correct base branch

Unknwon 9 years ago
parent
commit
4f03b81ec7
4 changed files with 15 additions and 5 deletions
  1. 10 1
      models/pull.go
  2. 1 1
      models/repo.go
  3. 0 1
      modules/middleware/repo.go
  4. 4 2
      templates/repo/sidebar.tmpl

+ 10 - 1
models/pull.go

@@ -218,6 +218,7 @@ var patchConflicts = []string{
 }
 
 // testPatch checks if patch can be merged to base repository without conflit.
+// FIXME: make a mechanism to clean up stable local copies.
 func (pr *PullRequest) testPatch() (err error) {
 	if pr.BaseRepo == nil {
 		pr.BaseRepo, err = GetRepositoryByID(pr.BaseRepoID)
@@ -243,8 +244,16 @@ func (pr *PullRequest) testPatch() (err error) {
 		return fmt.Errorf("UpdateLocalCopy: %v", err)
 	}
 
-	pr.Status = PULL_REQUEST_STATUS_CHECKING
+	// Checkout base branch.
 	_, stderr, err := process.ExecDir(-1, pr.BaseRepo.LocalCopyPath(),
+		fmt.Sprintf("PullRequest.Merge(git checkout): %s", pr.BaseRepo.ID),
+		"git", "checkout", pr.BaseBranch)
+	if err != nil {
+		return fmt.Errorf("git checkout: %s", stderr)
+	}
+
+	pr.Status = PULL_REQUEST_STATUS_CHECKING
+	_, stderr, err = process.ExecDir(-1, pr.BaseRepo.LocalCopyPath(),
 		fmt.Sprintf("testPatch(git apply --check): %d", pr.BaseRepo.ID),
 		"git", "apply", "--check", patchPath)
 	if err != nil {

+ 1 - 1
models/repo.go

@@ -320,7 +320,7 @@ func (repo *Repository) UpdateLocalCopy() error {
 		}
 	} else {
 		_, stderr, err := process.ExecDir(-1, localPath,
-			fmt.Sprintf("UpdateLocalCopy(git pull): %s", repoPath), "git", "pull")
+			fmt.Sprintf("UpdateLocalCopy(git pull --all): %s", repoPath), "git", "pull", "--all")
 		if err != nil {
 			return fmt.Errorf("git pull: %v - %s", err, stderr)
 		}

+ 0 - 1
modules/middleware/repo.go

@@ -81,7 +81,6 @@ func RepoRef() macaron.Handler {
 	return func(ctx *Context) {
 		// Empty repository does not have reference information.
 		if ctx.Repo.Repository.IsBare {
-			ctx.Data["CommitsCount"] = 0
 			return
 		}
 

+ 4 - 2
templates/repo/sidebar.tmpl

@@ -1,4 +1,5 @@
-<div class="ui five item menu">
+{{if not .IsBareRepo}}
+<div class="ui {{if .IsRepositoryAdmin}}five{{else}}four{{end}} item menu">
     <a class="item" href="{{.RepoLink}}/issues">
       <i class="icon octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui blue label">{{.Repository.NumOpenIssues}}</span>
     </a>
@@ -16,4 +17,5 @@
       <i class="icon octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}}
     </a>
     {{end}}
-</div>
+</div>
+{{end}}