gitea
Зеркало из https://github.com/go-gitea/gitea
1{{template "base/head" .}}
2<div role="main" aria-label="{{.Title}}" class="page-content repository diff {{if .PageIsComparePull}}compare pull{{end}}">
3{{template "repo/header" .}}
4{{$showDiffBox := false}}
5<div class="ui container fluid padded">
6<h2 class="ui header">
7{{if and $.PageIsComparePull $.IsSigned (not .Repository.IsArchived)}}
8{{ctx.Locale.Tr "repo.pulls.compare_changes"}}
9<div class="sub header">{{ctx.Locale.Tr "repo.pulls.compare_changes_desc"}}</div>
10{{else}}
11{{ctx.Locale.Tr "action.compare_commits_general"}}
12{{end}}
13</h2>
14{{$BaseCompareName := $.BaseName -}}
15{{- $HeadCompareName := $.HeadRepo.OwnerName -}}
16{{- if and (eq $.BaseName $.HeadRepo.OwnerName) (ne $.Repository.Name $.HeadRepo.Name) -}}
17{{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}}
18{{- end -}}
19{{- $OwnForkCompareName := "" -}}
20{{- if .OwnForkRepo -}}
21{{- $OwnForkCompareName = .OwnForkRepo.OwnerName -}}
22{{- end -}}
23{{- $RootRepoCompareName := "" -}}
24{{- if .RootRepo -}}
25{{- $RootRepoCompareName = .RootRepo.OwnerName -}}
26{{- if eq $.HeadRepo.OwnerName .RootRepo.OwnerName -}}
27{{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}}
28{{- end -}}
29{{- end -}}
30<div class="ui segment choose branch">
31<a class="tw-mr-2" href="{{$.HeadRepo.Link}}/compare/{{PathEscapeSegments $.HeadBranch}}{{$.CompareSeparator}}{{if not $.PullRequestCtx.SameRepo}}{{PathEscape $.BaseName}}/{{PathEscape $.Repository.Name}}:{{end}}{{PathEscapeSegments $.BaseBranch}}" title="{{ctx.Locale.Tr "repo.pulls.switch_head_and_base"}}">{{svg "octicon-git-compare"}}</a>
32<div class="ui floating filter dropdown" data-no-results="{{ctx.Locale.Tr "no_results_found"}}">
33<div class="ui basic small button">
34<span class="text">{{if $.PageIsComparePull}}{{ctx.Locale.Tr "repo.pulls.compare_base"}}{{else}}{{ctx.Locale.Tr "repo.compare.compare_base"}}{{end}}: {{$BaseCompareName}}:{{$.BaseBranch}}</span>
35{{svg "octicon-triangle-down" 14 "dropdown icon"}}
36</div>
37<div class="menu">
38<div class="ui icon search input">
39<i class="icon">{{svg "octicon-filter" 16}}</i>
40<input name="search" placeholder="{{ctx.Locale.Tr "repo.filter_branch_and_tag"}}...">
41</div>
42<div class="header">
43<div class="ui grid">
44<div class="two column row">
45<a class="reference column" href="#" data-target=".base-branch-list">
46<span class="text black">
47{{svg "octicon-git-branch" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.branches"}}
48</span>
49</a>
50<a class="reference column" href="#" data-target=".base-tag-list">
51<span class="text black">
52{{svg "octicon-tag" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.tags"}}
53</span>
54</a>
55</div>
56</div>
57</div>
58<div class="scrolling menu reference-list-menu base-branch-list">
59{{range .Branches}}
60<div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{if not $.PullRequestCtx.SameRepo}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{end}}{{PathEscapeSegments $.HeadBranch}}">{{$BaseCompareName}}:{{.}}</div>
61{{end}}
62{{if not .PullRequestCtx.SameRepo}}
63{{range .HeadBranches}}
64<div class="item" data-url="{{$.HeadRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$HeadCompareName}}:{{.}}</div>
65{{end}}
66{{end}}
67{{if .OwnForkRepo}}
68{{range .OwnForkRepoBranches}}
69<div class="item" data-url="{{$.OwnForkRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$OwnForkCompareName}}:{{.}}</div>
70{{end}}
71{{end}}
72{{if and .RootRepo (.RootRepo.AllowsPulls ctx)}}
73{{range .RootRepoBranches}}
74<div class="item" data-url="{{$.RootRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$RootRepoCompareName}}:{{.}}</div>
75{{end}}
76{{end}}
77</div>
78<div class="scrolling menu reference-list-menu base-tag-list tw-hidden">
79{{range .Tags}}
80<div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{if not $.PullRequestCtx.SameRepo}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{end}}{{PathEscapeSegments $.HeadBranch}}">{{$BaseCompareName}}:{{.}}</div>
81{{end}}
82{{if not .PullRequestCtx.SameRepo}}
83{{range .HeadTags}}
84<div class="item" data-url="{{$.HeadRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$HeadCompareName}}:{{.}}</div>
85{{end}}
86{{end}}
87{{if .OwnForkRepo}}
88{{range .OwnForkRepoTags}}
89<div class="item" data-url="{{$.OwnForkRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$OwnForkCompareName}}:{{.}}</div>
90{{end}}
91{{end}}
92{{if .RootRepo}}
93{{range .RootRepoTags}}
94<div class="item" data-url="{{$.RootRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$RootRepoCompareName}}:{{.}}</div>
95{{end}}
96{{end}}
97</div>
98</div>
99</div>
100<a href="{{.RepoLink}}/compare/{{PathEscapeSegments .BaseBranch}}{{.OtherCompareSeparator}}{{if not $.PullRequestCtx.SameRepo}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{end}}{{PathEscapeSegments $.HeadBranch}}" title="{{ctx.Locale.Tr "repo.pulls.switch_comparison_type"}}">{{svg "octicon-arrow-left" 16}}<div class="compare-separator">{{.CompareSeparator}}</div></a>
101<div class="ui floating filter dropdown">
102<div class="ui basic small button">
103<span class="text">{{if $.PageIsComparePull}}{{ctx.Locale.Tr "repo.pulls.compare_compare"}}{{else}}{{ctx.Locale.Tr "repo.compare.compare_head"}}{{end}}: {{$HeadCompareName}}:{{$.HeadBranch}}</span>
104{{svg "octicon-triangle-down" 14 "dropdown icon"}}
105</div>
106<div class="menu">
107<div class="ui icon search input">
108<i class="icon">{{svg "octicon-filter" 16}}</i>
109<input name="search" placeholder="{{ctx.Locale.Tr "repo.filter_branch_and_tag"}}...">
110</div>
111<div class="header">
112<div class="ui grid">
113<div class="two column row">
114<a class="reference column" href="#" data-target=".head-branch-list">
115<span class="text black">
116{{svg "octicon-git-branch" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.branches"}}
117</span>
118</a>
119<a class="reference column" href="#" data-target=".head-tag-list">
120<span class="text black">
121{{svg "octicon-tag" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.tags"}}
122</span>
123</a>
124</div>
125</div>
126</div>
127<div class="scrolling menu reference-list-menu head-branch-list">
128{{range .HeadBranches}}
129<div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{if not $.PullRequestCtx.SameRepo}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{end}}{{PathEscapeSegments .}}">{{$HeadCompareName}}:{{.}}</div>
130{{end}}
131{{if not .PullRequestCtx.SameRepo}}
132{{range .Branches}}
133<div class="item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{PathEscape $.BaseName}}/{{PathEscape $.Repository.Name}}:{{PathEscapeSegments .}}">{{$BaseCompareName}}:{{.}}</div>
134{{end}}
135{{end}}
136{{if .OwnForkRepo}}
137{{range .OwnForkRepoBranches}}
138<div class="item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{PathEscape $.OwnForkRepo.OwnerName}}/{{PathEscape $.OwnForkRepo.Name}}:{{PathEscapeSegments .}}">{{$OwnForkCompareName}}:{{.}}</div>
139{{end}}
140{{end}}
141{{if .RootRepo}}
142{{range .RootRepoBranches}}
143<div class="item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{PathEscape $.RootRepo.OwnerName}}/{{PathEscape $.RootRepo.Name}}:{{PathEscapeSegments .}}">{{$RootRepoCompareName}}:{{.}}</div>
144{{end}}
145{{end}}
146</div>
147<div class="scrolling menu reference-list-menu head-tag-list tw-hidden">
148{{range .HeadTags}}
149<div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{if not $.PullRequestCtx.SameRepo}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{end}}{{PathEscapeSegments .}}">{{$HeadCompareName}}:{{.}}</div>
150{{end}}
151{{if not .PullRequestCtx.SameRepo}}
152{{range .Tags}}
153<div class="item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{PathEscape $.BaseName}}/{{PathEscape $.Repository.Name}}:{{PathEscapeSegments .}}">{{$BaseCompareName}}:{{.}}</div>
154{{end}}
155{{end}}
156{{if .OwnForkRepo}}
157{{range .OwnForkRepoTags}}
158<div class="item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{PathEscape $.OwnForkRepo.OwnerName}}/{{PathEscape $.OwnForkRepo.Name}}:{{PathEscapeSegments .}}">{{$OwnForkCompareName}}:{{.}}</div>
159{{end}}
160{{end}}
161{{if .RootRepo}}
162{{range .RootRepoTags}}
163<div class="item" data-url="{{$.RepoLink}}/compare/{{PathEscapeSegments $.BaseBranch}}{{$.CompareSeparator}}{{PathEscape $.RootRepo.OwnerName}}/{{PathEscape $.RootRepo.Name}}:{{PathEscapeSegments .}}">{{$RootRepoCompareName}}:{{.}}</div>
164{{end}}
165{{end}}
166</div>
167</div>
168</div>
169</div>
170
171{{if .IsNothingToCompare}}
172{{if and $.IsSigned $.AllowEmptyPr (not .Repository.IsArchived) .PageIsComparePull}}
173<div class="ui segment">{{ctx.Locale.Tr "repo.pulls.nothing_to_compare_and_allow_empty_pr"}}</div>
174<div class="ui info message show-form-container {{if .Flash}}tw-hidden{{end}}">
175<button class="ui button primary show-form">{{ctx.Locale.Tr "repo.pulls.new"}}</button>
176</div>
177<div class="pullrequest-form {{if not .Flash}}tw-hidden{{end}}">
178{{template "repo/issue/new_form" .}}
179</div>
180{{else if and .HeadIsBranch .BaseIsBranch}}
181<div class="ui segment">{{ctx.Locale.Tr "repo.pulls.nothing_to_compare"}}</div>
182{{else}}
183<div class="ui segment">{{ctx.Locale.Tr "repo.pulls.nothing_to_compare_have_tag"}}</div>
184{{end}}
185{{else if and .PageIsComparePull (gt .CommitCount 0)}}
186{{if .HasPullRequest}}
187<div class="ui segment flex-text-block tw-gap-4">
188{{template "shared/issueicon" .}}
189<div class="issue-title tw-break-anywhere">
190{{RenderIssueTitle $.Context .PullRequest.Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}}
191<span class="index">#{{.PullRequest.Issue.Index}}</span>
192</div>
193<a href="{{$.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui compact button primary">
194{{ctx.Locale.Tr "repo.pulls.view"}}
195</a>
196</div>
197{{else}}
198{{if and $.IsSigned (not .Repository.IsArchived)}}
199<div class="ui info message show-form-container {{if .Flash}}tw-hidden{{end}}">
200<button class="ui button primary show-form">{{ctx.Locale.Tr "repo.pulls.new"}}</button>
201</div>
202{{else if .Repository.IsArchived}}
203<div class="ui warning message tw-text-center">
204{{if .Repository.ArchivedUnix.IsZero}}
205{{ctx.Locale.Tr "repo.archive.title"}}
206{{else}}
207{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}}
208{{end}}
209</div>
210{{end}}
211{{if $.IsSigned}}
212<div class="pullrequest-form {{if not .Flash}}tw-hidden{{end}}">
213{{template "repo/issue/new_form" .}}
214</div>
215{{end}}
216{{$showDiffBox = true}}
217{{end}}
218{{else if not .IsNothingToCompare}}
219{{$showDiffBox = true}}
220{{end}}
221</div>
222
223{{if $showDiffBox}}
224<div class="ui container fluid padded">
225{{template "repo/commits_table" .}}
226{{template "repo/diff/box" .}}
227</div>
228{{end}}
229</div>
230{{template "base/footer" .}}
231