You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. {{template "base/head" .}}
  2. <div class="page-content repository diff {{if .PageIsComparePull}}compare pull{{end}}">
  3. {{template "repo/header" .}}
  4. <div class="ui container {{if .IsSplitStyle}}fluid padded{{end}}">
  5. <h2 class="ui header">
  6. {{if and $.PageIsComparePull $.IsSigned (not .Repository.IsArchived)}}
  7. {{.i18n.Tr "repo.pulls.compare_changes"}}
  8. <div class="sub header">{{.i18n.Tr "repo.pulls.compare_changes_desc"}}</div>
  9. {{ else }}
  10. {{.i18n.Tr "action.compare_commits_general"}}
  11. {{ end }}
  12. </h2>
  13. {{ $BaseCompareName := $.BaseName -}}
  14. {{- $HeadCompareName := $.HeadRepo.OwnerName -}}
  15. {{- if and (eq $.BaseName $.HeadRepo.OwnerName) (ne $.Repository.Name $.HeadRepo.Name) -}}
  16. {{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}}
  17. {{- end -}}
  18. {{- $OwnForkCompareName := "" -}}
  19. {{- if .OwnForkRepo -}}
  20. {{- $OwnForkCompareName = .OwnForkRepo.OwnerName -}}
  21. {{- end -}}
  22. {{- $RootRepoCompareName := "" -}}
  23. {{- if .RootRepo -}}
  24. {{- $RootRepoCompareName = .RootRepo.OwnerName -}}
  25. {{- if eq $.HeadRepo.OwnerName .RootRepo.OwnerName -}}
  26. {{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}}
  27. {{- end -}}
  28. {{- if .OwnForkRepo -}}
  29. {{- if eq $.OwnForkRepo.OwnerName .RootRepo.OwnerName -}}
  30. {{- $OwnForkRepoCompareName = printf "%s/%s" $.OwnForkRepo.OwnerName $.OwnForkRepo.Name -}}
  31. {{- end -}}
  32. {{- end -}}
  33. {{- end -}}
  34. <div class="ui segment choose branch">
  35. {{svg "octicon-git-compare"}}
  36. <div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}">
  37. <div class="ui basic small button">
  38. <span class="text">{{if $.PageIsComparePull}}{{.i18n.Tr "repo.pulls.compare_base"}}{{else}}{{.i18n.Tr "repo.compare.compare_base"}}{{end}}: {{$BaseCompareName}}:{{$.BaseBranch}}</span>
  39. {{svg "octicon-triangle-down" 14 "dropdown icon"}}
  40. </div>
  41. <div class="menu">
  42. <div class="ui icon search input">
  43. <i class="icon df ac jc m-0">{{svg "octicon-filter" 16}}</i>
  44. <input name="search" placeholder="{{.i18n.Tr "repo.filter_branch_and_tag"}}...">
  45. </div>
  46. <div class="header">
  47. <div class="ui grid">
  48. <div class="two column row">
  49. <a class="reference column" href="#" data-target=".base-branch-list">
  50. <span class="text black">
  51. {{svg "octicon-git-branch" 16 "mr-2"}}{{.i18n.Tr "repo.branches"}}
  52. </span>
  53. </a>
  54. <a class="reference column" href="#" data-target=".base-tag-list">
  55. <span class="text black">
  56. {{svg "octicon-tag" 16 "mr-2"}}{{.i18n.Tr "repo.tags"}}
  57. </span>
  58. </a>
  59. </div>
  60. </div>
  61. </div>
  62. <div class="scrolling menu reference-list-menu base-branch-list">
  63. {{range .Branches}}
  64. <div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{EscapePound .}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{end}}{{EscapePound $.HeadBranch}}">{{$BaseCompareName}}:{{.}}</div>
  65. {{end}}
  66. {{if not .PullRequestCtx.SameRepo}}
  67. {{range .HeadBranches}}
  68. <div class="item" data-url="{{$.HeadRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$HeadCompareName}}:{{.}}</div>
  69. {{end}}
  70. {{end}}
  71. {{if .OwnForkRepo}}
  72. {{range .OwnForkRepoBranches}}
  73. <div class="item" data-url="{{$.OwnForkRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$OwnForkCompareName}}:{{.}}</div>
  74. {{end}}
  75. {{end}}
  76. {{if .RootRepo}}
  77. {{range .RootRepoBranches}}
  78. <div class="item" data-url="{{$.RootRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$RootRepoCompareName}}:{{.}}</div>
  79. {{end}}
  80. {{end}}
  81. </div>
  82. <div class="scrolling menu reference-list-menu base-tag-list" style="display: none">
  83. {{range .Tags}}
  84. <div class="item {{if eq $.BaseBranch .}}selected{{end}}" data-url="{{$.RepoLink}}/compare/{{EscapePound .}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{end}}{{EscapePound $.HeadBranch}}">{{$BaseCompareName}}:{{.}}</div>
  85. {{end}}
  86. {{if not .PullRequestCtx.SameRepo}}
  87. {{range .HeadTags}}
  88. <div class="item" data-url="{{$.HeadRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$HeadCompareName}}:{{.}}</div>
  89. {{end}}
  90. {{end}}
  91. {{if .OwnForkRepo}}
  92. {{range .OwnForkRepoTags}}
  93. <div class="item" data-url="{{$.OwnForkRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$OwnForkCompareName}}:{{.}}</div>
  94. {{end}}
  95. {{end}}
  96. {{if .RootRepo}}
  97. {{range .RootRepoTags}}
  98. <div class="item" data-url="{{$.RootRepo.Link}}/compare/{{EscapePound .}}...{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{EscapePound $.HeadBranch}}">{{$RootRepoCompareName}}:{{.}}</div>
  99. {{end}}
  100. {{end}}
  101. </div>
  102. </div>
  103. </div>
  104. ...
  105. <div class="ui floating filter dropdown">
  106. <div class="ui basic small button">
  107. <span class="text">{{if $.PageIsComparePull}}{{.i18n.Tr "repo.pulls.compare_compare"}}{{else}}{{.i18n.Tr "repo.compare.compare_head"}}{{end}}: {{$HeadCompareName}}:{{$.HeadBranch}}</span>
  108. {{svg "octicon-triangle-down" 14 "dropdown icon"}}
  109. </div>
  110. <div class="menu">
  111. <div class="ui icon search input">
  112. <i class="icon df ac jc m-0">{{svg "octicon-filter" 16}}</i>
  113. <input name="search" placeholder="{{.i18n.Tr "repo.filter_branch_and_tag"}}...">
  114. </div>
  115. <div class="header">
  116. <div class="ui grid">
  117. <div class="two column row">
  118. <a class="reference column" href="#" data-target=".head-branch-list">
  119. <span class="text black">
  120. {{svg "octicon-git-branch" 16 "mr-2"}}{{.i18n.Tr "repo.branches"}}
  121. </span>
  122. </a>
  123. <a class="reference column" href="#" data-target=".head-tag-list">
  124. <span class="text black">
  125. {{svg "octicon-tag" 16 "mr-2"}}{{.i18n.Tr "repo.tags"}}
  126. </span>
  127. </a>
  128. </div>
  129. </div>
  130. </div>
  131. <div class="scrolling menu reference-list-menu head-branch-list">
  132. {{range .HeadBranches}}
  133. <div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{end}}{{EscapePound .}}">{{$HeadCompareName}}:{{.}}</div>
  134. {{end}}
  135. {{if not .PullRequestCtx.SameRepo}}
  136. {{range .Branches}}
  137. <div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.BaseName}}/{{$.Repository.Name}}:{{EscapePound .}}">{{$BaseCompareName}}:{{.}}</div>
  138. {{end}}
  139. {{end}}
  140. {{if .OwnForkRepo}}
  141. {{range .OwnForkRepoBranches}}
  142. <div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.OwnForkRepo.OwnerName}}/{{$.OwnForkRepo.Name}}:{{EscapePound .}}">{{$OwnForkCompareName}}:{{.}}</div>
  143. {{end}}
  144. {{end}}
  145. {{if .RootRepo}}
  146. {{range .RootRepoBranches}}
  147. <div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.RootRepo.OwnerName}}/{{$.RootRepo.Name}}:{{EscapePound .}}">{{$RootRepoCompareName}}:{{.}}</div>
  148. {{end}}
  149. {{end}}
  150. </div>
  151. <div class="scrolling menu reference-list-menu head-tag-list" style="display: none">
  152. {{range .HeadTags}}
  153. <div class="{{if eq $.HeadBranch .}}selected{{end}} item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{if not $.PullRequestCtx.SameRepo}}{{$.HeadUser.Name}}/{{$.HeadRepo.Name}}:{{end}}{{EscapePound .}}">{{$HeadCompareName}}:{{.}}</div>
  154. {{end}}
  155. {{if not .PullRequestCtx.SameRepo}}
  156. {{range .Tags}}
  157. <div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.BaseName}}/{{$.Repository.Name}}:{{EscapePound .}}">{{$BaseCompareName}}:{{.}}</div>
  158. {{end}}
  159. {{end}}
  160. {{if .OwnForkRepo}}
  161. {{range .OwnForkRepoTags}}
  162. <div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.OwnForkRepo.OwnerName}}/{{$.OwnForkRepo.Name}}:{{EscapePound .}}">{{$OwnForkCompareName}}:{{.}}</div>
  163. {{end}}
  164. {{end}}
  165. {{if .RootRepo}}
  166. {{range .RootRepoTags}}
  167. <div class="item" data-url="{{$.RepoLink}}/compare/{{EscapePound $.BaseBranch}}...{{$.RootRepo.OwnerName}}/{{$.RootRepo.Name}}:{{EscapePound .}}">{{$RootRepoCompareName}}:{{.}}</div>
  168. {{end}}
  169. {{end}}
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. {{if .IsNothingToCompare}}
  175. {{if and $.IsSigned $.AllowEmptyPr (not .Repository.IsArchived) }}
  176. <div class="ui segment">{{.i18n.Tr "repo.pulls.nothing_to_compare_and_allow_empty_pr"}}</div>
  177. <div class="ui info message show-form-container" {{if .Flash}}style="display: none"{{end}}>
  178. <button class="ui button green show-form">{{.i18n.Tr "repo.pulls.new"}}</button>
  179. </div>
  180. <div class="pullrequest-form" {{if not .Flash}}style="display: none"{{end}}>
  181. {{template "repo/issue/new_form" .}}
  182. </div>
  183. {{else}}
  184. <div class="ui segment">{{.i18n.Tr "repo.pulls.nothing_to_compare"}}</div>
  185. {{end}}
  186. {{else if and .PageIsComparePull (gt .CommitCount 0)}}
  187. {{if .HasPullRequest}}
  188. <div class="ui segment">
  189. {{.i18n.Tr "repo.pulls.has_pull_request" $.RepoLink $.RepoRelPath .PullRequest.Index | Safe}}
  190. </div>
  191. {{else}}
  192. {{if and $.IsSigned (not .Repository.IsArchived)}}
  193. <div class="ui info message show-form-container" {{if .Flash}}style="display: none"{{end}}>
  194. <button class="ui button green show-form">{{.i18n.Tr "repo.pulls.new"}}</button>
  195. </div>
  196. {{else if .Repository.IsArchived}}
  197. <div class="ui warning message">
  198. {{.i18n.Tr "repo.archive.title"}}
  199. </div>
  200. {{end}}
  201. {{if $.IsSigned}}
  202. <div class="pullrequest-form" {{if not .Flash}}style="display: none"{{end}}>
  203. {{template "repo/issue/new_form" .}}
  204. </div>
  205. {{end}}
  206. {{template "repo/commits_table" .}}
  207. {{template "repo/diff/box" .}}
  208. {{end}}
  209. {{else}}
  210. {{template "repo/commits_table" .}}
  211. {{template "repo/diff/box" .}}
  212. {{end}}
  213. </div>
  214. </div>
  215. {{template "base/footer" .}}