mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 23:53:52 +03:00
a62a887649
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.
156 lines
9.7 KiB
Go HTML Template
156 lines
9.7 KiB
Go HTML Template
{{$file := .file}}
|
|
{{$blobExcerptRepoLink := or $.root.CommitRepoLink $.root.RepoLink}}
|
|
<colgroup>
|
|
<col width="50">
|
|
<col width="10">
|
|
<col width="10">
|
|
<col>
|
|
<col width="50">
|
|
<col width="10">
|
|
<col width="10">
|
|
<col>
|
|
</colgroup>
|
|
{{range $j, $section := $file.Sections}}
|
|
{{range $k, $line := $section.Lines}}
|
|
{{$hasmatch := ne $line.Match -1}}
|
|
{{if or (ne .GetType 2) (not $hasmatch)}}
|
|
<tr class="{{.GetHTMLDiffLineType}}-code nl-{{$k}} ol-{{$k}}" data-line-type="{{.GetHTMLDiffLineType}}">
|
|
{{if eq .GetType 4}}
|
|
<td class="lines-num lines-num-old">
|
|
<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=split&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=split&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=split&direction=&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
|
|
{{svg "octicon-fold"}}
|
|
</button>
|
|
{{end}}
|
|
</div>
|
|
</td>{{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale}}
|
|
<td class="lines-escape lines-escape-old">{{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 colspan="6" class="lines-code lines-code-old ">{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
|
|
*/}}</td>
|
|
{{else if and (eq .GetType 3) $hasmatch}}{{/* DEL */}}
|
|
{{$match := index $section.Lines $line.Match}}
|
|
{{- $leftDiff := ""}}{{if $line.LeftIdx}}{{$leftDiff = $section.GetComputedInlineDiffFor $line ctx.Locale}}{{end}}
|
|
{{- $rightDiff := ""}}{{if $match.RightIdx}}{{$rightDiff = $section.GetComputedInlineDiffFor $match ctx.Locale}}{{end}}
|
|
<td class="lines-num lines-num-old del-code" data-line-num="{{$line.LeftIdx}}"><span rel="diff-{{$file.NameHash}}L{{$line.LeftIdx}}"></span></td>
|
|
<td class="lines-escape del-code lines-escape-old">{{if $line.LeftIdx}}{{if $leftDiff.EscapeStatus.Escaped}}<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $leftDiff}}"></button>{{end}}{{end}}</td>
|
|
<td class="lines-type-marker lines-type-marker-old del-code"><span class="tw-font-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td>
|
|
<td class="lines-code lines-code-old del-code">{{/*
|
|
*/}}{{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-left{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{/*
|
|
*/}}{{svg "octicon-plus"}}{{/*
|
|
*/}}</button>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}{{if $line.LeftIdx}}{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $leftDiff}}{{/*
|
|
*/}}{{else}}{{/*
|
|
*/}}<code class="code-inner"></code>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}</td>
|
|
<td class="lines-num lines-num-new add-code" data-line-num="{{if $match.RightIdx}}{{$match.RightIdx}}{{end}}"><span rel="{{if $match.RightIdx}}diff-{{$file.NameHash}}R{{$match.RightIdx}}{{end}}"></span></td>
|
|
<td class="lines-escape add-code lines-escape-new">{{if $match.RightIdx}}{{if $rightDiff.EscapeStatus.Escaped}}<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $rightDiff}}"></button>{{end}}{{end}}</td>
|
|
<td class="lines-type-marker lines-type-marker-new add-code">{{if $match.RightIdx}}<span class="tw-font-mono" data-type-marker="{{$match.GetLineTypeMarker}}"></span>{{end}}</td>
|
|
<td class="lines-code lines-code-new add-code">{{/*
|
|
*/}}{{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-right{{if (not $match.CanComment)}} tw-invisible{{end}}" data-side="right" data-idx="{{$match.RightIdx}}">{{/*
|
|
*/}}{{svg "octicon-plus"}}{{/*
|
|
*/}}</button>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}{{if $match.RightIdx}}{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $rightDiff}}{{/*
|
|
*/}}{{else}}{{/*
|
|
*/}}<code class="code-inner"></code>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}</td>
|
|
{{else}}
|
|
{{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale}}
|
|
<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-escape lines-escape-old">{{if $line.LeftIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $inlineDiff}}"></button>{{end}}{{end}}</td>
|
|
<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="tw-font-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
|
|
<td class="lines-code lines-code-old">{{/*
|
|
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 2))}}{{/*
|
|
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{/*
|
|
*/}}{{svg "octicon-plus"}}{{/*
|
|
*/}}</button>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}{{if $line.LeftIdx}}{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
|
|
*/}}{{else}}{{/*
|
|
*/}}<code class="code-inner"></code>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}</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>
|
|
<td class="lines-escape lines-escape-new">{{if $line.RightIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $inlineDiff}}"></button>{{end}}{{end}}</td>
|
|
<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="tw-font-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
|
|
<td class="lines-code lines-code-new">{{/*
|
|
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 3))}}{{/*
|
|
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-right{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="right" data-idx="{{$line.RightIdx}}">{{/*
|
|
*/}}{{svg "octicon-plus"}}{{/*
|
|
*/}}</button>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}{{if $line.RightIdx}}{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
|
|
*/}}{{else}}{{/*
|
|
*/}}<code class="code-inner"></code>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}</td>
|
|
{{end}}
|
|
</tr>
|
|
{{if and (eq .GetType 3) $hasmatch}}
|
|
{{$match := index $section.Lines $line.Match}}
|
|
{{if or $line.Conversations $match.Conversations}}
|
|
<tr class="add-comment" data-line-type="{{.GetHTMLDiffLineType}}">
|
|
<td class="add-comment-left" colspan="4">
|
|
{{if $line.Conversations}}
|
|
{{if eq $line.GetCommentSide "previous"}}
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $line.Conversations}}
|
|
{{end}}
|
|
{{end}}
|
|
{{if $match.Conversations}}
|
|
{{if eq $match.GetCommentSide "previous"}}
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $match.Conversations}}
|
|
{{end}}
|
|
{{end}}
|
|
</td>
|
|
<td class="add-comment-right" colspan="4">
|
|
{{if $line.Conversations}}
|
|
{{if eq $line.GetCommentSide "proposed"}}
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $line.Conversations}}
|
|
{{end}}
|
|
{{end}}
|
|
{{if $match.Conversations}}
|
|
{{if eq $match.GetCommentSide "proposed"}}
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $match.Conversations}}
|
|
{{end}}
|
|
{{end}}
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
{{else if $line.Conversations}}
|
|
<tr class="add-comment" data-line-type="{{.GetHTMLDiffLineType}}">
|
|
<td class="add-comment-left" colspan="4">
|
|
{{if eq $line.GetCommentSide "previous"}}
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $line.Conversations}}
|
|
{{end}}
|
|
</td>
|
|
<td class="add-comment-right" colspan="4">
|
|
{{if eq $line.GetCommentSide "proposed"}}
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $line.Conversations}}
|
|
{{end}}
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|