mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	When comparing files between the base repo and forked repo, the "blob
excerpt" link should point to the forked repo, because the commit
doesn't exist in base repo.
Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit f48cc501c46a2d34eb701561f01d888d689d60d5)
Conflicts:
	- templates/repo/diff/section_split.tmpl
	- templates/repo/diff/section_unified.tmpl
          Resolved the conflict by picking Gitea's change over ours, and
	  porting it.
	- tests/integration/compare_test.go
	  Kept our test, but picked the "compare all of the relevant
	  links" part of the Gitea test.
		
	
			
		
			
				
	
	
		
			72 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Go HTML Template
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Go HTML Template
		
	
	
	
	
	
{{$file := .file}}
 | 
						|
{{$blobExcerptRepoLink := or $.root.CommitRepoLink $.root.RepoLink}}
 | 
						|
<colgroup>
 | 
						|
	<col width="50">
 | 
						|
	<col width="50">
 | 
						|
	<col width="10">
 | 
						|
	<col width="10">
 | 
						|
	<col>
 | 
						|
</colgroup>
 | 
						|
{{range $j, $section := $file.Sections}}
 | 
						|
	{{range $k, $line := $section.Lines}}
 | 
						|
		<tr class="{{.GetHTMLDiffLineType}}-code nl-{{$k}} ol-{{$k}}" data-line-type="{{.GetHTMLDiffLineType}}">
 | 
						|
			{{if eq .GetType 4}}
 | 
						|
				{{if $.root.AfterCommitID}}
 | 
						|
					<td colspan="2" class="lines-num">
 | 
						|
						<div class="tw-flex">
 | 
						|
							{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5)}}
 | 
						|
								<button class="code-expander-button" hx-target="closest tr" hx-get="{{$blobExcerptRepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}?{{$line.GetBlobExcerptQuery}}&style=unified&direction=down&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
 | 
						|
									{{svg "octicon-fold-down"}}
 | 
						|
								</button>
 | 
						|
							{{end}}
 | 
						|
							{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4)}}
 | 
						|
								<button class="code-expander-button" hx-target="closest tr" hx-get="{{$blobExcerptRepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}?{{$line.GetBlobExcerptQuery}}&style=unified&direction=up&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
 | 
						|
									{{svg "octicon-fold-up"}}
 | 
						|
								</button>
 | 
						|
							{{end}}
 | 
						|
							{{if eq $line.GetExpandDirection 2}}
 | 
						|
								<button class="code-expander-button" hx-target="closest tr" hx-get="{{$blobExcerptRepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}?{{$line.GetBlobExcerptQuery}}&style=unified&direction=&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
 | 
						|
									{{svg "octicon-fold"}}
 | 
						|
								</button>
 | 
						|
							{{end}}
 | 
						|
						</div>
 | 
						|
					</td>
 | 
						|
				{{else}}
 | 
						|
					{{/* for code file preview page or comment diffs on pull comment pages, do not show the expansion arrows */}}
 | 
						|
					<td colspan="2" class="lines-num"></td>
 | 
						|
				{{end}}
 | 
						|
			{{else}}
 | 
						|
				<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{$file.NameHash}}L{{$line.LeftIdx}}{{end}}"></span></td>
 | 
						|
				<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{$file.NameHash}}R{{$line.RightIdx}}{{end}}"></span></td>
 | 
						|
			{{end}}
 | 
						|
			{{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale -}}
 | 
						|
			<td class="lines-escape">
 | 
						|
				{{- if $inlineDiff.EscapeStatus.Escaped -}}
 | 
						|
					<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $inlineDiff}}"></button>
 | 
						|
				{{- end -}}
 | 
						|
			</td>
 | 
						|
			<td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td>
 | 
						|
			{{if eq .GetType 4}}
 | 
						|
				<td class="chroma lines-code blob-hunk">{{/*
 | 
						|
					*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
 | 
						|
				*/}}</td>
 | 
						|
			{{else}}
 | 
						|
				<td class="chroma lines-code{{if (not $line.RightIdx)}} lines-code-old{{end}}">{{/*
 | 
						|
					*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/*
 | 
						|
						*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-{{if $line.RightIdx}}right{{else}}left{{end}}{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="{{if $line.RightIdx}}right{{else}}left{{end}}" data-idx="{{if $line.RightIdx}}{{$line.RightIdx}}{{else}}{{$line.LeftIdx}}{{end}}">{{/*
 | 
						|
							*/}}{{svg "octicon-plus"}}{{/*
 | 
						|
						*/}}</button>{{/*
 | 
						|
					*/}}{{end}}{{/*
 | 
						|
					*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
 | 
						|
				*/}}</td>
 | 
						|
			{{end}}
 | 
						|
		</tr>
 | 
						|
		{{if $line.Conversations}}
 | 
						|
			<tr class="add-comment" data-line-type="{{.GetHTMLDiffLineType}}">
 | 
						|
				<td class="add-comment-left add-comment-right" colspan="5">
 | 
						|
					{{template "repo/diff/conversations" dict "." $.root "conversations" $line.Conversations}}
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
		{{end}}
 | 
						|
	{{end}}
 | 
						|
{{end}}
 |