]> source.dussan.org Git - gitea.git/commitdiff
Create PR on Current Repository by Default (#8670)
authorBenno <blueworrybear@gmail.com>
Wed, 30 Oct 2019 05:58:18 +0000 (13:58 +0800)
committerLunny Xiao <xiaolunwen@gmail.com>
Wed, 30 Oct 2019 05:58:18 +0000 (13:58 +0800)
* 'update'

* Send push tag event when release created

* send tag create event while release created in UI

* update to go v1.13

* fix gofmt error

* fix #8576 create pull request on current repository by default

routers/repo/compare.go
templates/repo/diff/compare.tmpl
templates/repo/issue/list.tmpl

index f8534f68b77b660bfa24f3f8dac9475549c58ccf..b9e14abfb87bb352f10d940f996c44e4cfc0ef43 100644 (file)
@@ -339,12 +339,40 @@ func PrepareCompareDiff(
        return false
 }
 
+// parseBaseRepoInfo parse base repository if current repo is forked.
+// The "base" here means the repository where current repo forks from,
+// not the repository fetch from current URL.
+func parseBaseRepoInfo(ctx *context.Context, repo *models.Repository) error {
+       if !repo.IsFork {
+               return nil
+       }
+       if err := repo.GetBaseRepo(); err != nil {
+               return err
+       }
+       if err := repo.BaseRepo.GetOwnerName(); err != nil {
+               return err
+       }
+       baseGitRepo, err := git.OpenRepository(models.RepoPath(repo.BaseRepo.OwnerName, repo.BaseRepo.Name))
+       if err != nil {
+               return err
+       }
+       ctx.Data["BaseRepoBranches"], err = baseGitRepo.GetBranches()
+       if err != nil {
+               return err
+       }
+       return nil
+}
+
 // CompareDiff show different from one commit to another commit
 func CompareDiff(ctx *context.Context) {
        headUser, headRepo, headGitRepo, compareInfo, baseBranch, headBranch := ParseCompareInfo(ctx)
        if ctx.Written() {
                return
        }
+       if err := parseBaseRepoInfo(ctx, headRepo); err != nil {
+               ctx.ServerError("parseBaseRepoInfo", err)
+               return
+       }
 
        nothingToCompare := PrepareCompareDiff(ctx, headUser, headRepo, headGitRepo, compareInfo, baseBranch, headBranch)
        if ctx.Written() {
index 1c8942d42fef2552536b2f32a6570f4105e998bc..50a51c44acc2046dc7369a2547e49256ed2ec6c4 100644 (file)
                                                {{range .Branches}}
                                                        <div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{EscapePound .}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}:{{end}}{{EscapePound $.HeadBranch}}">{{$.BaseName}}:{{.}}</div>
                                                {{end}}
+                                               {{if .Repository.IsFork}}
+                                                       {{range .BaseRepoBranches}}
+                                                       <div class="item" data-url="{{$.PullRequestCtx.BaseRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}:{{EscapePound $.HeadBranch}}">{{$.PullRequestCtx.BaseRepo.OwnerName}}:{{.}}</div>
+                                                       {{end}}
+                                               {{end}}
                                        </div>
                                </div>
                        </div>
@@ -54,7 +59,7 @@
 
        {{if .IsNothingToCompare}}
        <div class="ui segment">{{.i18n.Tr "repo.pulls.nothing_to_compare"}}</div>
-    {{else if .PageIsComparePull}}
+       {{else if .PageIsComparePull}}
                {{if .HasPullRequest}}
                <div class="ui segment">
                        {{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}}
index 9b354a6800bad1856cb9ab379ab983b87cd6c91f..d68e6dac26b38560aa290fe5431ca1dbc19cb16b 100644 (file)
@@ -14,7 +14,7 @@
                                        {{if .PageIsIssueList}}
                                                <a class="ui green button" href="{{.RepoLink}}/issues/new">{{.i18n.Tr "repo.issues.new"}}</a>
                                        {{else}}
-                                               <a class="ui green button {{if not .PullRequestCtx.Allowed}}disabled{{end}}" href="{{if .PullRequestCtx.Allowed}}{{.PullRequestCtx.BaseRepo.Link}}/compare/{{.PullRequestCtx.BaseRepo.DefaultBranch | EscapePound}}...{{if ne .Repository.Owner.Name .PullRequestCtx.BaseRepo.Owner.Name}}{{.Repository.Owner.Name}}:{{end}}{{.Repository.DefaultBranch | EscapePound}}{{end}}">{{.i18n.Tr "repo.pulls.new"}}</a>
+                                               <a class="ui green button {{if not .PullRequestCtx.Allowed}}disabled{{end}}" href="{{if .PullRequestCtx.Allowed}}{{.Repository.Link}}/compare/{{.Repository.DefaultBranch | EscapePound}}...{{if ne .Repository.Owner.Name .PullRequestCtx.BaseRepo.Owner.Name}}{{.Repository.Owner.Name}}:{{end}}{{.Repository.DefaultBranch | EscapePound}}{{end}}">{{.i18n.Tr "repo.pulls.new"}}</a>
                                        {{end}}
                                </div>
                        {{else}}