code.gitea.io/gitea@v1.22.3/templates/repo/diff/compare.tmpl (about)

     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" .}}