mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-26 09:09:36 -05:00
Support open compare page directly (#17975)
* Support open compare page directly * simple code * Some improvements Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
4cbc865d83
commit
b300e3f485
2 changed files with 13 additions and 14 deletions
|
@ -215,23 +215,21 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo {
|
||||||
)
|
)
|
||||||
|
|
||||||
infoPath = ctx.Params("*")
|
infoPath = ctx.Params("*")
|
||||||
infos := strings.SplitN(infoPath, "...", 2)
|
var infos []string
|
||||||
|
if infoPath == "" {
|
||||||
if len(infos) != 2 {
|
infos = []string{baseRepo.DefaultBranch, baseRepo.DefaultBranch}
|
||||||
infos = []string{baseRepo.DefaultBranch, infoPath}
|
} else {
|
||||||
if strings.Contains(infoPath, "..") {
|
infos = strings.SplitN(infoPath, "...", 2)
|
||||||
infos = strings.SplitN(infoPath, "..", 2)
|
if len(infos) != 2 {
|
||||||
ci.DirectComparison = true
|
if infos = strings.SplitN(infoPath, "..", 2); len(infos) == 2 {
|
||||||
ctx.Data["PageIsComparePull"] = false
|
ci.DirectComparison = true
|
||||||
|
ctx.Data["PageIsComparePull"] = false
|
||||||
|
} else {
|
||||||
|
infos = []string{baseRepo.DefaultBranch, infoPath}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(infos) != 2 {
|
|
||||||
log.Trace("ParseCompareInfo[%d]: not enough compared branches information %s", baseRepo.ID, infos)
|
|
||||||
ctx.NotFound("CompareAndPullRequest", nil)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.Data["BaseName"] = baseRepo.OwnerName
|
ctx.Data["BaseName"] = baseRepo.OwnerName
|
||||||
ci.BaseBranch = infos[0]
|
ci.BaseBranch = infos[0]
|
||||||
ctx.Data["BaseBranch"] = ci.BaseBranch
|
ctx.Data["BaseBranch"] = ci.BaseBranch
|
||||||
|
|
|
@ -702,6 +702,7 @@ func RegisterRoutes(m *web.Route) {
|
||||||
m.Group("/milestone", func() {
|
m.Group("/milestone", func() {
|
||||||
m.Get("/{id}", repo.MilestoneIssuesAndPulls)
|
m.Get("/{id}", repo.MilestoneIssuesAndPulls)
|
||||||
}, reqRepoIssuesOrPullsReader, context.RepoRef())
|
}, reqRepoIssuesOrPullsReader, context.RepoRef())
|
||||||
|
m.Get("/compare", repo.MustBeNotEmpty, reqRepoCodeReader, repo.SetEditorconfigIfExists, ignSignIn, repo.SetDiffViewStyle, repo.SetWhitespaceBehavior, repo.CompareDiff)
|
||||||
m.Combo("/compare/*", repo.MustBeNotEmpty, reqRepoCodeReader, repo.SetEditorconfigIfExists).
|
m.Combo("/compare/*", repo.MustBeNotEmpty, reqRepoCodeReader, repo.SetEditorconfigIfExists).
|
||||||
Get(ignSignIn, repo.SetDiffViewStyle, repo.SetWhitespaceBehavior, repo.CompareDiff).
|
Get(ignSignIn, repo.SetDiffViewStyle, repo.SetWhitespaceBehavior, repo.CompareDiff).
|
||||||
Post(reqSignIn, context.RepoMustNotBeArchived(), reqRepoPullsReader, repo.MustAllowPulls, bindIgnErr(forms.CreateIssueForm{}), repo.SetWhitespaceBehavior, repo.CompareAndPullRequestPost)
|
Post(reqSignIn, context.RepoMustNotBeArchived(), reqRepoPullsReader, repo.MustAllowPulls, bindIgnErr(forms.CreateIssueForm{}), repo.SetWhitespaceBehavior, repo.CompareAndPullRequestPost)
|
||||||
|
|
Loading…
Reference in a new issue