2017-10-26 08:49:16 +08:00
{{ template "base/head" . }}
2020-12-01 12:00:14 +08:00
<div class="page-content ui repository branches">
2017-10-26 08:49:16 +08:00
{{ template "repo/header" . }}
<div class="ui container">
{{ template "base/alert" . }}
{{ template "repo/sub_menu" . }}
2022-01-16 22:59:16 +08:00
{{ if .DefaultBranchBranch }}
<h4 class="ui top attached header">
{{ .i18n .Tr "repo.default_branch" }}
</h4>
2017-10-26 08:49:16 +08:00
2022-01-16 22:59:16 +08:00
<div class="ui attached table segment">
<table class="ui very basic striped fixed table single line">
<tbody>
<tr>
<td>
{{ if .DefaultBranchBranch .IsProtected }}
2020-09-12 04:19:00 +08:00
{{ svg "octicon-shield-lock" }}
2019-07-18 04:02:41 +08:00
{{ end }}
2022-01-16 22:59:16 +08:00
<a href=" {{ .RepoLink }} /src/branch/ {{ PathEscapeSegments .DefaultBranch }} "> {{ .DefaultBranch }} </a>
<p class="info df ac my-2"> {{ svg "octicon-git-commit" 1 6 "mr-2" }} <a href=" {{ .RepoLink }} /commit/ {{ PathEscape .DefaultBranchBranch .Commit .ID .String }} "> {{ ShortSha .DefaultBranchBranch .Commit .ID .String }} </a> · <span class="commit-message"> {{ RenderCommitMessage .DefaultBranchBranch .Commit .CommitMessage .RepoLink .Repository .ComposeMetas }} </span> · {{ .i18n .Tr "org.repo_updated" }} {{ TimeSince .DefaultBranchBranch .Commit .Committer .When .i18n .Lang }} </p>
</td>
<td class="right aligned overflow-visible">
{{ if and $ .IsWriter ( not $ .Repository .IsArchived ) ( not .IsDeleted ) }}
<div class="ui basic jump button icon tooltip show-create-branch-modal" data-content=" {{ $ .i18n .Tr "repo.branch.new_branch_from" ( $ .DefaultBranch ) }} " data-branch-from=" {{ $ .DefaultBranch }} " data-branch-from-urlcomponent=" {{ PathEscapeSegments $ .DefaultBranch }} " data-modal="#create-branch-modal" data-position="top right">
{{ svg "octicon-git-branch" }}
</div>
{{ end }}
<div class="ui basic jump dropdown icon button tooltip" data-content=" {{ $ .i18n .Tr "repo.branch.download" ( $ .DefaultBranch ) }} " data-position="top right">
{{ svg "octicon-download" }}
<div class="menu">
<a class="item archive-link" href=" {{ $ .RepoLink }} /archive/ {{ PathEscapeSegments $ .DefaultBranch }} .zip" rel="nofollow"> {{ svg "octicon-file-zip" }} ZIP</a>
<a class="item archive-link" href=" {{ $ .RepoLink }} /archive/ {{ PathEscapeSegments $ .DefaultBranch }} .tar.gz" rel="nofollow"> {{ svg "octicon-file-zip" }} TAR.GZ</a>
</div>
2021-04-11 11:46:37 +08:00
</div>
2022-01-16 22:59:16 +08:00
</td>
</tr>
</tbody>
</table>
</div>
{{ end }}
2017-10-26 08:49:16 +08:00
{{ if gt ( len .Branches ) 1 }}
<h4 class="ui top attached header">
{{ .i18n .Tr "repo.branches" }}
</h4>
<div class="ui attached table segment">
<table class="ui very basic striped fixed table single line">
<tbody>
2019-07-30 23:02:58 +08:00
{{ range .Branches }}
2017-10-26 08:49:16 +08:00
{{ if ne .Name $ .DefaultBranch }}
<tr>
2019-07-26 19:21:14 +08:00
<td class="six wide">
2017-10-26 08:49:16 +08:00
{{ if .IsDeleted }}
2021-11-17 02:18:25 +08:00
<s><a href=" {{ $ .RepoLink }} /src/branch/ {{ PathEscapeSegments .Name }} "> {{ .Name }} </a></s>
2019-07-18 04:02:41 +08:00
<p class="info"> {{ $ .i18n .Tr "repo.branch.deleted_by" .DeletedBranch .DeletedBy .Name }} {{ TimeSinceUnix .DeletedBranch .DeletedUnix $ .i18n .Lang }} </p>
2017-10-26 08:49:16 +08:00
{{ else }}
2019-07-18 04:02:41 +08:00
{{ if .IsProtected }}
2020-09-12 04:19:00 +08:00
{{ svg "octicon-shield-lock" }}
2019-07-18 04:02:41 +08:00
{{ end }}
2021-11-17 02:18:25 +08:00
<a href=" {{ $ .RepoLink }} /src/branch/ {{ PathEscapeSegments .Name }} "> {{ .Name }} </a>
<p class="info df ac my-2"> {{ svg "octicon-git-commit" 1 6 "mr-2" }} <a href=" {{ $ .RepoLink }} /commit/ {{ PathEscape .Commit .ID .String }} "> {{ ShortSha .Commit .ID .String }} </a> · <span class="commit-message"> {{ RenderCommitMessage .Commit .CommitMessage $ .RepoLink $ .Repository .ComposeMetas }} </span> · {{ $ .i18n .Tr "org.repo_updated" }} {{ TimeSince .Commit .Committer .When $ .i18n .Lang }} </p>
2017-10-26 08:49:16 +08:00
{{ end }}
2019-06-27 22:15:30 +08:00
</td>
2019-07-29 10:27:05 +08:00
<td class="three wide ui">
2022-01-16 22:59:16 +08:00
{{ if and ( not .IsDeleted ) $ .DefaultBranchBranch }}
2019-05-06 00:25:25 +08:00
<div class="commit-divergence">
<div class="bar-group">
<div class="count count-behind"> {{ .CommitsBehind }} </div>
<div class="bar bar-behind" style="width: {{ percentage .CommitsBehind .CommitsBehind .CommitsAhead }} %"></div>
</div>
<div class="bar-group">
<div class="count count-ahead"> {{ .CommitsAhead }} </div>
2019-07-27 22:11:14 +08:00
<div class="bar bar-ahead" style="width: {{ percentage .CommitsAhead .CommitsBehind .CommitsAhead }} %"></div>
2019-05-06 00:25:25 +08:00
</div>
</div>
2019-06-27 22:15:30 +08:00
{{ end }}
</td>
2020-02-01 21:54:25 +08:00
<td class="three wide right aligned">
2019-06-27 22:15:30 +08:00
{{ if not .LatestPullRequest }}
2019-10-15 06:40:17 +08:00
{{ if .IsIncluded }}
2021-11-18 11:26:50 +08:00
<a class="ui tooltip orange large label" data-content=" {{ $ .i18n .Tr "repo.branch.included_desc" }} " data-position="top right">
2020-09-12 04:19:00 +08:00
{{ svg "octicon-git-pull-request" }} {{ $ .i18n .Tr "repo.branch.included" }}
2019-10-15 06:40:17 +08:00
</a>
{{ else if and ( not .IsDeleted ) $ .AllowsPulls ( gt .CommitsAhead 0 ) }}
2021-11-17 02:18:25 +08:00
<a href=" {{ $ .RepoLink }} /compare/ {{ PathEscapeSegments $ .DefaultBranch }} ... {{ if ne $ .Repository .Owner .Name $ .Owner .Name }} {{ PathEscape $ .Owner .Name }} : {{ end }} {{ PathEscapeSegments .Name }} ">
2021-05-12 06:11:12 +08:00
<button id="new-pull-request" class="ui compact basic button mr-0"> {{ if $ .CanPull }} {{ $ .i18n .Tr "repo.pulls.compare_changes" }} {{ else }} {{ $ .i18n .Tr "action.compare_branch" }} {{ end }} </button>
2020-01-08 01:06:14 +08:00
</a>
{{ end }}
{{ else if and .LatestPullRequest .HasMerged .MergeMovedOn }}
{{ if and ( not .IsDeleted ) $ .AllowsPulls ( gt .CommitsAhead 0 ) }}
2021-11-17 02:18:25 +08:00
<a href=" {{ $ .RepoLink }} /compare/ {{ PathEscapeSegments $ .DefaultBranch }} ... {{ if ne $ .Repository .Owner .Name $ .Owner .Name }} {{ $ .Owner .Name }} : {{ end }} {{ .Name | PathEscapeSegments }} ">
2021-05-12 06:11:12 +08:00
<button id="new-pull-request" class="ui compact basic button mr-0"> {{ if $ .CanPull }} {{ $ .i18n .Tr "repo.pulls.compare_changes" }} {{ else }} {{ $ .i18n .Tr "action.compare_branch" }} {{ end }} </button>
2019-06-27 22:15:30 +08:00
</a>
{{ end }}
{{ else }}
2021-05-12 06:11:12 +08:00
<a href=" {{ .LatestPullRequest .Issue .HTMLURL }} " class="vm ref-issue"> {{ if not .LatestPullRequest .IsSameRepo }} {{ .LatestPullRequest .BaseRepo .FullName }} {{ end }} # {{ .LatestPullRequest .Issue .Index }} </a>
2019-06-27 22:15:30 +08:00
{{ if .LatestPullRequest .HasMerged }}
2021-04-03 16:37:32 +08:00
<a href=" {{ .LatestPullRequest .Issue .HTMLURL }} " class="ui text-label purple large label vm"> {{ svg "octicon-git-merge" 1 6 "mr-2" }} {{ $ .i18n .Tr "repo.pulls.merged" }} </a>
2019-06-27 22:15:30 +08:00
{{ else if .LatestPullRequest .Issue .IsClosed }}
2021-04-03 16:37:32 +08:00
<a href=" {{ .LatestPullRequest .Issue .HTMLURL }} " class="ui text-label red large label vm"> {{ svg "octicon-git-pull-request" 1 6 "mr-2" }} {{ $ .i18n .Tr "repo.issues.closed_title" }} </a>
2019-06-27 22:15:30 +08:00
{{ else }}
2021-04-03 16:37:32 +08:00
<a href=" {{ .LatestPullRequest .Issue .HTMLURL }} " class="ui text-label green large label vm"> {{ svg "octicon-git-pull-request" 1 6 "mr-2" }} {{ $ .i18n .Tr "repo.issues.open_title" }} </a>
2019-06-27 22:15:30 +08:00
{{ end }}
{{ end }}
2019-05-06 00:25:25 +08:00
</td>
2019-07-29 10:27:05 +08:00
<td class="two wide right aligned overflow-visible">
2021-05-24 22:57:46 +08:00
{{ if and $ .IsWriter ( not $ .Repository .IsArchived ) ( not .IsDeleted ) }}
2021-11-18 11:26:50 +08:00
<div class="ui basic jump button icon tooltip show-create-branch-modal" data-branch-from=" {{ .Name }} " data-branch-from-urlcomponent=" {{ PathEscapeSegments .Name }} " data-content=" {{ $ .i18n .Tr "repo.branch.new_branch_from" .Name }} " data-position="top right" data-modal="#create-branch-modal" data-name=" {{ .Name }} ">
2021-05-24 22:57:46 +08:00
{{ svg "octicon-git-branch" }}
</div>
{{ end }}
2019-07-29 10:27:05 +08:00
{{ if ( not .IsDeleted ) }}
2021-11-18 11:26:50 +08:00
<div class="ui basic jump dropdown icon button tooltip" data-content=" {{ $ .i18n .Tr "repo.branch.download" ( .Name ) }} " data-position="top right">
2021-04-03 16:37:32 +08:00
{{ svg "octicon-download" }}
2019-07-29 10:27:05 +08:00
<div class="menu">
2021-11-29 21:50:43 +08:00
<a class="item archive-link" href=" {{ $ .RepoLink }} /archive/ {{ PathEscapeSegments .Name }} .zip" rel="nofollow"> {{ svg "octicon-file-zip" }} ZIP</a>
<a class="item archive-link" href=" {{ $ .RepoLink }} /archive/ {{ PathEscapeSegments .Name }} .tar.gz" rel="nofollow"> {{ svg "octicon-file-zip" }} TAR.GZ</a>
2019-07-29 10:27:05 +08:00
</div>
</div>
2017-10-26 08:49:16 +08:00
{{ end }}
2019-07-29 13:00:43 +08:00
{{ if and $ .IsWriter ( not $ .IsMirror ) ( not $ .Repository .IsArchived ) ( not .IsProtected ) }}
2019-07-29 10:27:05 +08:00
{{ if .IsDeleted }}
2022-02-12 23:17:45 +08:00
<a class="ui basic jump button icon tooltip undo-button" href data-url=" {{ $ .Link }} /restore?branch_id= {{ .DeletedBranch .ID }} &name= {{ .DeletedBranch .Name }} " data-content=" {{ $ .i18n .Tr "repo.branch.restore" ( .Name ) }} " data-position="top right"><span class="text blue"> {{ svg "octicon-reply" }} </span></a>
2019-07-29 10:27:05 +08:00
{{ else }}
2022-02-12 23:17:45 +08:00
<a class="ui basic jump button icon tooltip delete-button delete-branch-button" href data-url=" {{ $ .Link }} /delete?name= {{ .Name }} " data-content=" {{ $ .i18n .Tr "repo.branch.delete" ( .Name ) }} " data-position="top right" data-name=" {{ .Name }} ">
2021-03-22 12:04:19 +08:00
{{ svg "octicon-trash" }}
2020-12-10 03:03:19 +08:00
</a>
2019-07-29 10:27:05 +08:00
{{ end }}
{{ end }}
</td>
2017-10-26 08:49:16 +08:00
</tr>
{{ end }}
{{ end }}
</tbody>
</table>
</div>
2021-01-19 12:07:38 +08:00
{{ template "base/paginate" . }}
2017-10-26 08:49:16 +08:00
{{ end }}
</div>
</div>
<div class="ui small basic delete modal">
<div class="ui icon header">
2021-03-22 12:04:19 +08:00
{{ svg "octicon-trash" }}
2019-01-07 04:08:25 +08:00
{{ .i18n .Tr "repo.branch.delete_html" }} <span class="name"></span>
2017-10-26 08:49:16 +08:00
</div>
<div class="content">
2018-07-19 23:25:17 +08:00
<p> {{ .i18n .Tr "repo.branch.delete_desc" | Str2html }} </p>
2017-10-26 08:49:16 +08:00
</div>
{{ template "base/delete_modal_actions" . }}
</div>
2021-05-24 22:57:46 +08:00
<div class="ui small modal" id="create-branch-modal">
<div class="header">
{{ .i18n .Tr "repo.branch.new_branch" }}
</div>
<div class="content">
<form class="ui form" id="create-branch-form" action="" data-base-action=" {{ .Link }} /_new/branch/" method="post">
{{ .CsrfTokenHtml }}
<div class="field">
<label>
{{ .i18n .Tr "repo.branch.create_new_branch" }}
<span class="text" id="modal-create-branch-from-span"></span>
</label>
</div>
<div class="required field">
<label for="new_branch_name"> {{ .i18n .Tr "repo.branch.name" }} </label>
<input id="new_branch_name" name="new_branch_name" required>
</div>
<div class="text right actions">
<div class="ui cancel button"> {{ .i18n .Tr "settings.cancel" }} </div>
<button class="ui green button"> {{ .i18n .Tr "repo.branch.confirm_create_branch" }} </button>
</div>
</form>
</div>
</div>
2017-10-26 08:49:16 +08:00
{{ template "base/footer" . }}