mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-20 00:00:55 -04:00
Compare commits
9 Commits
a825cc0f34
...
ae2794c958
Author | SHA1 | Date | |
---|---|---|---|
|
ae2794c958 | ||
|
4aae15af7a | ||
|
5bf367f904 | ||
|
0c2a3f4cdc | ||
|
4335c332ba | ||
|
f40538e667 | ||
|
ab074c9b98 | ||
|
abe8fe3527 | ||
|
551dc8bb4d |
33
.github/labeler.yml
vendored
33
.github/labeler.yml
vendored
@ -1,35 +1,36 @@
|
||||
kind/docs:
|
||||
modifies/docs:
|
||||
- "**/*.md"
|
||||
- "docs/**"
|
||||
|
||||
kind/ui:
|
||||
modifies/frontend:
|
||||
- "web_src/**/*"
|
||||
|
||||
modifies/templates:
|
||||
- all: ["templates/**", "!templates/swagger/v1_json.tmpl"]
|
||||
|
||||
kind/api:
|
||||
- "templates/swagger/v1_json.tmpl"
|
||||
modifies/api:
|
||||
- "routers/api/**"
|
||||
- "templates/swagger/v1_json.tmpl"
|
||||
|
||||
kind/build:
|
||||
modifies/cli:
|
||||
- "cmd/**"
|
||||
|
||||
modifies/translation:
|
||||
- "options/locale/*.ini"
|
||||
|
||||
modifies/migrations:
|
||||
- "models/migrations/**/*"
|
||||
|
||||
modifies/internal:
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
- "Dockerfile.rootless"
|
||||
- "docker/**"
|
||||
- "webpack.config.js"
|
||||
|
||||
theme/package-registry:
|
||||
- "modules/packages/**"
|
||||
- "services/packages/**"
|
||||
- "routers/api/packages/**"
|
||||
- "routers/web/shared/packages/**"
|
||||
|
||||
kind/cli:
|
||||
- "cmd/**"
|
||||
|
||||
kind/lint:
|
||||
- ".eslintrc.yaml"
|
||||
- ".golangci.yml"
|
||||
- ".markdownlint.yaml"
|
||||
- ".spectral.yaml"
|
||||
- ".stylelintrc.yaml"
|
||||
- ".yamllint.yaml"
|
||||
- ".github/**"
|
||||
|
1
.github/workflows/pull-labeler.yml
vendored
1
.github/workflows/pull-labeler.yml
vendored
@ -18,4 +18,3 @@ jobs:
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
dot: true
|
||||
sync-labels: true
|
||||
|
@ -225,17 +225,20 @@ PRs without a milestone may not be merged.
|
||||
|
||||
### Labels
|
||||
|
||||
Every PR should be labeled correctly with every label that applies. \
|
||||
This includes especially the distinction between `bug` (fixing existing functionality), `feature` (new functionality), `enhancement` (upgrades for existing functionality), and `refactoring` (improving the internal code structure without changing the output (much)). \
|
||||
Furthermore,
|
||||
Almost all labels used inside Gitea can be classified as one of the following:
|
||||
|
||||
- `modifies/…`: Determines which parts of the codebase are affected. These labels will be set through the CI.
|
||||
- `topic/…`: Determines the conceptual component of Gitea that is affected, i.e. issues, projects, or authentication. At best, PRs should only target one component but there might be overlap. Must be set manually.
|
||||
- `type/…`: Determines the type of an issue or PR (feature, refactoring, docs, bug, …). If GitHub supported scoped labels, these labels would be exclusive, so you should set **exactly** one, not more or less (every PR should fall into one of the provided categories, and only one).
|
||||
- `issue/…` / `pr/…`: Labels that are specific to issues or PRs respectively and that are only necessary in a given context, i.e. `issue/not-a-bug` or `pr/need-2-approvals`
|
||||
|
||||
Every PR should be labeled correctly with every label that applies.
|
||||
|
||||
There are also some labels that will be managed automatically.\
|
||||
In particular, these are
|
||||
|
||||
- the amount of pending required approvals
|
||||
- whether this PR is `blocked`, a `backport` or `breaking`
|
||||
- if it targets the `ui` or `api`
|
||||
- if it increases the application `speed`
|
||||
- reduces `memory usage`
|
||||
|
||||
are oftentimes notable labels.
|
||||
- has all `backport`s or needs a manual backport
|
||||
|
||||
### Breaking PRs
|
||||
|
||||
|
@ -58,3 +58,4 @@ CaiCandong <1290147055@qq.com> (@caicandong)
|
||||
Rui Chen <rui@chenrui.dev> (@chenrui333)
|
||||
Nanguan Lin <nanguanlin6@gmail.com> (@lng2020)
|
||||
kerwin612 <kerwin612@qq.com> (@kerwin612)
|
||||
Gary Wang <git@blumia.net> (@BLumia)
|
||||
|
@ -31,6 +31,10 @@ func TestGetCommitStatuses(t *testing.T) {
|
||||
assert.Equal(t, structs.CommitStatusPending, statuses[0].State)
|
||||
assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[0].APIURL(db.DefaultContext))
|
||||
|
||||
assert.Equal(t, "cov/awesomeness", statuses[1].Context)
|
||||
assert.Equal(t, structs.CommitStatusWarning, statuses[1].State)
|
||||
assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[1].APIURL(db.DefaultContext))
|
||||
|
||||
assert.Equal(t, "cov/awesomeness", statuses[2].Context)
|
||||
assert.Equal(t, structs.CommitStatusSuccess, statuses[2].State)
|
||||
assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[2].APIURL(db.DefaultContext))
|
||||
|
@ -18,9 +18,6 @@ func ReduceCommitStatus(x *xorm.Engine) error {
|
||||
if _, err := sess.Exec(`UPDATE commit_status SET state='pending' WHERE state='running'`); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := sess.Exec(`UPDATE commit_status SET state='failure' WHERE state='warning'`); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
}
|
||||
|
@ -16,13 +16,16 @@ const (
|
||||
CommitStatusError CommitStatusState = "error"
|
||||
// CommitStatusFailure is for when the CommitStatus is Failure
|
||||
CommitStatusFailure CommitStatusState = "failure"
|
||||
// CommitStatusWarning is for when the CommitStatus is Warning
|
||||
CommitStatusWarning CommitStatusState = "warning"
|
||||
)
|
||||
|
||||
var commitStatusPriorities = map[CommitStatusState]int{
|
||||
CommitStatusError: 0,
|
||||
CommitStatusFailure: 1,
|
||||
CommitStatusPending: 2,
|
||||
CommitStatusSuccess: 3,
|
||||
CommitStatusWarning: 2,
|
||||
CommitStatusPending: 3,
|
||||
CommitStatusSuccess: 4,
|
||||
}
|
||||
|
||||
func (css CommitStatusState) String() string {
|
||||
@ -32,7 +35,7 @@ func (css CommitStatusState) String() string {
|
||||
// NoBetterThan returns true if this State is no better than the given State
|
||||
// This function only handles the states defined in CommitStatusPriorities
|
||||
func (css CommitStatusState) NoBetterThan(css2 CommitStatusState) bool {
|
||||
// NoBetterThan only handles the 4 states above
|
||||
// NoBetterThan only handles the 5 states above
|
||||
if _, exist := commitStatusPriorities[css]; !exist {
|
||||
return false
|
||||
}
|
||||
@ -63,3 +66,8 @@ func (css CommitStatusState) IsError() bool {
|
||||
func (css CommitStatusState) IsFailure() bool {
|
||||
return css == CommitStatusFailure
|
||||
}
|
||||
|
||||
// IsWarning represents if commit status state is warning
|
||||
func (css CommitStatusState) IsWarning() bool {
|
||||
return css == CommitStatusWarning
|
||||
}
|
||||
|
@ -2741,9 +2741,7 @@ dashboard.deleted_branches_cleanup = Clean-up deleted branches
|
||||
dashboard.update_migration_poster_id = Update migration poster IDs
|
||||
dashboard.git_gc_repos = Garbage collect all repositories
|
||||
dashboard.resync_all_sshkeys = Update the '.ssh/authorized_keys' file with Gitea SSH keys.
|
||||
dashboard.resync_all_sshkeys.desc = (Not needed for the built-in SSH server.)
|
||||
dashboard.resync_all_sshprincipals = Update the '.ssh/authorized_principals' file with Gitea SSH principals.
|
||||
dashboard.resync_all_sshprincipals.desc = (Not needed for the built-in SSH server.)
|
||||
dashboard.resync_all_hooks = Resynchronize pre-receive, update and post-receive hooks of all repositories.
|
||||
dashboard.reinit_missing_repos = Reinitialize all missing Git repositories for which records exist
|
||||
dashboard.sync_external_users = Synchronize external user data
|
||||
|
@ -986,6 +986,7 @@ mirror_sync_on_commit=推送提交时同步
|
||||
mirror_address=从 URL 克隆
|
||||
mirror_address_desc=在授权框中输入必要的凭据。
|
||||
mirror_address_url_invalid=URL无效。请检查您所输入的URL是否正确。
|
||||
mirror_address_protocol_invalid=提供的URL无效。只能使用http(s)://或git://地址进行镜像操作。
|
||||
mirror_lfs=大文件存储 (LFS)
|
||||
mirror_lfs_desc=镜像 LFS 数据。
|
||||
mirror_lfs_endpoint=LFS 网址
|
||||
@ -1023,6 +1024,8 @@ transfer.accept=接受转移
|
||||
transfer.accept_desc=`转移到 "%s"`
|
||||
transfer.reject=拒绝转移
|
||||
transfer.reject_desc=`取消转移到 "%s"`
|
||||
transfer.no_permission_to_accept=您没有权限接受此转让。
|
||||
transfer.no_permission_to_reject=您没有权限拒绝此转让。
|
||||
|
||||
desc.private=私有库
|
||||
desc.public=公开
|
||||
@ -1043,6 +1046,8 @@ template.issue_labels=工单标签
|
||||
template.one_item=必须至少选择一个模板项
|
||||
template.invalid=必须选择一个模板仓库
|
||||
|
||||
archive.title=该仓库已被归档。您可以查看文件和克隆它,但不能推送、创建工单或合并请求。
|
||||
archive.title_date=该仓库已于 %s 归档。您可以查看文件或克隆它,但不能推送、创建工单或合并请求。
|
||||
archive.issue.nocomment=此仓库已存档,您不能在此工单添加评论。
|
||||
archive.pull.nocomment=此仓库已存档,您不能在此合并请求添加评论。
|
||||
|
||||
@ -1059,6 +1064,7 @@ migrate_options_lfs=迁移 LFS 文件
|
||||
migrate_options_lfs_endpoint.label=LFS 网址
|
||||
migrate_options_lfs_endpoint.description=迁移将尝试使用你的 Git remote 来 <a target="_blank" rel="noopener noreferrer" href="%s">确定 LFS 服务器</a>。如果仓库 LFS 数据存储在其他位置,你还可以指定自定义网址。
|
||||
migrate_options_lfs_endpoint.description.local=支持本地服务器路径。
|
||||
migrate_options_lfs_endpoint.placeholder=如果留空,网址将从克隆 URL 中得到
|
||||
migrate_items=迁移项目
|
||||
migrate_items_wiki=百科
|
||||
migrate_items_milestones=里程碑
|
||||
@ -1161,6 +1167,10 @@ file_view_rendered=渲染模式
|
||||
file_view_raw=查看原始文件
|
||||
file_permalink=永久链接
|
||||
file_too_large=文件过大,无法显示。
|
||||
invisible_runes_header=`此文件含有不可见的 Unicode 字符`
|
||||
invisible_runes_description=`此文件含有人类无法区分的不可见的 Unicode 字符,但可以由计算机进行不同的处理。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。`
|
||||
ambiguous_runes_header=`此文件含有模棱两可的 Unicode 字符`
|
||||
ambiguous_runes_description=`此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。`
|
||||
invisible_runes_line=`此行含有不可见的 unicode 字符`
|
||||
ambiguous_runes_line=`此行有模棱两可的 unicode 字符`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] 容易和 %[2]c [U+%04[2]X] 混淆`
|
||||
@ -1180,6 +1190,8 @@ commit_graph.hide_pr_refs=隐藏合并请求
|
||||
commit_graph.monochrome=黑白
|
||||
commit_graph.color=彩色
|
||||
commit.contained_in=这个提交包含在:
|
||||
commit.contained_in_default_branch=此提交是默认分支的一部分
|
||||
commit.load_referencing_branches_and_tags=加载引用该提交的分支和标签
|
||||
blame=Blame
|
||||
download_file=下载文件
|
||||
normal_view=普通视图
|
||||
@ -1434,6 +1446,7 @@ issues.filter_sort.moststars=点赞由多到少
|
||||
issues.filter_sort.feweststars=点赞由少到多
|
||||
issues.filter_sort.mostforks=派生由多到少
|
||||
issues.filter_sort.fewestforks=派生由少到多
|
||||
issues.keyword_search_unavailable=关键词搜索目前不可用。请联系网站管理员。
|
||||
issues.action_open=开启
|
||||
issues.action_close=关闭
|
||||
issues.action_label=标签
|
||||
@ -1465,6 +1478,8 @@ issues.context.edit=编辑
|
||||
issues.context.delete=刪除
|
||||
issues.no_content=没有提供说明。
|
||||
issues.close=关闭工单
|
||||
issues.comment_pull_merged_at=已合并提交 %[1]s 到 %[2]s %[3]s
|
||||
issues.comment_manually_pull_merged_at=手动合并提交 %[1]s 到 %[2]s %[3]s
|
||||
issues.close_comment_issue=评论并关闭
|
||||
issues.reopen_issue=重新开启
|
||||
issues.reopen_comment_issue=评论并重新开启
|
||||
@ -1484,9 +1499,13 @@ issues.author_helper=此用户是作者。
|
||||
issues.role.owner=管理员
|
||||
issues.role.owner_helper=该用户是该仓库的所有者。
|
||||
issues.role.member=普通成员
|
||||
issues.role.member_helper=该用户是拥有该仓库的组织成员。
|
||||
issues.role.collaborator=协作者
|
||||
issues.role.collaborator_helper=该用户已被邀请在仓库上进行协作。
|
||||
issues.role.first_time_contributor=首次贡献者
|
||||
issues.role.first_time_contributor_helper=这是该用户对仓库的第一次贡献。
|
||||
issues.role.contributor=贡献者
|
||||
issues.role.contributor_helper=该用户之前提交过该仓库。
|
||||
issues.re_request_review=再次请求审核
|
||||
issues.is_stale=此评审之后代码有更新
|
||||
issues.remove_request_review=移除审核请求
|
||||
@ -1606,6 +1625,7 @@ issues.dependency.issue_closing_blockedby=关闭此工单被以下工单阻止
|
||||
issues.dependency.issue_close_blocks=此工单阻止了以下工单的关闭
|
||||
issues.dependency.pr_close_blocks=此合并请求阻止以下工单的关闭
|
||||
issues.dependency.issue_close_blocked=您需要关闭所有阻止此工单的工单, 然后才能关闭它。
|
||||
issues.dependency.issue_batch_close_blocked=无法批量关闭您所选择的工单,因为 #%d 工单仍然有处于打开状态的依赖工单
|
||||
issues.dependency.pr_close_blocked=您需要关闭所有阻止此合并请求的工单, 然后才能合并它。
|
||||
issues.dependency.blocks_short=阻止
|
||||
issues.dependency.blocked_by_short=依赖于
|
||||
@ -1637,6 +1657,7 @@ issues.review.pending.tooltip=此评论目前对其他用户不可见。 若要
|
||||
issues.review.review=评审
|
||||
issues.review.reviewers=评审人
|
||||
issues.review.outdated=已过期
|
||||
issues.review.outdated_description=评论发布后内容已经修改
|
||||
issues.review.option.show_outdated_comments=显示过时的评论
|
||||
issues.review.option.hide_outdated_comments=隐藏过时的评论
|
||||
issues.review.show_outdated=显示过时的
|
||||
@ -1682,6 +1703,8 @@ pulls.show_all_commits=显示所有提交
|
||||
pulls.show_changes_since_your_last_review=显示自您上次审核以来的更改
|
||||
pulls.showing_only_single_commit=仅显示提交 %[1]s 的更改
|
||||
pulls.showing_specified_commit_range=仅显示 %[1]s...%[2]s 之间的更改
|
||||
pulls.select_commit_hold_shift_for_range=选择提交。按住 Shift + 单击选择一个范围
|
||||
pulls.review_only_possible_for_full_diff=只有在查看全部差异时才能进行审核
|
||||
pulls.filter_changes_by_commit=按提交筛选
|
||||
pulls.nothing_to_compare=分支内容相同,无需创建合并请求。
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=这些分支是相等的,此合并请求将为空。
|
||||
@ -1715,6 +1738,11 @@ pulls.required_status_check_failed=一些必要的检查没有成功
|
||||
pulls.required_status_check_missing=缺少一些必要的检查。
|
||||
pulls.required_status_check_administrator=作为管理员,您仍可合并此合并请求
|
||||
pulls.blocked_by_approvals=此合并请求没有通过审批。已获取审批数%d个,共需要审批数%d个。
|
||||
pulls.blocked_by_rejection=此合并请求有官方审核员请求的更改。
|
||||
pulls.blocked_by_official_review_requests=此合并请求需要官方评审。
|
||||
pulls.blocked_by_outdated_branch=此合并请求因过期而被阻止。
|
||||
pulls.blocked_by_changed_protected_files_1=此合并请求被阻止是因为修改了被保护的文件:
|
||||
pulls.blocked_by_changed_protected_files_n=此合并请求被阻止是因为修改了被保护的文件:
|
||||
pulls.can_auto_merge_desc=该合并请求可以进行自动合并操作。
|
||||
pulls.cannot_auto_merge_desc=该合并请求存在冲突,无法进行自动合并操作。
|
||||
pulls.cannot_auto_merge_helper=手动合并解决此冲突
|
||||
@ -1749,6 +1777,7 @@ pulls.rebase_conflict_summary=错误信息
|
||||
pulls.unrelated_histories=合并失败:两个分支没有共同历史。提示:尝试不同的策略
|
||||
pulls.merge_out_of_date=合并失败:在生成合并时,主分支已更新。提示:再试一次。
|
||||
pulls.head_out_of_date=合并失败:在生成合并时,head 已更新。提示:再试一次。
|
||||
pulls.has_merged=失败:合并请求已经被合并,您不能再次合并或更改目标分支。
|
||||
pulls.push_rejected=合并失败:推送被拒绝。审查此仓库的 Git 钩子。
|
||||
pulls.push_rejected_summary=详细拒绝信息
|
||||
pulls.push_rejected_no_message=合并失败:此推送被拒绝但未提供其他信息。<br>请检查此仓库的 Git Hook。
|
||||
@ -1789,6 +1818,7 @@ pulls.auto_merge_canceled_schedule_comment=`已取消当所有检查成功后自
|
||||
pulls.delete.title=删除此拉取请求?
|
||||
pulls.delete.text=你真的要删除这个拉取请求吗? (这将永久删除所有内容。如果你打算将内容存档,请考虑关闭它)
|
||||
|
||||
pulls.recently_pushed_new_branches=您已经于%[2]s推送了分支 <strong>%[1]s</strong>
|
||||
|
||||
pull.deleted_branch=(已删除): %s
|
||||
|
||||
@ -1798,6 +1828,7 @@ milestones.update_ago=已更新 %s
|
||||
milestones.no_due_date=暂无截止日期
|
||||
milestones.open=开启中
|
||||
milestones.close=关闭
|
||||
milestones.new_subheader=里程碑可以帮助您组织工单并跟踪其进度。
|
||||
milestones.completeness=%d%% 完成
|
||||
milestones.create=创建里程碑
|
||||
milestones.title=标题
|
||||
@ -1822,8 +1853,17 @@ milestones.filter_sort.most_issues=工单从多到少
|
||||
milestones.filter_sort.least_issues=工单从少到多
|
||||
|
||||
signing.will_sign=这个提交将用密钥 "%s" 签名。
|
||||
signing.wont_sign.error=在检查提交是否可以被签名时出错。
|
||||
signing.wont_sign.nokey=没有可用的密钥来签署这个提交。
|
||||
signing.wont_sign.never=提交从未签名。
|
||||
signing.wont_sign.always=提交总是签名。
|
||||
signing.wont_sign.pubkey=由于您没有公钥关联到您的账户,提交将不会被签名。
|
||||
signing.wont_sign.twofa=您必须启用两步验证才能签名提交。
|
||||
signing.wont_sign.parentsigned=提交将不会被签名,因为父提交没有签名。
|
||||
signing.wont_sign.basesigned=合并将不会被签名,因为父提交没有签名。
|
||||
signing.wont_sign.headsigned=合并将不会被签名,因为最新提交没有签名。
|
||||
signing.wont_sign.commitssigned=合并将不会被签名,因为所有相关的提交都没有签名。
|
||||
signing.wont_sign.approved=合并将不会被签名,因为合并请求未被批准。
|
||||
signing.wont_sign.not_signed_in=您还没有登录。
|
||||
|
||||
ext_wiki=访问外部百科
|
||||
@ -1946,8 +1986,17 @@ settings.hooks=Web 钩子
|
||||
settings.githooks=管理 Git 钩子
|
||||
settings.basic_settings=基本设置
|
||||
settings.mirror_settings=镜像设置
|
||||
settings.mirror_settings.docs=设置您的仓库以自动同步另一个仓库的提交、标签和分支。
|
||||
settings.mirror_settings.docs.disabled_pull_mirror.instructions=设置您的项目以自动将提交、标签和分支推送到另一个仓库。您的站点管理员已禁用了拉取镜像。
|
||||
settings.mirror_settings.docs.disabled_push_mirror.instructions=将您的项目设置为自动从一个仓库拉取提交、标签和分支。
|
||||
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=现在,这只能在“迁移外部仓库”菜单中完成。欲了解更多信息,请咨询:
|
||||
settings.mirror_settings.docs.disabled_push_mirror.info=您的站点管理员已禁用推送镜像。
|
||||
settings.mirror_settings.docs.no_new_mirrors=您的仓库将镜像同步另一个仓库的更改。请注意,您现在不能创建任何新的镜像。
|
||||
settings.mirror_settings.docs.can_still_use=虽然您不能修改现有镜像或创建新镜像,但您仍然可以使用已存在的镜像。
|
||||
settings.mirror_settings.docs.pull_mirror_instructions=要创建一个拉取镜像,请参阅:
|
||||
settings.mirror_settings.docs.more_information_if_disabled=您可以在这里找到更多关于推送和拉取镜像的信息:
|
||||
settings.mirror_settings.docs.doc_link_title=如何镜像仓库?
|
||||
settings.mirror_settings.docs.doc_link_pull_section=文档中的 “从远程仓库拉取” 部分。
|
||||
settings.mirror_settings.docs.pulling_remote_title=从远程仓库拉取代码
|
||||
settings.mirror_settings.mirrored_repository=镜像库
|
||||
settings.mirror_settings.direction=方向
|
||||
@ -2028,6 +2077,7 @@ settings.transfer.rejected=代码库转移被拒绝。
|
||||
settings.transfer.success=代码库转移成功。
|
||||
settings.transfer_abort=取消转移
|
||||
settings.transfer_abort_invalid=你不能取消不存在的代码库转移。
|
||||
settings.transfer_abort_success=成功取消了将代码库转让给 %s。
|
||||
settings.transfer_desc=您可以将仓库转移至您拥有管理员权限的帐户或组织。
|
||||
settings.transfer_form_title=输入仓库名称以做确认:
|
||||
settings.transfer_in_progress=当前正在进行转让。 如果你想将此代码库转让给另一个用户,请取消它。
|
||||
@ -2063,6 +2113,7 @@ settings.delete_notices_2=- 此操作将永久删除仓库 <strong>%s</strong>
|
||||
settings.delete_notices_fork_1=- 在此仓库删除后,它的派生仓库将变成独立仓库。
|
||||
settings.deletion_success=仓库已被删除。
|
||||
settings.update_settings_success=仓库设置已更新。
|
||||
settings.update_settings_no_unit=该代码库应该至少允许某种形式的交互。
|
||||
settings.confirm_delete=删除本仓库
|
||||
settings.add_collaborator=增加协作者
|
||||
settings.add_collaborator_success=协作者添加成功!
|
||||
@ -2243,6 +2294,7 @@ settings.protect_merge_whitelist_users=合并白名单用户:
|
||||
settings.protect_merge_whitelist_teams=合并白名单团队:
|
||||
settings.protect_check_status_contexts=启用状态检查
|
||||
settings.protect_status_check_patterns=状态检查模式:
|
||||
settings.protect_status_check_patterns_desc=输入模式,指定哪些状态检查必须通过,才能将分支合并到符合此规则的分支中去。每一行指定一个模式,模式不能为空。
|
||||
settings.protect_check_status_contexts_desc=要求状态检查通过才能合并,选择必须先通过哪些状态检查才能合并。如果启用,推送的合并请求必须先通过状态检查才能够合并到对应的分支。如果没有选择具体的状态检查上下文,则所有的状态检查都通过才能合并。
|
||||
settings.protect_check_status_contexts_list=此仓库上周进行过的状态检查
|
||||
settings.protect_status_check_matched=匹配
|
||||
@ -2296,6 +2348,7 @@ settings.tags.protection.allowed.teams=允许的团队
|
||||
settings.tags.protection.allowed.noone=无
|
||||
settings.tags.protection.create=保护Git标签
|
||||
settings.tags.protection.none=没有受保护的Git标签
|
||||
settings.tags.protection.pattern.description=你可以使用单个名称或 glob 模式匹配或正则表达式来匹配多个标签。了解详情请访问 <a target="_blank" rel="noopener" href="https://docs.gitea.com/usage/protected-tags">受保护Git标签指南</a>。
|
||||
settings.bot_token=Bot 令牌
|
||||
settings.chat_id=聊天 ID
|
||||
settings.thread_id=线程 ID
|
||||
@ -2304,6 +2357,7 @@ settings.matrix.room_id=房间ID
|
||||
settings.matrix.message_type=消息类型
|
||||
settings.archive.button=归档仓库
|
||||
settings.archive.header=归档此仓库
|
||||
settings.archive.text=归档仓库将使其完全只读。它将在首页隐藏。没有人(甚至你!)能够进行新的提交,或打开工单及合并请求。
|
||||
settings.archive.success=仓库已成功归档。
|
||||
settings.archive.error=仓库在归档时出现异常。请通过日志获取详细信息。
|
||||
settings.archive.error_ismirror=请不要对镜像仓库归档,谢谢!
|
||||
@ -2313,6 +2367,7 @@ settings.unarchive.button=撤销仓库归档
|
||||
settings.unarchive.header=撤销此仓库归档
|
||||
settings.unarchive.text=撤销归档将恢复仓库接收提交、推送,以及新工单和合并请求的能力。
|
||||
settings.unarchive.success=仓库已成功撤销归档。
|
||||
settings.unarchive.error=仓库在取消归档时出现异常。请通过日志获取详细信息。
|
||||
settings.update_avatar_success=仓库头像已经更新。
|
||||
settings.lfs=LFS
|
||||
settings.lfs_filelist=存储在此仓库中的 LFS 文件
|
||||
@ -2436,6 +2491,7 @@ release.edit_release=保存此次发布
|
||||
release.delete_release=删除发布
|
||||
release.delete_tag=删除 Git标签
|
||||
release.deletion=删除发布
|
||||
release.deletion_desc=删除版本发布只会从 Gitea 中移除。这不会影响 Git 的标签以及您仓库的内容和历史。是否继续?
|
||||
release.deletion_success=Release已被删除。
|
||||
release.deletion_tag_desc=将从仓库中删除此 Git标签。仓库内容和历史记录保持不变。继续吗?
|
||||
release.deletion_tag_success=该 Git标签 已经被删除
|
||||
@ -2456,6 +2512,7 @@ branch.already_exists=名为 %s 的分支已存在。
|
||||
branch.delete_head=刪除
|
||||
branch.delete=删除分支 %s
|
||||
branch.delete_html=删除分支
|
||||
branch.delete_desc=删除分支是永久的。虽然已删除的分支在实际被删除前有可能会短时间存在,但这在大多数情况下无法撤销。是否继续?
|
||||
branch.deletion_success=分支 %s 已被删除。
|
||||
branch.deletion_failed=删除分支 %s 失败。
|
||||
branch.delete_branch_has_new_commits=因为合并之后有新的提交,分支 %s 无法被删除。
|
||||
@ -2495,6 +2552,7 @@ tag.create_success=标签"%s"已存在
|
||||
topic.manage_topics=管理主题
|
||||
topic.done=保存
|
||||
topic.count_prompt=您最多选择25个主题
|
||||
topic.format_prompt=主题必须以字母或数字开头,可以包含连字符 ('-') 和句点 ('.'),长度不得超过35个字符。字符必须为小写。
|
||||
|
||||
find_file.go_to_file=转到文件
|
||||
find_file.no_matching=没有找到匹配的文件
|
||||
@ -2547,6 +2605,7 @@ settings.visibility.private_shortname=私有
|
||||
|
||||
settings.update_settings=更新组织设置
|
||||
settings.update_setting_success=组织设置已更新。
|
||||
settings.change_orgname_prompt=注意:更改组织名称同时会更改组织的 URL 地址并释放旧的名称。
|
||||
settings.change_orgname_redirect_prompt=在被人使用前,旧用户名将会被重定向。
|
||||
settings.update_avatar_success=组织头像已经更新。
|
||||
settings.delete=删除组织
|
||||
@ -2622,6 +2681,7 @@ teams.all_repositories_helper=团队可以访问所有仓库。选择此选项
|
||||
teams.all_repositories_read_permission_desc=此团队授予<strong>读取</strong><strong>所有仓库</strong>的访问权限: 成员可以查看和克隆仓库。
|
||||
teams.all_repositories_write_permission_desc=此团队授予<strong>修改</strong><strong>所有仓库</strong>的访问权限: 成员可以查看和推送至仓库。
|
||||
teams.all_repositories_admin_permission_desc=该团队拥有 <strong>管理</strong> <strong>所有仓库</strong>的权限:团队成员可以读取、克隆、推送以及添加其它仓库协作者。
|
||||
teams.invite.title=您已被邀请加入组织 <strong>%s</strong> 中的团队 <strong>%s</strong>。
|
||||
teams.invite.by=邀请人 %s
|
||||
teams.invite.description=请点击下面的按钮加入团队。
|
||||
|
||||
@ -2834,10 +2894,12 @@ packages.size=大小
|
||||
packages.published=已发布
|
||||
|
||||
defaulthooks=默认Web钩子
|
||||
defaulthooks.desc=当某些 Gitea 事件触发时,Web 钩子自动向服务器发出 HTTP POST 请求。这里定义的 Web 钩子是默认配置,将被复制到所有新的仓库中。详情请访问 <a target="_blank" rel="noopener" href="https://docs.gitea.com/usage/webhooks">Web 钩子指南</a>。
|
||||
defaulthooks.add_webhook=添加默认Web 钩子
|
||||
defaulthooks.update_webhook=更新默认 Web 钩子
|
||||
|
||||
systemhooks=系统 Web 钩子
|
||||
systemhooks.desc=当某些 Gitea 事件触发时,Web 钩子自动向服务器发出HTTP POST请求。这里定义的 Web 钩子将作用于系统上的所有仓库,所以请考虑这可能带来的任何性能影响。了解详情请访问 <a target="_blank" rel="noopener" href="https://docs.gitea.com/usage/webhooks">Web 钩子指南</a>。
|
||||
systemhooks.add_webhook=添加系统 Web 钩子
|
||||
systemhooks.update_webhook=更新系统 Web 钩子
|
||||
|
||||
@ -2930,6 +2992,7 @@ auths.sspi_default_language=默认语言
|
||||
auths.sspi_default_language_helper=SSPI 认证方法为用户自动创建的默认语言。如果您想要自动检测到语言,请留空。
|
||||
auths.tips=帮助提示
|
||||
auths.tips.oauth2.general=OAuth2 认证
|
||||
auths.tips.oauth2.general.tip=当注册新的 OAuth2 身份验证时,回调/重定向 URL 应该是:
|
||||
auths.tip.oauth2_provider=OAuth2 提供程序
|
||||
auths.tip.bitbucket=`在 https://bitbucket.org/account/user/<your username>/oauth-consumers/new 注册新的 OAuth 消费者同时添加权限"帐户"-"读"`
|
||||
auths.tip.nextcloud=使用下面的菜单“设置(Settings) -> 安全(Security) -> OAuth 2.0 client”在您的实例上注册一个新的 OAuth 客户端。
|
||||
@ -2941,6 +3004,7 @@ auths.tip.google_plus=从谷歌 API 控制台 (https://console.developers.google
|
||||
auths.tip.openid_connect=使用 OpenID 连接发现 URL (<server>/.well-known/openid-configuration) 来指定终点
|
||||
auths.tip.twitter=访问 https://dev.twitter.com/apps,创建应用并确保启用了"允许此应用程序用于登录 Twitter"的选项。
|
||||
auths.tip.discord=在 https://discordapp.com/developers/applications/me 上注册新应用程序
|
||||
auths.tip.gitea=注册一个新的 OAuth2 应用程序。可以访问 https://docs.gitea.com/development/oauth2-provider 查看帮助
|
||||
auths.tip.yandex=在 https://oauth.yandex.com/client/new 上创建一个新的应用程序。在“ Yandex.Passport API”这部分中选择以下权限:“访问电子邮件地址(Access to email address)”,“访问用户头像(Access to user avatar)”和“访问用户名,名字和姓氏,性别(Access to username, first name and surname, genderAccess to username, first name and surname, gender)”
|
||||
auths.tip.mastodon=输入您想要认证的 mastodon 实例的自定义 URL (或使用默认值)
|
||||
auths.edit=修改认证源
|
||||
@ -3127,6 +3191,7 @@ monitor.queue.maxnumberworkers=最大工作者数量
|
||||
monitor.queue.numberinqueue=队列中的数量
|
||||
monitor.queue.review_add=查看 / 添加工作者
|
||||
monitor.queue.settings.title=池设置
|
||||
monitor.queue.settings.desc=因为工作者队列阻塞,池正在动态扩展。
|
||||
monitor.queue.settings.maxnumberworkers=最大工作者数量
|
||||
monitor.queue.settings.maxnumberworkers.placeholder=当前 %[1]d
|
||||
monitor.queue.settings.maxnumberworkers.error=最大工作者数必须是数字
|
||||
@ -3245,6 +3310,7 @@ desc=管理仓库软件包。
|
||||
empty=还没有软件包。
|
||||
empty.documentation=关于软件包注册中心的更多信息,请参阅 <a target="_blank" rel="noopener noreferrer" href="%s"> 文档 </a>。
|
||||
empty.repo=您上传了一个包,但没有显示在这里吗?转到 <a href="%[1]s">包设置</a> 并将其链接到这个仓库中。
|
||||
registry.documentation=关于 %s 注册中心的更多信息,请参阅 <a target="_blank" rel="noopener noreferrer" href="%s">文档</a>。
|
||||
filter.type=类型
|
||||
filter.type.all=所有
|
||||
filter.no_result=您的过滤器没有产生任何结果。
|
||||
@ -3268,6 +3334,9 @@ versions=版本
|
||||
versions.view_all=查看全部
|
||||
dependency.id=ID
|
||||
dependency.version=版本
|
||||
alpine.registry=通过在您的 <code>/etc/apk/repositories</code> 文件中添加 URL 来设置此注册中心:
|
||||
alpine.registry.key=下载注册中心公开的 RSA 密钥到 <code>/etc/apk/keys/</code> 文件夹来验证索引签名:
|
||||
alpine.registry.info=从下面的列表中选择 $branch 和 $repository。
|
||||
alpine.install=要安装包,请运行以下命令:
|
||||
alpine.repository=仓库信息
|
||||
alpine.repository.branches=分支
|
||||
@ -3299,8 +3368,10 @@ container.layers=镜像层
|
||||
container.labels=标签
|
||||
container.labels.key=键
|
||||
container.labels.value=值
|
||||
cran.registry=在您的 <code>Rprofile.site</code> 文件中设置此注册中心:
|
||||
cran.install=要安装包,请运行以下命令:
|
||||
debian.registry=从命令行设置此注册中心:
|
||||
debian.registry.info=从下面的列表中选择 $distribution 和 $component。
|
||||
debian.install=要安装包,请运行以下命令:
|
||||
debian.repository=仓库信息
|
||||
debian.repository.distributions=发行版
|
||||
|
@ -31,13 +31,11 @@
|
||||
</tr>
|
||||
{{if and (not .SSH.Disabled) (not .SSH.StartBuiltinServer)}}
|
||||
<tr>
|
||||
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshkeys"}}<br>
|
||||
{{ctx.Locale.Tr "admin.dashboard.resync_all_sshkeys.desc"}}</td>
|
||||
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshkeys"}}</td>
|
||||
<td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshkeys">{{svg "octicon-play"}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshprincipals"}}<br>
|
||||
{{ctx.Locale.Tr "admin.dashboard.resync_all_sshprincipals.desc"}}</td>
|
||||
<td>{{ctx.Locale.Tr "admin.dashboard.resync_all_sshprincipals"}}</td>
|
||||
<td class="text right"><button type="submit" class="ui primary button" name="op" value="resync_all_sshprincipals">{{svg "octicon-play" 16}} {{ctx.Locale.Tr "admin.dashboard.operation_run"}}</button></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
|
@ -11,3 +11,6 @@
|
||||
{{if eq .State "failure"}}
|
||||
{{svg "octicon-x" 18 "commit-status icon text red"}}
|
||||
{{end}}
|
||||
{{if eq .State "warning"}}
|
||||
{{svg "gitea-exclamation" 18 "commit-status icon text yellow"}}
|
||||
{{end}}
|
||||
|
@ -134,7 +134,7 @@
|
||||
<span class="no-select item {{if .Project}}gt-hidden{{end}}">{{ctx.Locale.Tr "repo.issues.new.no_projects"}}</span>
|
||||
<div class="selected">
|
||||
{{if .Project}}
|
||||
<a class="item muted sidebar-item-link" href="{{.Project.Link}}">
|
||||
<a class="item muted sidebar-item-link" href="{{.Project.Link ctx}}">
|
||||
{{svg .Project.IconName 18 "gt-mr-3"}}{{.Project.Title}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
@ -13,7 +13,7 @@
|
||||
{{- else if .IsBlockedByOutdatedBranch}}red
|
||||
{{- else if .IsBlockedByChangedProtectedFiles}}red
|
||||
{{- else if and .EnableStatusCheck (or .RequiredStatusCheckState.IsFailure .RequiredStatusCheckState.IsError)}}red
|
||||
{{- else if and .EnableStatusCheck (or (not $.LatestCommitStatus) .RequiredStatusCheckState.IsPending)}}yellow
|
||||
{{- else if and .EnableStatusCheck (or (not $.LatestCommitStatus) .RequiredStatusCheckState.IsPending .RequiredStatusCheckState.IsWarning)}}yellow
|
||||
{{- else if and .AllowMerge .RequireSigned (not .WillSign)}}red
|
||||
{{- else if .Issue.PullRequest.IsChecking}}yellow
|
||||
{{- else if .Issue.PullRequest.IsEmpty}}grey
|
||||
|
@ -53,6 +53,7 @@ func TestPullCreate_CommitStatus(t *testing.T) {
|
||||
api.CommitStatusError,
|
||||
api.CommitStatusFailure,
|
||||
api.CommitStatusSuccess,
|
||||
api.CommitStatusWarning,
|
||||
}
|
||||
|
||||
statesIcons := map[api.CommitStatusState]string{
|
||||
@ -60,6 +61,7 @@ func TestPullCreate_CommitStatus(t *testing.T) {
|
||||
api.CommitStatusSuccess: "octicon-check",
|
||||
api.CommitStatusError: "gitea-exclamation",
|
||||
api.CommitStatusFailure: "octicon-x",
|
||||
api.CommitStatusWarning: "gitea-exclamation",
|
||||
}
|
||||
|
||||
testCtx := NewAPITestContext(t, "user1", "repo1", auth_model.AccessTokenScopeWriteRepository)
|
||||
|
@ -125,6 +125,10 @@ func TestRepoCommitsWithStatusFailure(t *testing.T) {
|
||||
doTestRepoCommitWithStatus(t, "failure", "octicon-x", "red")
|
||||
}
|
||||
|
||||
func TestRepoCommitsWithStatusWarning(t *testing.T) {
|
||||
doTestRepoCommitWithStatus(t, "warning", "gitea-exclamation", "yellow")
|
||||
}
|
||||
|
||||
func TestRepoCommitsStatusParallel(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
|
@ -1,9 +1,13 @@
|
||||
.repository.wiki .wiki-pages-list tr:hover {
|
||||
background-color: var(--color-hover);
|
||||
}
|
||||
|
||||
.repository.wiki .wiki-pages-list .wiki-git-entry {
|
||||
margin-left: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.repository.wiki .wiki-pages-list td:hover .wiki-git-entry {
|
||||
.repository.wiki .wiki-pages-list tr:hover .wiki-git-entry {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ const commitStatus = {
|
||||
success: {name: 'octicon-check', color: 'green'},
|
||||
error: {name: 'gitea-exclamation', color: 'red'},
|
||||
failure: {name: 'octicon-x', color: 'red'},
|
||||
warning: {name: 'gitea-exclamation', color: 'yellow'},
|
||||
};
|
||||
|
||||
const sfc = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user