mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-17 21:13:16 +00:00
Compare commits
128 Commits
v1.21.0-rc
...
v1.21.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
196100a07a | ||
|
|
bc3d8bff73 | ||
|
|
7f81110461 | ||
|
|
5ed0eefc9a | ||
|
|
4b89c0f996 | ||
|
|
7cae4dfc00 | ||
|
|
28b8e0b43e | ||
|
|
23838c2c2e | ||
|
|
f9763f1366 | ||
|
|
a2314ca9c5 | ||
|
|
994ba35f11 | ||
|
|
447422fe27 | ||
|
|
9bfee5014b | ||
|
|
7128929a0d | ||
|
|
efcbaf8fa8 | ||
|
|
c997e90738 | ||
|
|
ffab076b72 | ||
|
|
117d9a117f | ||
|
|
f8c5f202b7 | ||
|
|
7213506680 | ||
|
|
1f82be6604 | ||
|
|
56bedf2bcc | ||
|
|
f7567f798d | ||
|
|
93ede4bc83 | ||
|
|
9f63d27ec4 | ||
|
|
073d8c50dd | ||
|
|
bc6477b36b | ||
|
|
09efce9da2 | ||
|
|
124a9957d0 | ||
|
|
d72e20627d | ||
|
|
00cd5ba6f4 | ||
|
|
eef4148935 | ||
|
|
d4122712f7 | ||
|
|
97f4239a94 | ||
|
|
58d71cdd6f | ||
|
|
2691b345e6 | ||
|
|
60b51d0648 | ||
|
|
824d40edc6 | ||
|
|
46ac04ce9d | ||
|
|
cc7b9eb085 | ||
|
|
7aafe5e0b4 | ||
|
|
9e15955c68 | ||
|
|
6eadad8222 | ||
|
|
a8e505a44b | ||
|
|
e47b31c691 | ||
|
|
49f82ac4e3 | ||
|
|
81d233d987 | ||
|
|
2f56ab7999 | ||
|
|
61d3d9205b | ||
|
|
28e3d0b0d3 | ||
|
|
4c67c05480 | ||
|
|
cf7374c079 | ||
|
|
8d0a4d7e9d | ||
|
|
9ca1853495 | ||
|
|
d6f7c49b8b | ||
|
|
c074af6a6d | ||
|
|
39596115da | ||
|
|
352906b448 | ||
|
|
6637bbf510 | ||
|
|
6ac2ade97d | ||
|
|
18a782f73d | ||
|
|
6af6f81780 | ||
|
|
d282f5dab8 | ||
|
|
f3f56d570b | ||
|
|
3c03b7db50 | ||
|
|
ac22116211 | ||
|
|
25bc3d562a | ||
|
|
991c959110 | ||
|
|
2d2a5657ef | ||
|
|
977f5db28e | ||
|
|
487c573c28 | ||
|
|
25acbfed36 | ||
|
|
9dd8f34707 | ||
|
|
77bd3acb65 | ||
|
|
95db95ef91 | ||
|
|
ffab2b7e4f | ||
|
|
cb9e10f971 | ||
|
|
5087de1a5c | ||
|
|
f2bac791db | ||
|
|
c279f8aab7 | ||
|
|
9f2b8c7ead | ||
|
|
48e3aec862 | ||
|
|
aabcf2d7ad | ||
|
|
6919a02ab7 | ||
|
|
1848858a1e | ||
|
|
a398089301 | ||
|
|
8885108c42 | ||
|
|
993178b45f | ||
|
|
345d70f7e4 | ||
|
|
6dce671d02 | ||
|
|
6cef7a767b | ||
|
|
6befca1695 | ||
|
|
89d3766d22 | ||
|
|
9b14f1a8ed | ||
|
|
0b8b0072a2 | ||
|
|
dab40cd5f4 | ||
|
|
5b80157aad | ||
|
|
bf76216de1 | ||
|
|
21c3513d49 | ||
|
|
8cf7548a18 | ||
|
|
066aee28a5 | ||
|
|
148f6e3776 | ||
|
|
fa6941cf8c | ||
|
|
54dccbeb2e | ||
|
|
9f228704a3 | ||
|
|
21f1e223d8 | ||
|
|
63a321b83a | ||
|
|
844ab9a441 | ||
|
|
7ec7c733c7 | ||
|
|
4986dc8351 | ||
|
|
1380a46623 | ||
|
|
f19feb0f47 | ||
|
|
9da92835d1 | ||
|
|
478e7042f5 | ||
|
|
63587a4aef | ||
|
|
29d3949271 | ||
|
|
71f091ef97 | ||
|
|
9a64a24f29 | ||
|
|
d8513fc312 | ||
|
|
8c969cdf9c | ||
|
|
4c9f7d0710 | ||
|
|
a1ee172fb0 | ||
|
|
fb5ae2ab94 | ||
|
|
8419897fba | ||
|
|
17698d4a62 | ||
|
|
0fb7294027 | ||
|
|
8e1ef5787f | ||
|
|
65020fdf7f |
@@ -13,46 +13,42 @@ groups:
|
||||
-
|
||||
name: BREAKING
|
||||
labels:
|
||||
- kind/breaking
|
||||
- pr/breaking
|
||||
-
|
||||
name: SECURITY
|
||||
labels:
|
||||
- kind/security
|
||||
- topic/security
|
||||
-
|
||||
name: FEATURES
|
||||
labels:
|
||||
- kind/feature
|
||||
- type/feature
|
||||
-
|
||||
name: API
|
||||
labels:
|
||||
- kind/api
|
||||
- modifies/api
|
||||
-
|
||||
name: ENHANCEMENTS
|
||||
labels:
|
||||
- kind/enhancement
|
||||
- kind/refactor
|
||||
- kind/ui
|
||||
- type/enhancement
|
||||
- type/refactoring
|
||||
- topic/ui
|
||||
-
|
||||
name: BUGFIXES
|
||||
labels:
|
||||
- kind/bug
|
||||
- type/bug
|
||||
-
|
||||
name: TESTING
|
||||
labels:
|
||||
- kind/testing
|
||||
-
|
||||
name: TRANSLATION
|
||||
labels:
|
||||
- kind/translation
|
||||
- type/testing
|
||||
-
|
||||
name: BUILD
|
||||
labels:
|
||||
- kind/build
|
||||
- kind/lint
|
||||
- topic/build
|
||||
- topic/code-linting
|
||||
-
|
||||
name: DOCS
|
||||
labels:
|
||||
- kind/docs
|
||||
- type/docs
|
||||
-
|
||||
name: MISC
|
||||
default: true
|
||||
|
||||
428
.drone.yml
428
.drone.yml
@@ -1,428 +0,0 @@
|
||||
---
|
||||
kind: pipeline
|
||||
name: release-version
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
workspace:
|
||||
base: /source
|
||||
path: /
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
|
||||
volumes:
|
||||
- name: deps
|
||||
temp: {}
|
||||
|
||||
steps:
|
||||
- name: fetch-tags
|
||||
image: docker:git
|
||||
pull: always
|
||||
commands:
|
||||
- git fetch --tags --force
|
||||
|
||||
- name: deps-frontend
|
||||
image: node:20
|
||||
pull: always
|
||||
commands:
|
||||
- make deps-frontend
|
||||
|
||||
- name: deps-backend
|
||||
image: gitea/test_env:linux-1.20-amd64
|
||||
pull: always
|
||||
commands:
|
||||
- make deps-backend
|
||||
volumes:
|
||||
- name: deps
|
||||
path: /go
|
||||
|
||||
- name: static
|
||||
image: techknowlogick/xgo:go-1.21.x
|
||||
pull: always
|
||||
commands:
|
||||
- apt-get update && apt-get -qqy install ca-certificates curl gnupg
|
||||
- mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
||||
- echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" > /etc/apt/sources.list.d/nodesource.list
|
||||
- apt-get update && apt-get -qqy install nodejs
|
||||
- export PATH=$PATH:$GOPATH/bin
|
||||
- make release
|
||||
environment:
|
||||
GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
|
||||
TAGS: bindata sqlite sqlite_unlock_notify
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
depends_on: [fetch-tags]
|
||||
volumes:
|
||||
- name: deps
|
||||
path: /go
|
||||
|
||||
- name: gpg-sign
|
||||
image: plugins/gpgsign:1
|
||||
pull: always
|
||||
settings:
|
||||
detach_sign: true
|
||||
excludes:
|
||||
- "dist/release/*.sha256"
|
||||
files:
|
||||
- "dist/release/*"
|
||||
environment:
|
||||
GPGSIGN_KEY:
|
||||
from_secret: gpgsign_key
|
||||
GPGSIGN_PASSPHRASE:
|
||||
from_secret: gpgsign_passphrase
|
||||
depends_on: [static]
|
||||
|
||||
- name: release-tag
|
||||
image: woodpeckerci/plugin-s3:latest
|
||||
pull: always
|
||||
settings:
|
||||
acl:
|
||||
from_secret: aws_s3_acl
|
||||
region:
|
||||
from_secret: aws_s3_region
|
||||
bucket:
|
||||
from_secret: aws_s3_bucket
|
||||
endpoint:
|
||||
from_secret: aws_s3_endpoint
|
||||
path_style:
|
||||
from_secret: aws_s3_path_style
|
||||
source: "dist/release/*"
|
||||
strip_prefix: dist/release/
|
||||
target: "/gitea/${DRONE_TAG##v}"
|
||||
environment:
|
||||
AWS_ACCESS_KEY_ID:
|
||||
from_secret: aws_access_key_id
|
||||
AWS_SECRET_ACCESS_KEY:
|
||||
from_secret: aws_secret_access_key
|
||||
depends_on: [gpg-sign]
|
||||
|
||||
- name: github
|
||||
image: plugins/github-release:latest
|
||||
pull: always
|
||||
settings:
|
||||
files:
|
||||
- "dist/release/*"
|
||||
file_exists: overwrite
|
||||
environment:
|
||||
GITHUB_TOKEN:
|
||||
from_secret: github_token
|
||||
depends_on: [gpg-sign]
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: docker-linux-amd64-release-version
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
trigger:
|
||||
ref:
|
||||
include:
|
||||
- "refs/tags/**"
|
||||
exclude:
|
||||
- "refs/tags/**-rc*"
|
||||
paths:
|
||||
exclude:
|
||||
- "docs/**"
|
||||
|
||||
steps:
|
||||
- name: fetch-tags
|
||||
image: docker:git
|
||||
pull: always
|
||||
commands:
|
||||
- git fetch --tags --force
|
||||
|
||||
- name: publish
|
||||
image: plugins/docker:latest
|
||||
pull: always
|
||||
settings:
|
||||
auto_tag: true
|
||||
auto_tag_suffix: linux-amd64
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
- name: publish-rootless
|
||||
image: plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile.rootless
|
||||
auto_tag: true
|
||||
auto_tag_suffix: linux-amd64-rootless
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: docker-linux-amd64-release-candidate-version
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
trigger:
|
||||
ref:
|
||||
- "refs/tags/**-rc*"
|
||||
paths:
|
||||
exclude:
|
||||
- "docs/**"
|
||||
|
||||
steps:
|
||||
- name: fetch-tags
|
||||
image: docker:git
|
||||
pull: always
|
||||
commands:
|
||||
- git fetch --tags --force
|
||||
|
||||
- name: publish
|
||||
image: plugins/docker:latest
|
||||
pull: always
|
||||
settings:
|
||||
tags: ${DRONE_TAG##v}-linux-amd64
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
- name: publish-rootless
|
||||
image: plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile.rootless
|
||||
tags: ${DRONE_TAG##v}-linux-amd64-rootless
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: docker-linux-arm64-release-version
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
trigger:
|
||||
ref:
|
||||
include:
|
||||
- "refs/tags/**"
|
||||
exclude:
|
||||
- "refs/tags/**-rc*"
|
||||
paths:
|
||||
exclude:
|
||||
- "docs/**"
|
||||
|
||||
steps:
|
||||
- name: fetch-tags
|
||||
image: docker:git
|
||||
pull: always
|
||||
commands:
|
||||
- git fetch --tags --force
|
||||
|
||||
- name: publish
|
||||
image: plugins/docker:latest
|
||||
pull: always
|
||||
settings:
|
||||
auto_tag: true
|
||||
auto_tag_suffix: linux-arm64
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
- name: publish-rootless
|
||||
image: plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile.rootless
|
||||
auto_tag: true
|
||||
auto_tag_suffix: linux-arm64-rootless
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: docker-linux-arm64-release-candidate-version
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
trigger:
|
||||
ref:
|
||||
- "refs/tags/**-rc*"
|
||||
paths:
|
||||
exclude:
|
||||
- "docs/**"
|
||||
|
||||
steps:
|
||||
- name: fetch-tags
|
||||
image: docker:git
|
||||
pull: always
|
||||
commands:
|
||||
- git fetch --tags --force
|
||||
|
||||
- name: publish
|
||||
image: plugins/docker:latest
|
||||
pull: always
|
||||
settings:
|
||||
tags: ${DRONE_TAG##v}-linux-arm64
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
- name: publish-rootless
|
||||
image: plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile.rootless
|
||||
tags: ${DRONE_TAG##v}-linux-arm64-rootless
|
||||
repo: gitea/gitea
|
||||
build_args:
|
||||
- GOPROXY=https://goproxy.io
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
environment:
|
||||
PLUGIN_MIRROR:
|
||||
from_secret: plugin_mirror
|
||||
DOCKER_BUILDKIT: 1
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: docker-manifest-version
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: manifest-rootless
|
||||
image: plugins/manifest
|
||||
pull: always
|
||||
settings:
|
||||
auto_tag: true
|
||||
ignore_missing: true
|
||||
spec: docker/manifest.rootless.tmpl
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
- name: manifest
|
||||
image: plugins/manifest
|
||||
settings:
|
||||
auto_tag: true
|
||||
ignore_missing: true
|
||||
spec: docker/manifest.tmpl
|
||||
password:
|
||||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
trigger:
|
||||
ref:
|
||||
- "refs/tags/**"
|
||||
paths:
|
||||
exclude:
|
||||
- "docs/**"
|
||||
|
||||
depends_on:
|
||||
- docker-linux-amd64-release-version
|
||||
- docker-linux-amd64-release-candidate-version
|
||||
- docker-linux-arm64-release-version
|
||||
- docker-linux-arm64-release-candidate-version
|
||||
@@ -476,7 +476,7 @@ rules:
|
||||
prefer-exponentiation-operator: [2]
|
||||
prefer-named-capture-group: [0]
|
||||
prefer-numeric-literals: [2]
|
||||
prefer-object-has-own: [0]
|
||||
prefer-object-has-own: [2]
|
||||
prefer-object-spread: [2]
|
||||
prefer-promise-reject-errors: [2, {allowEmptyReject: false}]
|
||||
prefer-regex-literals: [2]
|
||||
|
||||
1
.github/actionlint.yaml
vendored
1
.github/actionlint.yaml
vendored
@@ -2,3 +2,4 @@ self-hosted-runner:
|
||||
labels:
|
||||
- actuated-4cpu-8gb
|
||||
- actuated-4cpu-16gb
|
||||
- nscloud
|
||||
|
||||
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/**"
|
||||
|
||||
36
.github/workflows/disk-clean.yml
vendored
Normal file
36
.github/workflows/disk-clean.yml
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
name: disk-clean
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# FIXME: https://github.com/jlumbroso/free-disk-space/issues/17
|
||||
- name: same as 'large-packages' but without 'google-cloud-sdk'
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get remove -y '^dotnet-.*'
|
||||
sudo apt-get remove -y '^llvm-.*'
|
||||
sudo apt-get remove -y 'php.*'
|
||||
sudo apt-get remove -y '^mongodb-.*'
|
||||
sudo apt-get remove -y '^mysql-.*'
|
||||
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri
|
||||
sudo apt-get autoremove -y
|
||||
sudo apt-get clean
|
||||
- name: Free Disk Space (Ubuntu)
|
||||
uses: jlumbroso/free-disk-space@main
|
||||
with:
|
||||
# this might remove tools that are actually needed,
|
||||
# if set to "true" but frees about 6 GB
|
||||
tool-cache: false
|
||||
|
||||
# all of these default to true, but feel free to set to
|
||||
# "false" if necessary for your workflow
|
||||
android: true
|
||||
dotnet: true
|
||||
haskell: true
|
||||
large-packages: false
|
||||
docker-images: false
|
||||
swap-storage: true
|
||||
24
.github/workflows/release-nightly.yml
vendored
24
.github/workflows/release-nightly.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: release-nightly-assets
|
||||
name: release-nightly
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -10,7 +10,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
nightly-binary:
|
||||
runs-on: actuated-4cpu-16gb
|
||||
runs-on: nscloud
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
@@ -46,17 +46,17 @@ jobs:
|
||||
REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//')
|
||||
echo "Cleaned name is ${REF_NAME}"
|
||||
echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT"
|
||||
- name: configure aws
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
with:
|
||||
aws-region: ${{ secrets.AWS_REGION }}
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
- name: upload binaries to s3
|
||||
uses: jakejarvis/s3-sync-action@master
|
||||
env:
|
||||
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
AWS_REGION: ${{ secrets.AWS_REGION }}
|
||||
SOURCE_DIR: dist/release
|
||||
DEST_DIR: gitea/${{ steps.clean_name.outputs.branch }}
|
||||
run: |
|
||||
aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress
|
||||
nightly-docker-rootful:
|
||||
runs-on: actuated-4cpu-16gb
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
@@ -93,7 +93,7 @@ jobs:
|
||||
push: true
|
||||
tags: gitea/gitea:${{ steps.clean_name.outputs.branch }}
|
||||
nightly-docker-rootless:
|
||||
runs-on: actuated-4cpu-16gb
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
|
||||
129
.github/workflows/release-tag-rc.yml
vendored
Normal file
129
.github/workflows/release-tag-rc.yml
vendored
Normal file
@@ -0,0 +1,129 @@
|
||||
name: release-tag-rc
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v1*-rc*'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
binary:
|
||||
runs-on: nscloud
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
|
||||
- run: git fetch --unshallow --quiet --tags --force
|
||||
- uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: "~1.21"
|
||||
check-latest: true
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 20
|
||||
- run: make deps-frontend deps-backend
|
||||
# xgo build
|
||||
- run: make release
|
||||
env:
|
||||
TAGS: bindata sqlite sqlite_unlock_notify
|
||||
- name: import gpg key
|
||||
id: import_gpg
|
||||
uses: crazy-max/ghaction-import-gpg@v5
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
|
||||
passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
|
||||
- name: sign binaries
|
||||
run: |
|
||||
for f in dist/release/*; do
|
||||
echo '${{ secrets.GPGSIGN_PASSPHRASE }}' | gpg --pinentry-mode loopback --passphrase-fd 0 --batch --yes --detach-sign -u ${{ steps.import_gpg.outputs.fingerprint }} --output "$f.asc" "$f"
|
||||
done
|
||||
# clean branch name to get the folder name in S3
|
||||
- name: Get cleaned branch name
|
||||
id: clean_name
|
||||
run: |
|
||||
REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//')
|
||||
echo "Cleaned name is ${REF_NAME}"
|
||||
echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT"
|
||||
- name: configure aws
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
with:
|
||||
aws-region: ${{ secrets.AWS_REGION }}
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
- name: upload binaries to s3
|
||||
run: |
|
||||
aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress
|
||||
- name: Install GH CLI
|
||||
uses: dev-hanz-ops/install-gh-cli-action@v0.1.0
|
||||
with:
|
||||
gh-cli-version: 2.39.1
|
||||
- name: create github release
|
||||
run: |
|
||||
gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --draft --notes-from-tag dist/release/*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
docker-rootful:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
|
||||
- run: git fetch --unshallow --quiet --tags --force
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: gitea/gitea
|
||||
# 1.2.3-rc0
|
||||
tags: |
|
||||
type=semver,pattern={{version}}
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: build rootful docker image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
docker-rootless:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
|
||||
- run: git fetch --unshallow --quiet --tags --force
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: gitea/gitea
|
||||
# each tag below will have the suffix of -rootless
|
||||
flavor: |
|
||||
suffix=-rootless
|
||||
# 1.2.3-rc0
|
||||
tags: |
|
||||
type=semver,pattern={{version}}
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: build rootless docker image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
file: Dockerfile.rootless
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
145
.github/workflows/release-tag-version.yml
vendored
Normal file
145
.github/workflows/release-tag-version.yml
vendored
Normal file
@@ -0,0 +1,145 @@
|
||||
name: release-tag-version
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v1.*'
|
||||
- '!v1*-rc*'
|
||||
- '!v1*-dev'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
binary:
|
||||
runs-on: nscloud
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
|
||||
- run: git fetch --unshallow --quiet --tags --force
|
||||
- uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: "~1.21"
|
||||
check-latest: true
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 20
|
||||
- run: make deps-frontend deps-backend
|
||||
# xgo build
|
||||
- run: make release
|
||||
env:
|
||||
TAGS: bindata sqlite sqlite_unlock_notify
|
||||
- name: import gpg key
|
||||
id: import_gpg
|
||||
uses: crazy-max/ghaction-import-gpg@v5
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
|
||||
passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
|
||||
- name: sign binaries
|
||||
run: |
|
||||
for f in dist/release/*; do
|
||||
echo '${{ secrets.GPGSIGN_PASSPHRASE }}' | gpg --pinentry-mode loopback --passphrase-fd 0 --batch --yes --detach-sign -u ${{ steps.import_gpg.outputs.fingerprint }} --output "$f.asc" "$f"
|
||||
done
|
||||
# clean branch name to get the folder name in S3
|
||||
- name: Get cleaned branch name
|
||||
id: clean_name
|
||||
run: |
|
||||
REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//')
|
||||
echo "Cleaned name is ${REF_NAME}"
|
||||
echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT"
|
||||
- name: configure aws
|
||||
uses: aws-actions/configure-aws-credentials@v4
|
||||
with:
|
||||
aws-region: ${{ secrets.AWS_REGION }}
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
- name: upload binaries to s3
|
||||
run: |
|
||||
aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress
|
||||
- name: Install GH CLI
|
||||
uses: dev-hanz-ops/install-gh-cli-action@v0.1.0
|
||||
with:
|
||||
gh-cli-version: 2.39.1
|
||||
- name: create github release
|
||||
run: |
|
||||
gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --notes-from-tag dist/release/*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
docker-rootful:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
|
||||
- run: git fetch --unshallow --quiet --tags --force
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: gitea/gitea
|
||||
# this will generate tags in the following format:
|
||||
# latest
|
||||
# 1
|
||||
# 1.2
|
||||
# 1.2.3
|
||||
tags: |
|
||||
type=raw,value=latest
|
||||
type=semver,pattern={{major}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{version}}
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: build rootful docker image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
docker-rootless:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# fetch all commits instead of only the last as some branches are long lived and could have many between versions
|
||||
# fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567
|
||||
- run: git fetch --unshallow --quiet --tags --force
|
||||
- uses: docker/setup-qemu-action@v2
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: gitea/gitea
|
||||
# each tag below will have the suffix of -rootless
|
||||
flavor: |
|
||||
suffix=-rootless
|
||||
# this will generate tags in the following format (with -rootless suffix added):
|
||||
# latest
|
||||
# 1
|
||||
# 1.2
|
||||
# 1.2.3
|
||||
tags: |
|
||||
type=raw,value=latest
|
||||
type=semver,pattern={{major}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{version}}
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: build rootless docker image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
file: Dockerfile.rootless
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
@@ -6,7 +6,6 @@ line-length: {code_blocks: false, tables: false, stern: true, line_length: -1}
|
||||
no-alt-text: false
|
||||
no-bare-urls: false
|
||||
no-blanks-blockquote: false
|
||||
no-duplicate-header: {allow_different_nesting: true}
|
||||
no-emphasis-as-header: false
|
||||
no-empty-links: false
|
||||
no-hard-tabs: {code_blocks: false}
|
||||
|
||||
@@ -24,8 +24,6 @@ rules:
|
||||
document-start:
|
||||
level: error
|
||||
present: false
|
||||
ignore: |
|
||||
/.drone.yml
|
||||
|
||||
document-end:
|
||||
present: false
|
||||
|
||||
@@ -42,13 +42,13 @@ GARGS = "--no-print-directory"
|
||||
|
||||
# The GNU convention is to use the lowercased `prefix` variable/macro to
|
||||
# specify the installation directory. Humor them.
|
||||
GPREFIX = ""
|
||||
GPREFIX =
|
||||
.if defined(PREFIX) && ! defined(prefix)
|
||||
GPREFIX = 'prefix = "$(PREFIX)"'
|
||||
.endif
|
||||
|
||||
.BEGIN: .SILENT
|
||||
which $(GMAKE) || printf "Error: GNU Make is required!\n\n" 1>&2 && false
|
||||
which $(GMAKE) || (printf "Error: GNU Make is required!\n\n" 1>&2 && false)
|
||||
|
||||
.PHONY: FRC
|
||||
$(.TARGETS): FRC
|
||||
|
||||
476
CHANGELOG.md
476
CHANGELOG.md
@@ -4,6 +4,481 @@ This changelog goes through all the changes that have been made in each release
|
||||
without substantial changes to our git log; to see the highlights of what has
|
||||
been added to each release, please refer to the [blog](https://blog.gitea.com).
|
||||
|
||||
## [1.21.1](https://github.com/go-gitea/gitea/releases/tag/1.21.1) - 2023-11-26
|
||||
|
||||
* SECURITY
|
||||
* Fix comment permissions (#28213) (#28216)
|
||||
* BUGFIXES
|
||||
* Fix delete-orphaned-repos (#28200) (#28202)
|
||||
* Make CORS work for oauth2 handlers (#28184) (#28185)
|
||||
* Fix missing buttons (#28179) (#28181)
|
||||
* Fix no ActionTaskOutput table waring (#28149) (#28152)
|
||||
* Fix empty action run title (#28113) (#28148)
|
||||
* Use "is-loading" to avoid duplicate form submit for code comment (#28143) (#28147)
|
||||
* Fix Matrix and MSTeams nil dereference (#28089) (#28105)
|
||||
* Fix incorrect pgsql conn builder behavior (#28085) (#28098)
|
||||
* Fix system config cache expiration timing (#28072) (#28090)
|
||||
* Restricted users only see repos in orgs which their team was assigned to (#28025) (#28051)
|
||||
* API
|
||||
* Fix permissions for Token DELETE endpoint to match GET and POST (#27610) (#28099)
|
||||
* ENHANCEMENTS
|
||||
* Do not display search box when there's no packages yet (#28146) (#28159)
|
||||
* Add missing `packages.cleanup.success` (#28129) (#28132)
|
||||
* DOCS
|
||||
* Docs: Replace deprecated IS_TLS_ENABLED mailer setting in email setup (#28205) (#28208)
|
||||
* Fix the description about the default setting for action in quick start document (#28160) (#28168)
|
||||
* Add guide page to actions when there's no workflows (#28145) (#28153)
|
||||
* MISC
|
||||
* Use full width for PR comparison (#28182) (#28186)
|
||||
|
||||
## [1.21.0](https://github.com/go-gitea/gitea/releases/tag/v1.21.0) - 2023-11-14
|
||||
|
||||
* BREAKING
|
||||
* Restrict certificate type for builtin SSH server (#26789)
|
||||
* Refactor to use urfave/cli/v2 (#25959)
|
||||
* Move public asset files to the proper directory (#25907)
|
||||
* Remove commit status running and warning to align GitHub (#25839) (partially reverted: Restore warning commit status (#27504) (#27529))
|
||||
* Remove "CHARSET" config option for MySQL, always use "utf8mb4" (#25413)
|
||||
* Set SSH_AUTHORIZED_KEYS_BACKUP to false (#25412)
|
||||
* FEATURES
|
||||
* User details page (#26713)
|
||||
* Chore(actions): support cron schedule task (#26655)
|
||||
* Support rebuilding issue indexer manually (#26546)
|
||||
* Allow to archive labels (#26478)
|
||||
* Add disable workflow feature (#26413)
|
||||
* Support `.git-blame-ignore-revs` file (#26395)
|
||||
* Pre-register OAuth2 applications for git credential helpers (#26291)
|
||||
* Add `Retry` button when creating a mirror-repo fails (#26228)
|
||||
* Artifacts retention and auto clean up (#26131)
|
||||
* Serve pre-defined files in "public", add "security.txt", add CORS header for ".well-known" (#25974)
|
||||
* Implement auto-cancellation of concurrent jobs if the event is push (#25716)
|
||||
* Newly pushed branches hints on repository home page (#25715)
|
||||
* Display branch commit status (#25608)
|
||||
* Add direct serving of package content (#25543)
|
||||
* Add commits dropdown in PR files view and allow commit by commit review (#25528)
|
||||
* Allow package cleanup from admin page (#25307)
|
||||
* Batch delete issue and improve tippy opts (#25253)
|
||||
* Show branches and tags that contain a commit (#25180)
|
||||
* Add actor and status dropdowns to run list (#25118)
|
||||
* Allow Organisations to have a E-Mail (#25082)
|
||||
* Add codeowners feature (#24910)
|
||||
* Actions Artifacts support uploading multiple files and directories (#24874)
|
||||
* Support configuration variables on Gitea Actions (#24724)
|
||||
* Support downloading raw task logs (#24451)
|
||||
* API
|
||||
* Unify two factor check (#27915) (#27929)
|
||||
* Fix package webhook (#27839) (#27855)
|
||||
* Fix/upload artifact error windows (#27802) (#27840)
|
||||
* Fix bad method call when deleting user secrets via API (#27829) (#27831)
|
||||
* Do not force creation of _cargo-index repo on publish (#27266) (#27765)
|
||||
* Delete repos of org when purge delete user (#27273) (#27728)
|
||||
* Fix org team endpoint (#27721) (#27727)
|
||||
* Api: GetPullRequestCommits: return file list (#27483) (#27539)
|
||||
* Don't let API add 2 exclusive labels from same scope (#27433) (#27460)
|
||||
* Redefine the meaning of column is_active to make Actions Registration Token generation easier (#27143) (#27304)
|
||||
* Fix PushEvent NullPointerException jenkinsci/github-plugin (#27203) (#27251)
|
||||
* Fix organization field being null in POST /orgs/{orgid}/teams (#27150) (#27163)
|
||||
* Allow empty Conan files (#27092)
|
||||
* Fix token endpoints ignore specified account (#27080)
|
||||
* Reduce usage of `db.DefaultContext` (#27073) (#27083) (#27089) (#27103) (#27262) (#27265) (#27347) (#26076)
|
||||
* Make SSPI auth mockable (#27036)
|
||||
* Extract auth middleware from service (#27028)
|
||||
* Add `RemoteAddress` to mirrors (#26952)
|
||||
* Feat(API): add routes and functions for managing user's secrets (#26909)
|
||||
* Feat(API): add secret deletion functionality for repository (#26808)
|
||||
* Feat(API): add route and implementation for creating/updating repository secret (#26766)
|
||||
* Add Upload URL to release API (#26663)
|
||||
* Feat(API): update and delete secret for managing organization secrets (#26660)
|
||||
* Feat: implement organization secret creation API (#26566)
|
||||
* Add API route to list org secrets (#26485)
|
||||
* Set commit id when ref used explicitly (#26447)
|
||||
* PATCH branch-protection updates check list even when checks are disabled (#26351)
|
||||
* Add file status for API "Get a single commit from a repository" (#16205) (#25831)
|
||||
* Add API for changing Avatars (#25369)
|
||||
* BUGFIXES
|
||||
* Fix viewing wiki commit on empty repo (#28040) (#28044)
|
||||
* Enable system users for comment.LoadPoster (#28014) (#28032)
|
||||
* Fixed duplicate attachments on dump on windows (#28019) (#28031)
|
||||
* Fix wrong xorm Delete usage(backport for 1.21) (#28002)
|
||||
* Add word-break to repo description in home page (#27924) (#27957)
|
||||
* Fix rendering assignee changed comments without assignee (#27927) (#27952)
|
||||
* Add word break to release title (#27942) (#27947)
|
||||
* Fix JS NPE when viewing specific range of PR commits (#27912) (#27923)
|
||||
* Show correct commit sha when viewing single commit diff (#27916) (#27921)
|
||||
* Fix 500 when deleting a dismissed review (#27903) (#27910)
|
||||
* Fix DownloadFunc when migrating releases (#27887) (#27890)
|
||||
* Fix http protocol auth (#27875) (#27876)
|
||||
* Refactor postgres connection string building (#27723) (#27869)
|
||||
* Close all hashed buffers (#27787) (#27790)
|
||||
* Fix label render containing invalid HTML (#27752) (#27762)
|
||||
* Fix duplicate project board when hitting `enter` key (#27746) (#27751)
|
||||
* Fix `link-action` redirect network error (#27734) (#27749)
|
||||
* Fix sticky diff header background (#27697) (#27712)
|
||||
* Always delete existing scheduled action tasks (#27662) (#27688)
|
||||
* Support allowed hosts for webhook to work with proxy (#27655) (#27675)
|
||||
* Fix poster is not loaded in get default merge message (#27657) (#27666)
|
||||
* Improve dropdown button alignment and fix hover bug (#27632) (#27637)
|
||||
* Improve retrying index issues (#27554) (#27634)
|
||||
* Fix 404 when deleting Docker package with an internal version (#27615) (#27630)
|
||||
* Backport manually for a tmpl issue in v1.21 (#27612)
|
||||
* Don't show Link to TOTP if not set up (#27585) (#27588)
|
||||
* Fix data-race bug when accessing task.LastRun (#27584) (#27586)
|
||||
* Fix attachment download bug (#27486) (#27571)
|
||||
* Respect SSH.KeygenPath option when calculating ssh key fingerprints (#27536) (#27551)
|
||||
* Improve dropdown's behavior when there is a search input in menu (#27526) (#27534)
|
||||
* Fix panic in storageHandler (#27446) (#27479)
|
||||
* When comparing with an non-exist repository, return 404 but 500 (#27437) (#27442)
|
||||
* Fix pr template (#27436) (#27440)
|
||||
* Fix git 2.11 error when checking IsEmpty (#27393) (#27397)
|
||||
* Allow get release download files and lfs files with oauth2 token format (#26430) (#27379)
|
||||
* Fix missing ctx for GetRepoLink in dashboard (#27372) (#27375)
|
||||
* Absolute positioned checkboxes overlay floated elements (#26870) (#27366)
|
||||
* Introduce fixes and more rigorous tests for 'Show on a map' feature (#26803) (#27365)
|
||||
* Fix repo count in org action settings (#27245) (#27353)
|
||||
* Add logs for data broken of comment review (#27326) (#27345)
|
||||
* Fix the approval count of PR when there is no protection branch rule (#27272) (#27343)
|
||||
* Fix Bug in Issue Config when only contact links are set (#26521) (#27334)
|
||||
* Improve issue history dialog and make poster can delete their own history (#27323) (#27327)
|
||||
* Fix orphan check for deleted branch (#27310) (#27321)
|
||||
* Fix protected branch icon location (#26576) (#27317)
|
||||
* Fix yaml test (#27297) (#27303)
|
||||
* Fix some animation bugs (#27287) (#27294)
|
||||
* Fix incorrect change from #27231 (#27275) (#27282)
|
||||
* Add missing public user visibility in user details page (#27246) (#27250)
|
||||
* Fix EOL handling in web editor (#27141) (#27234)
|
||||
* Fix issues on action runners page (#27226) (#27233)
|
||||
* Quote table `release` in sql queries (#27205) (#27218)
|
||||
* Fix release URL in webhooks (#27182) (#27185)
|
||||
* Fix review request number and add more tests (#27104) (#27168)
|
||||
* Fix the variable regexp pattern on web page (#27161) (#27164)
|
||||
* Fix: treat tab "overview" as "repositories" in user profiles without readme (#27124)
|
||||
* Fix NPE when editing OAuth2 applications (#27078)
|
||||
* Fix the incorrect route path in the user edit page. (#27007)
|
||||
* Fix the secret regexp pattern on web page (#26910)
|
||||
* Allow users with write permissions for issues to add attachments with API (#26837)
|
||||
* Make "link-action" backend code respond correct JSON content (#26680)
|
||||
* Use line-height: normal by default (#26635)
|
||||
* Fix NPM packages name validation (#26595)
|
||||
* Rewrite the DiffFileTreeItem and fix misalignment (#26565)
|
||||
* Return empty when searching issues with no repos (#26545)
|
||||
* Explain SearchOptions and fix ToSearchOptions (#26542)
|
||||
* Add missing triggers to update issue indexer (#26539)
|
||||
* Handle base64 decoding correctly to avoid panic (#26483)
|
||||
* Avoiding accessing undefined mentionValues (#26461)
|
||||
* Fix incorrect redirection in new issue using references (#26440)
|
||||
* Fix the bug when getting files changed for `pull_request_target` event (#26320)
|
||||
* Remove IsWarning in tmpl (#26120)
|
||||
* Fix loading `LFS_JWT_SECRET` from wrong section (#26109)
|
||||
* Fixing redirection issue for logged-in users (#26105)
|
||||
* Improve "gitea doctor" sub-command and fix "help" commands (#26072)
|
||||
* Fix the truncate and alignment problem for some admin tables (#26042)
|
||||
* Update minimum password length requirements (#25946)
|
||||
* Do not "guess" the file encoding/BOM when using API to upload files (#25828)
|
||||
* Restructure issue list template, styles (#25750)
|
||||
* Fix `ref` for workflows triggered by `pull_request_target` (#25743)
|
||||
* Fix issues indexer document mapping (#25619)
|
||||
* Use JSON response for "user/logout" (#25522)
|
||||
* Fix migrate page layout on mobile (#25507)
|
||||
* Link to existing PR when trying to open a new PR on the same branches (#25494)
|
||||
* Do not publish docker release images on `-dev` tags (#25471)
|
||||
* Support `pull_request_target` event (#25229)
|
||||
* Modify the content format of the Feishu webhook (#25106)
|
||||
* ENHANCEMENTS
|
||||
* Render email addresses as such if followed by punctuation (#27987) (#27992)
|
||||
* Show error toast when file size exceeds the limits (#27985) (#27986)
|
||||
* Fix citation error when the file size is larger than 1024 bytes (#27958) (#27965)
|
||||
* Remove action runners on user deletion (#27902) (#27908)
|
||||
* Remove set tabindex on view issue (#27892) (#27896)
|
||||
* Reduce margin/padding on flex-list items and divider (#27872) (#27874)
|
||||
* Change katex limits (#27823) (#27868)
|
||||
* Clean up template locale usage (#27856) (#27857)
|
||||
* Add dedicated class for empty placeholders (#27788) (#27792)
|
||||
* Add gap between diff boxes (#27776) (#27781)
|
||||
* Fix incorrect "tab" parameter for repo search sub-template (#27755) (#27764)
|
||||
* Enable followCursor for language stats bar (#27713) (#27739)
|
||||
* Improve diff tree spacing (#27714) (#27719)
|
||||
* Feed UI Improvements (#27356) (#27717)
|
||||
* Improve feed icons and feed merge text color (#27498) (#27716)
|
||||
* [FIX] resolve confusing colors in languages stats by insert a gap (#27704) (#27715)
|
||||
* Add doctor dbconsistency fix to delete repos with no owner (#27290) (#27693)
|
||||
* Fix required checkboxes in issue forms (#27592) (#27692)
|
||||
* Hide archived labels by default from the suggestions when assigning labels for an issue (#27451) (#27661)
|
||||
* Cleanup repo details icons/labels (#27644) (#27654)
|
||||
* Keep filter when showing unfiltered results on explore page (#27192) (#27589)
|
||||
* Show manual cron run's last time (#27544) (#27577)
|
||||
* Revert "Fix pr template (#27436)" (#27567)
|
||||
* Increase queue length (#27555) (#27562)
|
||||
* Avoid run change title process when the title is same (#27467) (#27558)
|
||||
* Remove max-width and add hide text overflow (#27359) (#27550)
|
||||
* Add hover background to wiki list page (#27507) (#27521)
|
||||
* Fix mermaid flowchart margin issue (#27503) (#27516)
|
||||
* Refactor system setting (#27000) (#27452)
|
||||
* Fix missing `ctx` in new_form.tmpl (#27434) (#27438)
|
||||
* Add Index to `action.user_id` (#27403) (#27425)
|
||||
* Don't use subselect in `DeleteIssuesByRepoID` (#27332) (#27408)
|
||||
* Add support for HEAD ref in /src/branch and /src/commit routes (#27384) (#27407)
|
||||
* Make Actions tasks/jobs timeouts configurable by the user (#27400) (#27402)
|
||||
* Hide archived labels when filtering by labels on the issue list (#27115) (#27381)
|
||||
* Highlight user details link (#26998) (#27376)
|
||||
* Add protected branch name description (#27257) (#27351)
|
||||
* Improve tree not found page (#26570) (#27346)
|
||||
* Add Index to `comment.dependent_issue_id` (#27325) (#27340)
|
||||
* Improve branch list UI (#27319) (#27324)
|
||||
* Fix divider in subscription page (#27298) (#27301)
|
||||
* Add missed return to actions view fetch (#27289) (#27293)
|
||||
* Backport ctx locale refactoring manually (#27231) (#27259) (#27260)
|
||||
* Disable `Test Delivery` and `Replay` webhook buttons when webhook is inactive (#27211) (#27253)
|
||||
* Use mask-based fade-out effect for `.new-menu` (#27181) (#27243)
|
||||
* Cleanup locale function usage (#27227) (#27240)
|
||||
* Fix z-index on markdown completion (#27237) (#27239)
|
||||
* Fix Fomantic UI dropdown icon bug when there is a search input in menu (#27225) (#27228)
|
||||
* Allow copying issue comment link on archived repos and when not logged in (#27193) (#27210)
|
||||
* Fix: text decorator on issue sidebar menu label (#27206) (#27209)
|
||||
* Fix dropdown icon position (#27175) (#27177)
|
||||
* Add index to `issue_user.issue_id` (#27154) (#27158)
|
||||
* Increase auth provider icon size on login page (#27122)
|
||||
* Remove a `gt-float-right` and some unnecessary helpers (#27110)
|
||||
* Change green buttons to primary color (#27099)
|
||||
* Use db.WithTx for AddTeamMember to avoid ctx abuse (#27095)
|
||||
* Use `print` instead of `printf` (#27093)
|
||||
* Remove the useless function `GetUserIssueStats` and move relevant tests to `indexer_test.go` (#27067)
|
||||
* Search branches (#27055)
|
||||
* Display all user types and org types on admin management UI (#27050)
|
||||
* Ui correction in mobile view nav bar left aligned items. (#27046)
|
||||
* Chroma color tweaks (#26978)
|
||||
* Move some functions to service layer (#26969)
|
||||
* Improve "language stats" UI (#26968)
|
||||
* Replace `util.SliceXxx` with `slices.Xxx` (#26958)
|
||||
* Refactor dashboard/feed.tmpl (#26956)
|
||||
* Move repository deletion to service layer (#26948)
|
||||
* Fix the missing repo count (#26942)
|
||||
* Improve hint when uploading a too large avatar (#26935)
|
||||
* Extract common code to new template (#26933)
|
||||
* Move createrepository from module to service layer (#26927)
|
||||
* Move notification interface to services layer (#26915)
|
||||
* Move feed notification service layer (#26908)
|
||||
* Move ui notification to service layer (#26907)
|
||||
* Move indexer notification to service layer (#26906)
|
||||
* Move mail notification logic to service layer (#26905)
|
||||
* Extract common code to new template (#26903)
|
||||
* Show queue's active worker number (#26896)
|
||||
* Fix media description render for orgmode (#26895)
|
||||
* Remove CSS `has` selector and improve various styles (#26891)
|
||||
* Relocate the `RSS user feed` button (#26882)
|
||||
* Refactor "shortsha" (#26877)
|
||||
* Refactor `og:description` to limit the max length (#26876)
|
||||
* Move web/api context related testing function into a separate package (#26859)
|
||||
* Redable error on S3 storage connection failure (#26856)
|
||||
* Improve opengraph previews (#26851)
|
||||
* Add more descriptive error on forgot password page (#26848)
|
||||
* Show always repo count in header (#26842)
|
||||
* Remove "TODO" tasks from CSS file (#26835)
|
||||
* Render code blocks in repo description (#26830)
|
||||
* Minor dashboard tweaks, fix flex-list margins (#26829)
|
||||
* Remove polluted `.ui.right` (#26825)
|
||||
* Display archived labels specially when listing labels (#26820)
|
||||
* Remove polluted ".ui.left" style (#26809)
|
||||
* Make it posible to customize nav text color via css var (#26807)
|
||||
* Refactor lfs requests (#26783)
|
||||
* Improve flex list item padding (#26779)
|
||||
* Remove fomantic `text` module (#26777)
|
||||
* Remove fomantic `item` module (#26775)
|
||||
* Remove redundant nil check in `WalkGitLog` (#26773)
|
||||
* Reduce some allocations in type conversion (#26772)
|
||||
* Refactor some CSS styles and simplify code (#26771)
|
||||
* Unify `border-radius` behavior (#26770)
|
||||
* Improve modal dialog UI (#26764)
|
||||
* Allow "latest" to be used in release vTag when downloading file (#26748)
|
||||
* Adding hint `Archived` to archive label. (#26741)
|
||||
* Move `modules/mirror` to `services` (#26737)
|
||||
* Add "dir=auto" for input/textarea elements by default (#26735)
|
||||
* Add auth-required to config.json for Cargo http registry (#26729)
|
||||
* Simplify helper CSS classes and avoid abuse (#26728)
|
||||
* Make web context initialize correctly for different cases (#26726)
|
||||
* Focus editor on "Write" tab click (#26714)
|
||||
* Remove incorrect CSS helper classes (#26712)
|
||||
* Fix review bar misalignment (#26711)
|
||||
* Add reverseproxy auth for API back with default disabled (#26703)
|
||||
* Add default label in branch select list (#26697)
|
||||
* Improve Image Diff UI (#26696)
|
||||
* Fixed text overflow in dropdown menu (#26694)
|
||||
* [Refactor] getIssueStatsChunk to move inner function into own one (#26671)
|
||||
* Remove fomantic loader module (#26670)
|
||||
* Add `member`, `collaborator`, `contributor`, and `first-time contributor` roles and tooltips (#26658)
|
||||
* Improve some flex layouts (#26649)
|
||||
* Improve the branch selector tab UI (#26631)
|
||||
* Improve show role (#26621)
|
||||
* Remove avatarHTML from template helpers (#26598)
|
||||
* Allow text selection in actions step header (#26588)
|
||||
* Improve translation of milestone filters (#26569)
|
||||
* Add optimistic lock to ActionRun table (#26563)
|
||||
* Update team invitation email link (#26550)
|
||||
* Differentiate better between user settings and admin settings (#26538)
|
||||
* Check disabled workflow when rerun jobs (#26535)
|
||||
* Improve deadline icon location in milestone list page (#26532)
|
||||
* Improve repo sub menu (#26531)
|
||||
* Fix the display of org level badges (#26504)
|
||||
* Rename `Sync2` -> `Sync` (#26479)
|
||||
* Fix stderr usages (#26477)
|
||||
* Remove fomantic transition module (#26469)
|
||||
* Refactor tests (#26464)
|
||||
* Refactor project templates (#26448)
|
||||
* Fall back to esbuild for css minify (#26445)
|
||||
* Always show usernames in reaction tooltips (#26444)
|
||||
* Use correct pull request commit link instead of a generic commit link (#26434)
|
||||
* Refactor "editorconfig" (#26391)
|
||||
* Make `user-content-* ` consistent with github (#26388)
|
||||
* Remove unnecessary template helper repoAvatar (#26387)
|
||||
* Remove unnecessary template helper DisableGravatar (#26386)
|
||||
* Use template context function for avatar rendering (#26385)
|
||||
* Rename code_langauge.go to code_language.go (#26377)
|
||||
* Use more `IssueList` instead of `[]*Issue` (#26369)
|
||||
* Do not highlight `#number` in documents (#26365)
|
||||
* Fix display problems of members and teams unit (#26363)
|
||||
* Fix 404 error when remove self from an organization (#26362)
|
||||
* Improve CLI and messages (#26341)
|
||||
* Refactor backend SVG package and add tests (#26335)
|
||||
* Add link to job details and tooltip to commit status in repo list in dashboard (#26326)
|
||||
* Use yellow if an approved review is stale (#26312)
|
||||
* Remove commit load branches and tags in wiki repo (#26304)
|
||||
* Add highlight to selected repos in milestone dashboard (#26300)
|
||||
* Delete `issue_service.CreateComment` (#26298)
|
||||
* Do not show Profile README when repository is private (#26295)
|
||||
* Tweak actions menu (#26278)
|
||||
* Start using template context function (#26254)
|
||||
* Use calendar icon for `Joined on...` in profiles (#26215)
|
||||
* Add 'Show on a map' button to Location in profile, fix layout (#26214)
|
||||
* Render plaintext task list items for markdown files (#26186)
|
||||
* Add tooltip to describe LFS table column and color `delete LFS file` button red (#26181)
|
||||
* Release attachments duplicated check (#26176)
|
||||
* De-emphasize issue sidebar buttons (#26171)
|
||||
* Fixing the align of commit stats in commit_page template. (#26161)
|
||||
* Allow editing push mirrors after creation (#26151)
|
||||
* Move web JSON functions to web context and simplify code (#26132)
|
||||
* Refactor improve NoBetterThan (#26126)
|
||||
* Improve clickable area in repo action view page (#26115)
|
||||
* Add context parameter to some database functions (#26055)
|
||||
* Docusaurus-ify (#26051)
|
||||
* Improve text for empty issue/pr description (#26047)
|
||||
* Categorize admin settings sidebar panel (#26030)
|
||||
* Remove redundant "RouteMethods" method (#26024)
|
||||
* Refactor and enhance issue indexer to support both searching, filtering and paging (#26012)
|
||||
* Add a link to OpenID Issuer URL in WebFinger response (#26000)
|
||||
* Fix UI for release tag page / wiki page / subscription page (#25948)
|
||||
* Support copy protected branch from template repository (#25889)
|
||||
* Improve display of Labels/Projects/Assignees sort options (#25886)
|
||||
* Fix margin on the new/edit project page. (#25885)
|
||||
* Show image size on view page (#25884)
|
||||
* Remove ref name in PR commits page (#25876)
|
||||
* Allow the use of alternative net.Listener implementations by downstreams (#25855)
|
||||
* Refactor "Content" for file uploading (#25851)
|
||||
* Add error info if no user can fork the repo (#25820)
|
||||
* Show edit title button on commits tab of PR, too (#25791)
|
||||
* Introduce `flex-list` & `flex-item` elements for Gitea UI (#25790)
|
||||
* Don't stack PR tab menu on small screens (#25789)
|
||||
* Repository Archived text title center align (#25767)
|
||||
* Make route middleware/handler mockable (#25766)
|
||||
* Move issue filters to shared template (#25729)
|
||||
* Use frontend fetch for branch dropdown component (#25719)
|
||||
* Add open/closed field support for issue index (#25708)
|
||||
* Some less naked returns (#25682)
|
||||
* Fix inconsistent user profile layout across tabs (#25625)
|
||||
* Get latest commit statuses from database instead of git data on dashboard for repositories (#25605)
|
||||
* Adding branch-name copy to clipboard branches screen. (#25596)
|
||||
* Update emoji set to Unicode 15 (#25595)
|
||||
* Move some files under repo/setting (#25585)
|
||||
* Add custom ansi colors and CSS variables for them (#25546)
|
||||
* Add log line anchor for action logs (#25532)
|
||||
* Use flex instead of float for sort button and search input (#25519)
|
||||
* Update octicons and use `octicon-file-directory-symlink` (#25453)
|
||||
* Add toasts to UI (#25449)
|
||||
* Fine tune project board label colors and modal content background (#25419)
|
||||
* Import additional secrets via file uri (#25408)
|
||||
* Switch to ansi_up for ansi rendering in actions (#25401)
|
||||
* Store and use seconds for timeline time comments (#25392)
|
||||
* Support displaying diff stats in PR tab bar (#25387)
|
||||
* Use fetch form action for lock/unlock/pin/unpin on sidebar (#25380)
|
||||
* Refactor: TotalTimes return seconds (#25370)
|
||||
* Navbar styling rework (#25343)
|
||||
* Introduce shared template for search inputs (#25338)
|
||||
* Only show 'Manage Account Links' when necessary (#25311)
|
||||
* Improve 'Privacy' section in profile settings (#25309)
|
||||
* Substitute variables in path names of template repos too (#25294)
|
||||
* Fix tags line no margin see #25255 (#25280)
|
||||
* Use fetch to send requests to create issues/comments (#25258)
|
||||
* Change form actions to fetch for submit review box (#25219)
|
||||
* Improve AJAX link and modal confirm dialog (#25210)
|
||||
* Reduce unnecessary DB queries for Actions tasks (#25199)
|
||||
* Disable `Create column` button while the column name is empty (#25192)
|
||||
* Refactor indexer (#25174)
|
||||
* Adjust style for action run list (align icons, adjust padding) (#25170)
|
||||
* Remove duplicated functions when deleting a branch (#25128)
|
||||
* Make confusable character warning less jarring (#25069)
|
||||
* Highlight viewed files differently in the PR filetree (#24956)
|
||||
* Support changing labels of Actions runner without re-registration (#24806)
|
||||
* Fix duplicate Reviewed-by trailers (#24796)
|
||||
* Resolve issue with sort icons on admin/users and admin/runners (#24360)
|
||||
* Split lfs size from repository size (#22900)
|
||||
* Sync branches into databases (#22743)
|
||||
* Disable run user change in installation page (#22499)
|
||||
* Add merge files files to GetCommitFileStatus (#20515)
|
||||
* Show OpenID Connect and OAuth on signup page (#20242)
|
||||
* SECURITY
|
||||
* Dont leak private users via extensions (#28023) (#28029)
|
||||
* Expanded minimum RSA Keylength to 3072 (#26604)
|
||||
* TESTING
|
||||
* Add user secrets API integration tests (#27832) (#27852)
|
||||
* Add tests for db indexer in indexer_test.go (#27087)
|
||||
* Speed up TestEventSourceManagerRun (#26262)
|
||||
* Add unit test for user renaming (#26261)
|
||||
* Add some Wiki unit tests (#26260)
|
||||
* Improve unit test for caching (#26185)
|
||||
* Add unit test for `HashAvatar` (#25662)
|
||||
* TRANSLATION
|
||||
* Backport translations to v1.21 (#27899)
|
||||
* Fix issues in translation file (#27699) (#27737)
|
||||
* Add locale for deleted head branch (#26296)
|
||||
* Improve multiple strings in en-US locale (#26213)
|
||||
* Fix broken translations for package documantion (#25742)
|
||||
* Correct translation wrong format (#25643)
|
||||
* BUILD
|
||||
* Dockerfile small refactor (#27757) (#27826)
|
||||
* Fix build errors on BSD (in BSDMakefile) (#27594) (#27608)
|
||||
* Fully replace drone with actions (#27556) (#27575)
|
||||
* Enable markdownlint `no-duplicate-header` (#27500) (#27506)
|
||||
* Enable production source maps for index.js, fix CSS sourcemaps (#27291) (#27295)
|
||||
* Update snap package (#27021)
|
||||
* Bump go to 1.21 (#26608)
|
||||
* Bump xgo to go-1.21.x and node to 20 in release-version (#26589)
|
||||
* Add template linting via djlint (#25212)
|
||||
* DOCS
|
||||
* Change default size of issue/pr attachments and repo file (#27946) (#28017)
|
||||
* Remove `known issue` section in Gitea Actions Doc (#27930) (#27938)
|
||||
* Remove outdated paragraphs when comparing Gitea Actions to GitHub Actions (#27119)
|
||||
* Update brew installation documentation since gitea moved to brew core package (#27070)
|
||||
* Actions are no longer experimental, so enable them by default (#27054)
|
||||
* Add a documentation note for Windows Service (#26938)
|
||||
* Add sparse url in cargo package guide (#26937)
|
||||
* Update nginx recommendations (#26924)
|
||||
* Update backup instructions to align with archive structure (#26902)
|
||||
* Expanding documentation in queue.go (#26889)
|
||||
* Update info regarding internet connection for build (#26776)
|
||||
* Docs: template variables (#26547)
|
||||
* Update index doc (#26455)
|
||||
* Update zh-cn documentation (#26406)
|
||||
* Fix typos and grammer problems for actions documentation (#26328)
|
||||
* Update documentation for 1.21 actions (#26317)
|
||||
* Doc update swagger doc for POST /orgs/{org}/teams (#26155)
|
||||
* Doc sync authentication.md to zh-cn (#26117)
|
||||
* Doc guide the user to create the appropriate level runner (#26091)
|
||||
* Make organization redirect warning more clear (#26077)
|
||||
* Update blog links (#25843)
|
||||
* Fix default value for LocalURL (#25426)
|
||||
* Update `from-source.zh-cn.md` & `from-source.en-us.md` - Cross Compile Using Zig (#25194)
|
||||
* MISC
|
||||
* Replace deprecated `elliptic.Marshal` (#26800)
|
||||
* Add elapsed time on debug for slow git commands (#25642)
|
||||
|
||||
## [1.20.5](https://github.com/go-gitea/gitea/releases/tag/v1.20.5) - 2023-10-03
|
||||
|
||||
* ENHANCEMENTS
|
||||
@@ -455,7 +930,6 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
|
||||
* Add option to search for users is active join a team (#24093)
|
||||
* Add PDF rendering via PDFObject (#24086)
|
||||
* Refactor web route (#24080)
|
||||
* Make more functions use ctx instead of db.DefaultContext (#24068)
|
||||
* Make HTML template functions support context (#24056)
|
||||
* Refactor rename user and rename organization (#24052)
|
||||
* Localize milestone related time strings (#24051)
|
||||
|
||||
36
Dockerfile
36
Dockerfile
@@ -1,4 +1,4 @@
|
||||
#Build stage
|
||||
# Build stage
|
||||
FROM docker.io/library/golang:1.21-alpine3.18 AS build-env
|
||||
|
||||
ARG GOPROXY
|
||||
@@ -9,20 +9,38 @@ ARG TAGS="sqlite sqlite_unlock_notify"
|
||||
ENV TAGS "bindata timetzdata $TAGS"
|
||||
ARG CGO_EXTRA_CFLAGS
|
||||
|
||||
#Build deps
|
||||
RUN apk --no-cache add build-base git nodejs npm
|
||||
# Build deps
|
||||
RUN apk --no-cache add \
|
||||
build-base \
|
||||
git \
|
||||
nodejs \
|
||||
npm \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
#Setup repo
|
||||
# Setup repo
|
||||
COPY . ${GOPATH}/src/code.gitea.io/gitea
|
||||
WORKDIR ${GOPATH}/src/code.gitea.io/gitea
|
||||
|
||||
#Checkout version if set
|
||||
# Checkout version if set
|
||||
RUN if [ -n "${GITEA_VERSION}" ]; then git checkout "${GITEA_VERSION}"; fi \
|
||||
&& make clean-all build
|
||||
|
||||
# Begin env-to-ini build
|
||||
RUN go build contrib/environment-to-ini/environment-to-ini.go
|
||||
|
||||
# Copy local files
|
||||
COPY docker/root /tmp/local
|
||||
|
||||
# Set permissions
|
||||
RUN chmod 755 /tmp/local/usr/bin/entrypoint \
|
||||
/tmp/local/usr/local/bin/gitea \
|
||||
/tmp/local/etc/s6/gitea/* \
|
||||
/tmp/local/etc/s6/openssh/* \
|
||||
/tmp/local/etc/s6/.s6-svscan/* \
|
||||
/go/src/code.gitea.io/gitea/gitea \
|
||||
/go/src/code.gitea.io/gitea/environment-to-ini
|
||||
RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
|
||||
|
||||
FROM docker.io/library/alpine:3.18
|
||||
LABEL maintainer="maintainers@gitea.io"
|
||||
|
||||
@@ -39,7 +57,8 @@ RUN apk --no-cache add \
|
||||
s6 \
|
||||
sqlite \
|
||||
su-exec \
|
||||
gnupg
|
||||
gnupg \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
RUN addgroup \
|
||||
-S -g 1000 \
|
||||
@@ -61,10 +80,7 @@ VOLUME ["/data"]
|
||||
ENTRYPOINT ["/usr/bin/entrypoint"]
|
||||
CMD ["/bin/s6-svscan", "/etc/s6"]
|
||||
|
||||
COPY docker/root /
|
||||
COPY --from=build-env /tmp/local /
|
||||
COPY --from=build-env /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea
|
||||
COPY --from=build-env /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini
|
||||
COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh
|
||||
RUN chmod 755 /usr/bin/entrypoint /app/gitea/gitea /usr/local/bin/gitea /usr/local/bin/environment-to-ini
|
||||
RUN chmod 755 /etc/s6/gitea/* /etc/s6/openssh/* /etc/s6/.s6-svscan/*
|
||||
RUN chmod 644 /etc/profile.d/gitea_bash_autocomplete.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#Build stage
|
||||
# Build stage
|
||||
FROM docker.io/library/golang:1.21-alpine3.18 AS build-env
|
||||
|
||||
ARG GOPROXY
|
||||
@@ -10,19 +10,35 @@ ENV TAGS "bindata timetzdata $TAGS"
|
||||
ARG CGO_EXTRA_CFLAGS
|
||||
|
||||
#Build deps
|
||||
RUN apk --no-cache add build-base git nodejs npm
|
||||
RUN apk --no-cache add \
|
||||
build-base \
|
||||
git \
|
||||
nodejs \
|
||||
npm \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
#Setup repo
|
||||
# Setup repo
|
||||
COPY . ${GOPATH}/src/code.gitea.io/gitea
|
||||
WORKDIR ${GOPATH}/src/code.gitea.io/gitea
|
||||
|
||||
#Checkout version if set
|
||||
# Checkout version if set
|
||||
RUN if [ -n "${GITEA_VERSION}" ]; then git checkout "${GITEA_VERSION}"; fi \
|
||||
&& make clean-all build
|
||||
|
||||
# Begin env-to-ini build
|
||||
RUN go build contrib/environment-to-ini/environment-to-ini.go
|
||||
|
||||
# Copy local files
|
||||
COPY docker/rootless /tmp/local
|
||||
|
||||
# Set permissions
|
||||
RUN chmod 755 /tmp/local/usr/local/bin/docker-entrypoint.sh \
|
||||
/tmp/local/usr/local/bin/docker-setup.sh \
|
||||
/tmp/local/usr/local/bin/gitea \
|
||||
/go/src/code.gitea.io/gitea/gitea \
|
||||
/go/src/code.gitea.io/gitea/environment-to-ini
|
||||
RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
|
||||
|
||||
FROM docker.io/library/alpine:3.18
|
||||
LABEL maintainer="maintainers@gitea.io"
|
||||
|
||||
@@ -35,7 +51,8 @@ RUN apk --no-cache add \
|
||||
gettext \
|
||||
git \
|
||||
curl \
|
||||
gnupg
|
||||
gnupg \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
RUN addgroup \
|
||||
-S -g 1000 \
|
||||
@@ -51,21 +68,19 @@ RUN addgroup \
|
||||
RUN mkdir -p /var/lib/gitea /etc/gitea
|
||||
RUN chown git:git /var/lib/gitea /etc/gitea
|
||||
|
||||
COPY docker/rootless /
|
||||
COPY --from=build-env /tmp/local /
|
||||
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea
|
||||
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini
|
||||
COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh
|
||||
RUN chmod 755 /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-setup.sh /app/gitea/gitea /usr/local/bin/gitea /usr/local/bin/environment-to-ini
|
||||
RUN chmod 644 /etc/profile.d/gitea_bash_autocomplete.sh
|
||||
|
||||
#git:git
|
||||
# git:git
|
||||
USER 1000:1000
|
||||
ENV GITEA_WORK_DIR /var/lib/gitea
|
||||
ENV GITEA_CUSTOM /var/lib/gitea/custom
|
||||
ENV GITEA_TEMP /tmp/gitea
|
||||
ENV TMPDIR /tmp/gitea
|
||||
|
||||
#TODO add to docs the ability to define the ini to load (useful to test and revert a config)
|
||||
# TODO add to docs the ability to define the ini to load (useful to test and revert a config)
|
||||
ENV GITEA_APP_INI /etc/gitea/app.ini
|
||||
ENV HOME "/var/lib/gitea/git"
|
||||
VOLUME ["/var/lib/gitea", "/etc/gitea"]
|
||||
@@ -73,4 +88,3 @@ WORKDIR /var/lib/gitea
|
||||
|
||||
ENTRYPOINT ["/usr/bin/dumb-init", "--", "/usr/local/bin/docker-entrypoint.sh"]
|
||||
CMD []
|
||||
|
||||
|
||||
2
Makefile
2
Makefile
@@ -922,7 +922,7 @@ node_modules: package-lock.json
|
||||
@touch node_modules
|
||||
|
||||
.venv: poetry.lock
|
||||
poetry install
|
||||
poetry install --no-root
|
||||
@touch .venv
|
||||
|
||||
.PHONY: update
|
||||
|
||||
20
assets/go-licenses.json
generated
20
assets/go-licenses.json
generated
File diff suppressed because one or more lines are too long
@@ -452,7 +452,7 @@ func addRecursiveExclude(w archiver.Writer, insidePath, absPath string, excludeA
|
||||
return err
|
||||
}
|
||||
for _, file := range files {
|
||||
currentAbsPath := path.Join(absPath, file.Name())
|
||||
currentAbsPath := filepath.Join(absPath, file.Name())
|
||||
currentInsidePath := path.Join(insidePath, file.Name())
|
||||
if file.IsDir() {
|
||||
if !util.SliceContainsString(excludeAbsPath, currentAbsPath) {
|
||||
|
||||
@@ -47,24 +47,28 @@ func main() {
|
||||
on the configuration cheat sheet.`
|
||||
app.Flags = []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "custom-path, C",
|
||||
Value: setting.CustomPath,
|
||||
Usage: "Custom path file path",
|
||||
Name: "custom-path",
|
||||
Aliases: []string{"C"},
|
||||
Value: setting.CustomPath,
|
||||
Usage: "Custom path file path",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "config, c",
|
||||
Value: setting.CustomConf,
|
||||
Usage: "Custom configuration file path",
|
||||
Name: "config",
|
||||
Aliases: []string{"c"},
|
||||
Value: setting.CustomConf,
|
||||
Usage: "Custom configuration file path",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "work-path, w",
|
||||
Value: setting.AppWorkPath,
|
||||
Usage: "Set the gitea working path",
|
||||
Name: "work-path",
|
||||
Aliases: []string{"w"},
|
||||
Value: setting.AppWorkPath,
|
||||
Usage: "Set the gitea working path",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "out, o",
|
||||
Value: "",
|
||||
Usage: "Destination file to write to",
|
||||
Name: "out",
|
||||
Aliases: []string{"o"},
|
||||
Value: "",
|
||||
Usage: "Destination file to write to",
|
||||
},
|
||||
}
|
||||
app.Action = runEnvironmentToIni
|
||||
|
||||
@@ -1014,8 +1014,8 @@ LEVEL = Info
|
||||
;; Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
|
||||
;ALLOWED_TYPES =
|
||||
;;
|
||||
;; Max size of each file in megabytes. Defaults to 3MB
|
||||
;FILE_MAX_SIZE = 3
|
||||
;; Max size of each file in megabytes. Defaults to 50MB
|
||||
;FILE_MAX_SIZE = 50
|
||||
;;
|
||||
;; Max number of files per upload. Defaults to 5
|
||||
;MAX_FILES = 5
|
||||
@@ -1219,6 +1219,9 @@ LEVEL = Info
|
||||
;; For custom reactions, add a tightly cropped square image to public/assets/img/emoji/reaction_name.png
|
||||
;REACTIONS = +1, -1, laugh, hooray, confused, heart, rocket, eyes
|
||||
;;
|
||||
;; Change the number of users that are displayed in reactions tooltip (triggered by mouse hover).
|
||||
;REACTION_MAX_USER_NUM = 10
|
||||
;;
|
||||
;; Additional Emojis not defined in the utf8 standard
|
||||
;; By default we support gitea (:gitea:), to add more copy them to public/assets/img/emoji/emoji_name.png and add it to this config.
|
||||
;; Dont mistake it for Reactions.
|
||||
@@ -1420,7 +1423,7 @@ LEVEL = Info
|
||||
;DATADIR = queues/ ; Relative paths will be made absolute against `%(APP_DATA_PATH)s`.
|
||||
;;
|
||||
;; Default queue length before a channel queue will block
|
||||
;LENGTH = 100
|
||||
;LENGTH = 100000
|
||||
;;
|
||||
;; Batch size to send for batched queues
|
||||
;BATCH_LENGTH = 20
|
||||
@@ -1812,8 +1815,8 @@ LEVEL = Info
|
||||
;; Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
|
||||
;ALLOWED_TYPES = .csv,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip
|
||||
;;
|
||||
;; Max size of each file. Defaults to 4MB
|
||||
;MAX_SIZE = 4
|
||||
;; Max size of each file. Defaults to 2048MB
|
||||
;MAX_SIZE = 2048
|
||||
;;
|
||||
;; Max number of files per upload. Defaults to 5
|
||||
;MAX_FILES = 5
|
||||
|
||||
@@ -7,7 +7,7 @@ if [ ! -x /bin/sh ]; then
|
||||
fi
|
||||
|
||||
if [ "${USER}" != "git" ]; then
|
||||
# rename user
|
||||
# Rename user
|
||||
sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd
|
||||
fi
|
||||
|
||||
@@ -19,13 +19,13 @@ if [ -z "${USER_UID}" ]; then
|
||||
USER_UID="`id -u ${USER}`"
|
||||
fi
|
||||
|
||||
## Change GID for USER?
|
||||
# Change GID for USER?
|
||||
if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then
|
||||
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group
|
||||
sed -i -e "s/^${USER}:\([^:]*\):\([0-9]*\):[0-9]*/${USER}:\1:\2:${USER_GID}/" /etc/passwd
|
||||
fi
|
||||
|
||||
## Change UID for USER?
|
||||
# Change UID for USER?
|
||||
if [ -n "${USER_UID}" ] && [ "${USER_UID}" != "`id -u ${USER}`" ]; then
|
||||
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*:\([0-9]*\)/${USER}:\1:${USER_UID}:\2/" /etc/passwd
|
||||
fi
|
||||
|
||||
@@ -50,7 +50,7 @@ a special meaning for your command shell.
|
||||
|
||||
If no pattern is provided, all files are listed.
|
||||
|
||||
### Example
|
||||
### Example: Listing all embedded files
|
||||
|
||||
Listing all embedded files with `openid` in their path:
|
||||
|
||||
@@ -101,7 +101,7 @@ When Gitea is upgraded to a new version (by replacing the executable), many of t
|
||||
embedded files will suffer changes. Gitea will honor and use any files found
|
||||
in the `custom` directory, even if they are old and incompatible.
|
||||
|
||||
### Example
|
||||
### Example: Extracting mail templates
|
||||
|
||||
Extracting mail templates to a temporary directory:
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ gitea embedded list [--include-vendored] [patterns...]
|
||||
|
||||
如果未提供模式,则列出所有文件。
|
||||
|
||||
### 示例
|
||||
### 示例:列出所有嵌入文件
|
||||
|
||||
列出所有路径中包含 `openid` 的嵌入文件:
|
||||
|
||||
@@ -83,7 +83,7 @@ gitea [--config {file}] embedded extract [--destination {dir}|--custom] [--overw
|
||||
|
||||
请确保**只提取需要自定义的文件**。位于 `custom` 目录中的文件不会受到 Gitea 的升级过程的影响。当 Gitea 升级到新版本(通过替换可执行文件)时,许多嵌入文件将发生变化。Gitea 将尊重并使用在 `custom` 目录中找到的任何文件,即使这些文件是旧的和不兼容的。
|
||||
|
||||
### 示例
|
||||
### 示例:提取邮件模板
|
||||
|
||||
将邮件模板提取到临时目录:
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ In addition, there is _`StaticRootPath`_ which can be set as a built-in at build
|
||||
- `ENABLED`: **true**: Whether repository file uploads are enabled
|
||||
- `TEMP_PATH`: **data/tmp/uploads**: Path for uploads (content gets deleted on Gitea restart)
|
||||
- `ALLOWED_TYPES`: **_empty_**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
|
||||
- `FILE_MAX_SIZE`: **3**: Max size of each file in megabytes.
|
||||
- `FILE_MAX_SIZE`: **50**: Max size of each file in megabytes.
|
||||
- `MAX_FILES`: **5**: Max number of files per upload
|
||||
|
||||
### Repository - Release (`repository.release`)
|
||||
@@ -223,6 +223,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a
|
||||
- `REACTIONS`: All available reactions users can choose on issues/prs and comments
|
||||
Values can be emoji alias (:smile:) or a unicode emoji.
|
||||
For custom reactions, add a tightly cropped square image to public/assets/img/emoji/reaction_name.png
|
||||
- `REACTION_MAX_USER_NUM`: **10**: Change the number of users that are displayed in reactions tooltip (triggered by mouse hover).
|
||||
- `CUSTOM_EMOJIS`: **gitea, codeberg, gitlab, git, github, gogs**: Additional Emojis not defined in the utf8 standard.
|
||||
By default, we support Gitea (:gitea:), to add more copy them to public/assets/img/emoji/emoji_name.png and
|
||||
add it to this config.
|
||||
@@ -340,7 +341,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a
|
||||
- `SSH_AUTHORIZED_PRINCIPALS_ALLOW`: **off** or **username, email**: \[off, username, email, anything\]: Specify the principals values that users are allowed to use as principal. When set to `anything` no checks are done on the principal string. When set to `off` authorized principal are not allowed to be set.
|
||||
- `SSH_CREATE_AUTHORIZED_PRINCIPALS_FILE`: **false/true**: Gitea will create a authorized_principals file by default when it is not using the internal ssh server and `SSH_AUTHORIZED_PRINCIPALS_ALLOW` is not `off`.
|
||||
- `SSH_AUTHORIZED_PRINCIPALS_BACKUP`: **false/true**: Enable SSH Authorized Principals Backup when rewriting all keys, default is true if `SSH_AUTHORIZED_PRINCIPALS_ALLOW` is not `off`.
|
||||
- `SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE`: **{{.AppPath}} --config={{.CustomConf}} serv key-{{.Key.ID}}**: Set the template for the command to passed on authorized keys. Possible keys are: AppPath, AppWorkPath, CustomConf, CustomPath, Key - where Key is a `models/asymkey.PublicKey` and the others are strings which are shellquoted.
|
||||
- `SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE`: **`{{.AppPath}} --config={{.CustomConf}} serv key-{{.Key.ID}}`**: Set the template for the command to passed on authorized keys. Possible keys are: AppPath, AppWorkPath, CustomConf, CustomPath, Key - where Key is a `models/asymkey.PublicKey` and the others are strings which are shellquoted.
|
||||
- `SSH_SERVER_CIPHERS`: **chacha20-poly1305@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com**: For the built-in SSH server, choose the ciphers to support for SSH connections, for system SSH this setting has no effect.
|
||||
- `SSH_SERVER_KEY_EXCHANGES`: **curve25519-sha256, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group14-sha256, diffie-hellman-group14-sha1**: For the built-in SSH server, choose the key exchange algorithms to support for SSH connections, for system SSH this setting has no effect.
|
||||
- `SSH_SERVER_MACS`: **hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1**: For the built-in SSH server, choose the MACs to support for SSH connections, for system SSH this setting has no effect
|
||||
@@ -423,7 +424,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a
|
||||
## Database (`database`)
|
||||
|
||||
- `DB_TYPE`: **mysql**: The database type in use \[mysql, postgres, mssql, sqlite3\].
|
||||
- `HOST`: **127.0.0.1:3306**: Database host address and port or absolute path for unix socket \[mysql, postgres\] (ex: /var/run/mysqld/mysqld.sock).
|
||||
- `HOST`: **127.0.0.1:3306**: Database host address and port or absolute path for unix socket \[mysql, postgres[^1]\] (ex: /var/run/mysqld/mysqld.sock).
|
||||
- `NAME`: **gitea**: Database name.
|
||||
- `USER`: **root**: Database username.
|
||||
- `PASSWD`: **_empty_**: Database user password. Use \`your password\` or """your password""" for quoting if you use special characters in the password.
|
||||
@@ -454,6 +455,8 @@ The following configuration set `Content-Type: application/vnd.android.package-a
|
||||
- `CONN_MAX_LIFETIME` **0 or 3s**: Sets the maximum amount of time a DB connection may be reused - default is 0, meaning there is no limit (except on MySQL where it is 3s - see #6804 & #7071).
|
||||
- `AUTO_MIGRATION` **true**: Whether execute database models migrations automatically.
|
||||
|
||||
[^1]: It may be necessary to specify a hostport even when listening on a unix socket, as the port is part of the socket name. see [#24552](https://github.com/go-gitea/gitea/issues/24552#issuecomment-1681649367) for additional details.
|
||||
|
||||
Please see #8540 & #8273 for further discussion of the appropriate values for `MAX_OPEN_CONNS`, `MAX_IDLE_CONNS` & `CONN_MAX_LIFETIME` and their
|
||||
relation to port exhaustion.
|
||||
|
||||
@@ -483,7 +486,7 @@ Configuration at `[queue]` will set defaults for queues with overrides for indiv
|
||||
|
||||
- `TYPE`: **level**: General queue type, currently support: `level` (uses a LevelDB internally), `channel`, `redis`, `dummy`. Invalid types are treated as `level`.
|
||||
- `DATADIR`: **queues/common**: Base DataDir for storing level queues. `DATADIR` for individual queues can be set in `queue.name` sections. Relative paths will be made absolute against `%(APP_DATA_PATH)s`.
|
||||
- `LENGTH`: **100**: Maximal queue size before channel queues block
|
||||
- `LENGTH`: **100000**: Maximal queue size before channel queues block
|
||||
- `BATCH_LENGTH`: **20**: Batch data before passing to the handler
|
||||
- `CONN_STR`: **redis://127.0.0.1:6379/0**: Connection string for the redis queue type. For `redis-cluster` use `redis+cluster://127.0.0.1:6379/0`. Options can be set using query params. Similarly, LevelDB options can also be set using: **leveldb://relative/path?option=value** or **leveldb:///absolute/path?option=value**, and will override `DATADIR`
|
||||
- `QUEUE_NAME`: **_queue**: The suffix for default redis and disk queue name. Individual queues will default to **`name`**`QUEUE_NAME` but can be overridden in the specific `queue.name` section.
|
||||
@@ -819,7 +822,7 @@ Default templates for project boards:
|
||||
|
||||
- `ENABLED`: **true**: Whether issue and pull request attachments are enabled.
|
||||
- `ALLOWED_TYPES`: **.csv,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
|
||||
- `MAX_SIZE`: **4**: Maximum size (MB).
|
||||
- `MAX_SIZE`: **2048**: Maximum size (MB).
|
||||
- `MAX_FILES`: **5**: Maximum number of attachments that can be uploaded at once.
|
||||
- `STORAGE_TYPE`: **local**: Storage type for attachments, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]`
|
||||
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
|
||||
@@ -1401,7 +1404,7 @@ Please note that using `self` is not recommended for most cases, as it could mak
|
||||
Additionally, it requires you to mirror all the actions you need to your Gitea instance, which may not be worth it.
|
||||
Therefore, please use `self` only if you understand what you are doing.
|
||||
|
||||
In earlier versions (<= 1.19), `DEFAULT_ACTIONS_URL` cound be set to any custom URLs like `https://gitea.com` or `http://your-git-server,https://gitea.com`, and the default value was `https://gitea.com`.
|
||||
In earlier versions (`<= 1.19`), `DEFAULT_ACTIONS_URL` cound be set to any custom URLs like `https://gitea.com` or `http://your-git-server,https://gitea.com`, and the default value was `https://gitea.com`.
|
||||
However, later updates removed those options, and now the only options are `github` and `self`, with the default value being `github`.
|
||||
However, if you want to use actions from other git server, you can use a complete URL in `uses` field, it's supported by Gitea (but not GitHub).
|
||||
Like `uses: https://gitea.com/actions/checkout@v3` or `uses: http://your-git-server/actions/checkout@v3`.
|
||||
|
||||
@@ -145,7 +145,7 @@ menu:
|
||||
- `ENABLED`: **true**: 是否启用仓库文件上传。
|
||||
- `TEMP_PATH`: **data/tmp/uploads**: 文件上传的临时保存路径(在Gitea重启的时候该目录会被清空)。
|
||||
- `ALLOWED_TYPES`: **_empty_**: 以逗号分割的列表,代表支持上传的文件类型。(`.zip`), mime类型 (`text/plain`) or 通配符类型 (`image/*`, `audio/*`, `video/*`). 为空或者 `*/*`代表允许所有类型文件。
|
||||
- `FILE_MAX_SIZE`: **3**: 每个文件的最大大小(MB)。
|
||||
- `FILE_MAX_SIZE`: **50**: 每个文件的最大大小(MB)。
|
||||
- `MAX_FILES`: **5**: 每次上传的最大文件数。
|
||||
|
||||
### 仓库 - 版本发布 (`repository.release`)
|
||||
@@ -335,7 +335,7 @@ menu:
|
||||
- `SSH_AUTHORIZED_PRINCIPALS_ALLOW`: **off** 或 **username, email**:\[off, username, email, anything\]:指定允许用户用作 principal 的值。当设置为 `anything` 时,对 principal 字符串不执行任何检查。当设置为 `off` 时,不允许设置授权的 principal。
|
||||
- `SSH_CREATE_AUTHORIZED_PRINCIPALS_FILE`: **false/true**:当 Gitea 不使用内置 SSH 服务器且 `SSH_AUTHORIZED_PRINCIPALS_ALLOW` 不为 `off` 时,默认情况下 Gitea 会创建一个 authorized_principals 文件。
|
||||
- `SSH_AUTHORIZED_PRINCIPALS_BACKUP`: **false/true**:在重写所有密钥时启用 SSH 授权 principal 备份,默认值为 true(如果 `SSH_AUTHORIZED_PRINCIPALS_ALLOW` 不为 `off`)。
|
||||
- `SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE`: **{{.AppPath}} --config={{.CustomConf}} serv key-{{.Key.ID}}**:设置用于传递授权密钥的命令模板。可能的密钥是:AppPath、AppWorkPath、CustomConf、CustomPath、Key,其中 Key 是 `models/asymkey.PublicKey`,其他是 shellquoted 字符串。
|
||||
- `SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE`: **`{{.AppPath}} --config={{.CustomConf}} serv key-{{.Key.ID}}`**:设置用于传递授权密钥的命令模板。可能的密钥是:AppPath、AppWorkPath、CustomConf、CustomPath、Key,其中 Key 是 `models/asymkey.PublicKey`,其他是 shellquoted 字符串。
|
||||
- `SSH_SERVER_CIPHERS`: **chacha20-poly1305@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com**:对于内置的 SSH 服务器,选择支持的 SSH 连接的加密方法,对于系统 SSH,此设置无效。
|
||||
- `SSH_SERVER_KEY_EXCHANGES`: **curve25519-sha256, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group14-sha256, diffie-hellman-group14-sha1**:对于内置 SSH 服务器,选择支持的 SSH 连接的密钥交换算法,对于系统 SSH,此设置无效。
|
||||
- `SSH_SERVER_MACS`: **hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1**:对于内置 SSH 服务器,选择支持的 SSH 连接的 MAC 算法,对于系统 SSH,此设置无效。
|
||||
@@ -472,7 +472,7 @@ menu:
|
||||
|
||||
- `TYPE`:**level**:通用队列类型,当前支持:`level`(在内部使用 LevelDB)、`channel`、`redis`、`dummy`。无效的类型将视为 `level`。
|
||||
- `DATADIR`:**queues/common**:用于存储 level 队列的基本 DataDir。单独的队列的 `DATADIR` 可以在 `queue.name` 部分进行设置。相对路径将根据 `%(APP_DATA_PATH)s` 变为绝对路径。
|
||||
- `LENGTH`:**100**:通道队列阻塞之前的最大队列大小
|
||||
- `LENGTH`:**100000**:通道队列阻塞之前的最大队列大小
|
||||
- `BATCH_LENGTH`:**20**:在传递给处理程序之前批处理数据
|
||||
- `CONN_STR`:**redis://127.0.0.1:6379/0**:redis 队列类型的连接字符串。对于 `redis-cluster`,使用 `redis+cluster://127.0.0.1:6379/0`。可以使用查询参数来设置选项。类似地,LevelDB 选项也可以使用:**leveldb://relative/path?option=value** 或 **leveldb:///absolute/path?option=value** 进行设置,并将覆盖 `DATADIR`。
|
||||
- `QUEUE_NAME`:**_queue**:默认的 redis 和磁盘队列名称的后缀。单独的队列将默认为 **`name`**`QUEUE_NAME`,但可以在特定的 `queue.name` 部分中进行覆盖。
|
||||
@@ -784,7 +784,7 @@ Gitea 创建以下非唯一队列:
|
||||
|
||||
- `ENABLED`: **true**: 是否允许用户上传附件。
|
||||
- `ALLOWED_TYPES`: **.csv,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip**: 允许的文件扩展名(`.zip`)、mime 类型(`text/plain`)或通配符类型(`image/*`、`audio/*`、`video/*`)的逗号分隔列表。空值或 `*/*` 允许所有类型。
|
||||
- `MAX_SIZE`: **4**: 附件的最大限制(MB)。
|
||||
- `MAX_SIZE`: **2048**: 附件的最大限制(MB)。
|
||||
- `MAX_FILES`: **5**: 一次最多上传的附件数量。
|
||||
- `STORAGE_TYPE`: **local**: 附件的存储类型,`local` 表示本地磁盘,`minio` 表示兼容 S3 的对象存储服务,如果未设置将使用默认值 `local` 或其他在 `[storage.xxx]` 中定义的名称。
|
||||
- `SERVE_DIRECT`: **false**: 允许存储驱动器重定向到经过身份验证的 URL 以直接提供文件。目前,只支持 Minio/S3 通过签名 URL 提供支持,local 不会执行任何操作。
|
||||
@@ -1344,7 +1344,7 @@ PROXY_HOSTS = *.github.com
|
||||
此外,它要求您将所有所需的操作镜像到您的 Gitea 实例,这可能不值得。
|
||||
因此,请仅在您了解自己在做什么的情况下使用 `self`。
|
||||
|
||||
在早期版本(<= 1.19)中,`DEFAULT_ACTIONS_URL` 可以设置为任何自定义 URL,例如 `https://gitea.com` 或 `http://your-git-server,https://gitea.com`,默认值为 `https://gitea.com`。
|
||||
在早期版本(`<= 1.19`)中,`DEFAULT_ACTIONS_URL` 可以设置为任何自定义 URL,例如 `https://gitea.com` 或 `http://your-git-server,https://gitea.com`,默认值为 `https://gitea.com`。
|
||||
然而,后来的更新删除了这些选项,现在唯一的选项是 `github` 和 `self`,默认值为 `github`。
|
||||
但是,如果您想要使用其他 Git 服务器中的操作,您可以在 `uses` 字段中使用完整的 URL,Gitea 支持此功能(GitHub 不支持)。
|
||||
例如 `uses: https://gitea.com/actions/checkout@v3` 或 `uses: http://your-git-server/actions/checkout@v3`。
|
||||
|
||||
@@ -61,7 +61,7 @@ Please note: authentication is only supported when the SMTP server communication
|
||||
|
||||
- STARTTLS (also known as Opportunistic TLS) via port 587. Initial connection is done over cleartext, but then be upgraded over TLS if the server supports it.
|
||||
- SMTPS connection (SMTP over TLS) via the default port 465. Connection to the server use TLS from the beginning.
|
||||
- Forced SMTPS connection with `IS_TLS_ENABLED=true`. (These are both known as Implicit TLS.)
|
||||
- Forced SMTPS connection with `PROTOCOL=smtps`. (These are both known as Implicit TLS.)
|
||||
This is due to protections imposed by the Go internal libraries against STRIPTLS attacks.
|
||||
|
||||
Note that Implicit TLS is recommended by [RFC8314](https://tools.ietf.org/html/rfc8314#section-3) since 2018.
|
||||
|
||||
@@ -55,13 +55,13 @@ PASSWD = `password`
|
||||
|
||||
要发送测试邮件以验证设置,请转到 Gitea > 站点管理 > 配置 > SMTP 邮件配置。
|
||||
|
||||
有关所有选项的完整列表,请查看[配置速查表](doc/administration/config-cheat-sheet.zh-cn.md)。
|
||||
有关所有选项的完整列表,请查看[配置速查表](doc/administration/config-cheat-sheet.md)。
|
||||
|
||||
请注意:只有在使用 TLS 或 `HOST=localhost` 加密 SMTP 服务器通信时才支持身份验证。TLS 加密可以通过以下方式进行:
|
||||
|
||||
- 通过端口 587 的 STARTTLS(也称为 Opportunistic TLS)。初始连接是明文的,但如果服务器支持,则可以升级为 TLS。
|
||||
- 通过默认端口 465 的 SMTPS 连接。连接到服务器从一开始就使用 TLS。
|
||||
- 使用 `IS_TLS_ENABLED=true` 进行强制的 SMTPS 连接。(这两种方式都被称为 Implicit TLS)
|
||||
- 使用 `PROTOCOL=smtps` 进行强制的 SMTPS 连接。(这两种方式都被称为 Implicit TLS)
|
||||
这是由于 Go 内部库对 STRIPTLS 攻击的保护机制。
|
||||
|
||||
请注意,自2018年起,[RFC8314](https://tools.ietf.org/html/rfc8314#section-3) 推荐使用 Implicit TLS。
|
||||
|
||||
@@ -39,7 +39,6 @@ If a bug fix is targeted on 1.20.1 but 1.20.1 is not released yet, you can get t
|
||||
|
||||
To migrate from Gogs to Gitea:
|
||||
|
||||
- [Gogs version 0.9.146 or less](installation/upgrade-from-gogs.md)
|
||||
- [Gogs version 0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286)
|
||||
|
||||
To migrate from GitHub to Gitea, you can use Gitea's built-in migration form.
|
||||
@@ -138,9 +137,9 @@ All Gitea instances have the built-in API and there is no way to disable it comp
|
||||
You can, however, disable showing its documentation by setting `ENABLE_SWAGGER` to `false` in the `api` section of your `app.ini`.
|
||||
For more information, refer to Gitea's [API docs](development/api-usage.md).
|
||||
|
||||
You can see the latest API (for example) on <https://try.gitea.io/api/swagger>.
|
||||
You can see the latest API (for example) on https://try.gitea.io/api/swagger
|
||||
|
||||
You can also see an example of the `swagger.json` file at <https://try.gitea.io/swagger.v1.json>.
|
||||
You can also see an example of the `swagger.json` file at https://try.gitea.io/swagger.v1.json
|
||||
|
||||
## Adjusting your server for public/private use
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@ menu:
|
||||
|
||||
要从Gogs迁移到Gitea:
|
||||
|
||||
- [Gogs版本0.9.146或更低](installation/upgrade-from-gogs.md)
|
||||
- [Gogs版本0.11.46.0418](https://github.com/go-gitea/gitea/issues/4286)
|
||||
|
||||
要从GitHub迁移到Gitea,您可以使用Gitea内置的迁移表单。
|
||||
@@ -142,9 +141,9 @@ Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供
|
||||
但是,您可以在app.ini的api部分将ENABLE_SWAGGER设置为false,以禁用其文档显示。
|
||||
有关更多信息,请参阅Gitea的[API文档](development/api-usage.md)。
|
||||
|
||||
您可以在上查看最新的API(例如)<https://try.gitea.io/api/swagger>。
|
||||
您可以在上查看最新的API(例如)https://try.gitea.io/api/swagger
|
||||
|
||||
您还可以在上查看`swagger.json`文件的示例 <https://try.gitea.io/swagger.v1.json>。
|
||||
您还可以在上查看`swagger.json`文件的示例 https://try.gitea.io/swagger.v1.json
|
||||
|
||||
## 调整服务器用于公共/私有使用
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ If the communication between Gitea and your database instance is performed throu
|
||||
- On the database server certificate, one of `Subject Alternative Name` or `Common Name` entries must be the fully-qualified domain name (FQDN) of the database instance (e.g. `db.example.com`). On the database client certificate, one of the entries mentioned above must contain the database username that Gitea will be using to connect.
|
||||
- You need domain name mappings of both Gitea and database servers to their respective IP addresses. Either set up DNS records for them or add local mappings to `/etc/hosts` (`%WINDIR%\System32\drivers\etc\hosts` in Windows) on each system. This allows the database connections to be performed by domain name instead of IP address. See documentation of your system for details.
|
||||
|
||||
### PostgreSQL
|
||||
### PostgreSQL TLS
|
||||
|
||||
The PostgreSQL driver used by Gitea supports two-way TLS. In two-way TLS, both database client and server authenticate each other by sending their respective certificates to their respective opposite for validation. In other words, the server verifies client certificate, and the client verifies server certificate.
|
||||
|
||||
@@ -250,7 +250,7 @@ The PostgreSQL driver used by Gitea supports two-way TLS. In two-way TLS, both d
|
||||
|
||||
You should be prompted to enter password for the database user, and then be connected to the database.
|
||||
|
||||
### MySQL
|
||||
### MySQL/MariaDB TLS
|
||||
|
||||
While the MySQL driver used by Gitea also supports two-way TLS, Gitea currently supports only one-way TLS. See issue #10828 for details.
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ menu:
|
||||
|
||||
注意:以下所有步骤要求您的选择的数据库引擎已安装在您的系统上。对于远程数据库设置,请在数据库实例上安装服务器应用程序,在 Gitea 服务器上安装客户端程序。客户端程序用于测试 Gitea 服务器与数据库之间的连接,而 Gitea 本身使用 Go 提供的数据库驱动程序完成相同的任务。此外,请确保服务器和客户端使用相同的引擎版本,以使某些引擎功能正常工作。出于安全原因,请使用安全密码保护 `root`(MySQL)或 `postgres`(PostgreSQL)数据库超级用户。以下步骤假设您在数据库和 Gitea 服务器上都使用 Linux。
|
||||
|
||||
## MySQL
|
||||
## MySQL/MariaDB
|
||||
|
||||
1. 对于远程数据库设置,您需要让 MySQL 监听您的 IP 地址。编辑数据库实例上的 `/etc/mysql/my.cnf` 文件中的 `bind-address` 选项为:
|
||||
|
||||
@@ -182,7 +182,7 @@ menu:
|
||||
- 在数据库服务器证书中,`Subject Alternative Name` 或 `Common Name` 条目之一必须是数据库实例的完全限定域名(FQDN)(例如 `db.example.com`)。在数据库客户端证书中,上述提到的条目之一必须包含 Gitea 将用于连接的数据库用户名。
|
||||
- 您需要将 Gitea 和数据库服务器的域名映射到它们各自的 IP 地址。可以为它们设置 DNS 记录,也可以在每个系统上的 `/etc/hosts`(Windows 中的 `%WINDIR%\System32\drivers\etc\hosts`)中添加本地映射。这样可以通过域名而不是 IP 地址进行数据库连接。有关详细信息,请参阅您系统的文档。
|
||||
|
||||
### PostgreSQL
|
||||
### PostgreSQL TLS
|
||||
|
||||
Gitea 使用的 PostgreSQL 驱动程序支持双向 TLS。在双向 TLS 中,数据库客户端和服务器通过将各自的证书发送给对方进行验证来相互认证。换句话说,服务器验证客户端证书,客户端验证服务器证书。
|
||||
|
||||
@@ -250,7 +250,7 @@ Gitea 使用的 PostgreSQL 驱动程序支持双向 TLS。在双向 TLS 中,
|
||||
|
||||
您将被提示输入数据库用户的密码,然后连接到数据库。
|
||||
|
||||
### MySQL
|
||||
### MySQL/MariaDB TLS
|
||||
|
||||
虽然 Gitea 使用的MySQL驱动程序也支持双向 TLS,但目前 Gitea 仅支持单向 TLS。有关详细信息,请参见工单#10828。
|
||||
|
||||
|
||||
@@ -114,6 +114,12 @@ If you cannot see the settings page, please make sure that you have the right pe
|
||||
|
||||
The format of the registration token is a random string `D0gvfu2iHfUjNqCYVljVyRV14fISpJxxxxxxxxxx`.
|
||||
|
||||
A registration token can also be obtained from the gitea [command-line interface](../../administration/command-line.md#actions-generate-runner-token):
|
||||
|
||||
```
|
||||
gitea --config /etc/gitea/app.ini actions generate-runner-token
|
||||
```
|
||||
|
||||
### Register the runner
|
||||
|
||||
The act runner can be registered by running the following command:
|
||||
@@ -262,6 +268,40 @@ The runner will fetch jobs from the Gitea instance and run them automatically.
|
||||
|
||||
Since act runner is still in development, it is recommended to check the latest version and upgrade it regularly.
|
||||
|
||||
## Systemd service
|
||||
|
||||
It is also possible to run act-runner as a [systemd](https://en.wikipedia.org/wiki/Systemd) service. Create an unprivileged `act_runner` user on your system, and the following file in `/etc/systemd/system/act_runner.service`. The paths in `ExecStart` and `WorkingDirectory` may need to be adjusted depending on where you installed the `act_runner` binary, its configuration file, and the home directory of the `act_runner` user.
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Gitea Actions runner
|
||||
Documentation=https://gitea.com/gitea/act_runner
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
WorkingDirectory=/var/lib/act_runner
|
||||
TimeoutSec=0
|
||||
RestartSec=10
|
||||
Restart=always
|
||||
User=act_runner
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Then:
|
||||
|
||||
```bash
|
||||
# load the new systemd unit file
|
||||
sudo systemctl daemon-reload
|
||||
# start the service and enable it at boot
|
||||
sudo systemctl enable act_runner --now
|
||||
```
|
||||
|
||||
If using Docker, the `act_runner` user should also be added to the `docker` group before starting the service. Keep in mind that this effectively gives `act_runner` root access to the system [[1]](https://docs.docker.com/engine/security/#docker-daemon-attack-surface).
|
||||
|
||||
## Configuration variable
|
||||
|
||||
You can create configuration variables on the user, organization and repository level.
|
||||
|
||||
@@ -113,6 +113,8 @@ Runner级别决定了从哪里获取注册令牌。
|
||||
|
||||
注册令牌的格式是一个随机字符串 `D0gvfu2iHfUjNqCYVljVyRV14fISpJxxxxxxxxxx`。
|
||||
|
||||
注册令牌也可以通过 Gitea 的 [命令行](../../administration/command-line.md#actions-generate-runner-token) 获得:
|
||||
|
||||
### 注册Runner
|
||||
|
||||
可以通过运行以下命令来注册Act Runner:
|
||||
|
||||
@@ -116,8 +116,8 @@ Pre and Post steps don't have their own section in the job log user interface.
|
||||
|
||||
Previously (Pre 1.21.0), `[actions].DEFAULT_ACTIONS_URL` defaulted to `https://gitea.com`.
|
||||
We have since restricted this option to only allow two values (`github` and `self`).
|
||||
When set to `github`, the new default, Gitea will download non-fully-qualified actions from <https://github.com>.
|
||||
For example, if you use `uses: actions/checkout@v3`, it will download the checkout repository from <https://github.com/actions/checkout.git>.
|
||||
When set to `github`, the new default, Gitea will download non-fully-qualified actions from `https://github.com`.
|
||||
For example, if you use `uses: actions/checkout@v3`, it will download the checkout repository from `https://github.com/actions/checkout.git`.
|
||||
|
||||
If you want to download an action from another git hoster, you can use an absolute URL, e.g. `uses: https://gitea.com/actions/checkout@v3`.
|
||||
|
||||
@@ -130,34 +130,3 @@ More details about the `[actions].DEFAULT_ACTIONS_URL` configuration can be foun
|
||||
|
||||
Context availability is not checked, so you can use the env context on more places.
|
||||
See [Context availability](https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability).
|
||||
|
||||
## Known issues
|
||||
|
||||
### `docker/build-push-action@v4`
|
||||
|
||||
See [act_runner#119](https://gitea.com/gitea/act_runner/issues/119#issuecomment-738294).
|
||||
|
||||
`ACTIONS_RUNTIME_TOKEN` is a random string in Gitea Actions, not a JWT.
|
||||
But the `docker/build-push-action@v4` tries to parse the token as JWT and doesn't handle the error, so the job fails.
|
||||
|
||||
There are two workarounds:
|
||||
|
||||
Set the `ACTIONS_RUNTIME_TOKEN` to empty manually, like:
|
||||
|
||||
``` yml
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
env:
|
||||
ACTIONS_RUNTIME_TOKEN: ''
|
||||
with:
|
||||
...
|
||||
```
|
||||
|
||||
The bug has been fixed in a newer [commit](https://gitea.com/docker/build-push-action/commit/d8823bfaed2a82c6f5d4799a2f8e86173c461aba?style=split&whitespace=show-all#diff-1af9a5bdf96ddff3a2f3427ed520b7005e9564ad), but it has not been released. So you could use the latest version by specifying the branch name, like:
|
||||
|
||||
``` yml
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@master
|
||||
with:
|
||||
...
|
||||
```
|
||||
|
||||
@@ -132,34 +132,3 @@ Gitea Actions目前不支持此功能。
|
||||
|
||||
不检查上下文可用性,因此您可以在更多地方使用env上下文。
|
||||
请参阅[上下文可用性](https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability)。
|
||||
|
||||
## 已知问题
|
||||
|
||||
### `docker/build-push-action@v4`
|
||||
|
||||
请参阅[act_runner#119](https://gitea.com/gitea/act_runner/issues/119#issuecomment-738294)。
|
||||
|
||||
`ACTIONS_RUNTIME_TOKEN`在Gitea Actions中是一个随机字符串,而不是JWT。
|
||||
但是`DOCKER/BUILD-PUSH-ACTION@V4尝试将令牌解析为JWT,并且不处理错误,因此Job失败。
|
||||
|
||||
有两种解决方法:
|
||||
|
||||
手动将`ACTIONS_RUNTIME_TOKEN`设置为空字符串,例如:
|
||||
|
||||
``` yml
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
env:
|
||||
ACTIONS_RUNTIME_TOKEN: ''
|
||||
with:
|
||||
...
|
||||
```
|
||||
|
||||
该问题已在较新的[提交](https://gitea.com/docker/build-push-action/commit/d8823bfaed2a82c6f5d4799a2f8e86173c461aba?style=split&whitespace=show-all#diff-1af9a5bdf96ddff3a2f3427ed520b7005e9564ad)中修复,但尚未发布。因此,您可以通过指定分支名称来使用最新版本,例如:
|
||||
|
||||
``` yml
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@master
|
||||
with:
|
||||
...
|
||||
```
|
||||
|
||||
@@ -23,7 +23,7 @@ First of all, you need a Gitea instance.
|
||||
You can follow the [documentation](installation/from-package.md) to set up a new instance or upgrade your existing one.
|
||||
It doesn't matter how you install or run Gitea, as long as its version is 1.19.0 or higher.
|
||||
|
||||
Actions are disabled by default, so you need to add the following to the configuration file to enable it:
|
||||
Since 1.21.0, Actions are enabled by default. If you are using versions before 1.21.0, you need to add the following to the configuration file to enable it:
|
||||
|
||||
```ini
|
||||
[actions]
|
||||
|
||||
@@ -23,7 +23,7 @@ menu:
|
||||
您可以按照[文档](installation/from-package.md) 来设置一个新实例或升级现有实例。
|
||||
无论您如何安装或运行Gitea,只要版本号是1.19.0或更高即可。
|
||||
|
||||
默认情况下,Actions是禁用的,因此您需要将以下内容添加到配置文件中以启用它:
|
||||
从1.21.0开始,默认情况下,Actions是启用的。如果您正在使用1.21.0之前的版本,您需要将以下内容添加到配置文件中以启用它:
|
||||
|
||||
```ini
|
||||
[actions]
|
||||
|
||||
@@ -26,7 +26,7 @@ This can be done by pushing to the branch followed by a specific refspec (a loca
|
||||
The following example illustrates this:
|
||||
|
||||
```shell
|
||||
git push origin HEAD:refs/for/master
|
||||
git push origin HEAD:refs/for/main
|
||||
```
|
||||
|
||||
The command has the following structure:
|
||||
@@ -42,8 +42,8 @@ The command has the following structure:
|
||||
- `description`: The PR description
|
||||
- `force-push`: confirm force update the target branch
|
||||
|
||||
Here's another advanced example for creating a new PR targeting `master` with `topic`, `title`, and `description`:
|
||||
Here's another advanced example for creating a new PR targeting `main` with `topic`, `title`, and `description`:
|
||||
|
||||
```shell
|
||||
git push origin HEAD:refs/for/master -o topic="Topic of my PR" -o title="Title of the PR" -o description="# The PR Description\nThis can be **any** markdown content.\n- [x] Ok"
|
||||
git push origin HEAD:refs/for/main -o topic="Topic of my PR" -o title="Title of the PR" -o description="# The PR Description\nThis can be **any** markdown content.\n- [x] Ok"
|
||||
```
|
||||
|
||||
@@ -26,7 +26,7 @@ Agit 允许在推送代码到远程仓库时创建 PR(合并请求)。
|
||||
下面的示例说明了这一点:
|
||||
|
||||
```shell
|
||||
git push origin HEAD:refs/for/master
|
||||
git push origin HEAD:refs/for/main
|
||||
```
|
||||
|
||||
该命令的结构如下:
|
||||
@@ -42,8 +42,8 @@ git push origin HEAD:refs/for/master
|
||||
- `description`:PR 的描述
|
||||
- `force-push`:确认强制更新目标分支
|
||||
|
||||
下面是另一个高级示例,用于创建一个以 `topic`、`title` 和 `description` 为参数的新 PR,目标分支是 `master`:
|
||||
下面是另一个高级示例,用于创建一个以 `topic`、`title` 和 `description` 为参数的新 PR,目标分支是 `main`:
|
||||
|
||||
```shell
|
||||
git push origin HEAD:refs/for/master -o topic="Topic of my PR" -o title="Title of the PR" -o description="# The PR Description\nThis can be **any** markdown content.\n- [x] Ok"
|
||||
git push origin HEAD:refs/for/main -o topic="Topic of my PR" -o title="Title of the PR" -o description="# The PR Description\nThis can be **any** markdown content.\n- [x] Ok"
|
||||
```
|
||||
|
||||
@@ -198,7 +198,7 @@ administrative user.
|
||||
field is set to `mail.com`, then Gitea will expect the `user email` field
|
||||
for an authenticated GIT instance to be `gituser@mail.com`.[^2]
|
||||
|
||||
**Note**: PAM support is added via [build-time flags](installation/install-from-source.md#build),
|
||||
**Note**: PAM support is added via [build-time flags](installation/from-source.md#build),
|
||||
and the official binaries provided do not have this enabled. PAM requires that
|
||||
the necessary libpam dynamic library be available and the necessary PAM
|
||||
development headers be accessible to the compiler.
|
||||
|
||||
@@ -162,7 +162,7 @@ PAM提供了一种机制,通过对用户进行PAM认证来自动将其添加
|
||||
- PAM电子邮件域:用户认证时要附加的电子邮件后缀。例如,如果登录系统期望一个名为gituse的用户,
|
||||
并且将此字段设置为mail.com,那么Gitea在验证一个GIT实例的用户时将期望user emai字段为gituser@mail.com[^2]。
|
||||
|
||||
**Note**: PAM 支持通过[build-time flags](installation/install-from-source.md#build)添加,
|
||||
**Note**: PAM 支持通过[build-time flags](installation/from-source.md#build)添加,
|
||||
而官方提供的二进制文件通常不会默认启用此功能。PAM需要确保系统上有必要的libpam动态库,并且编译器可以访问必要的PAM开发头文件。
|
||||
|
||||
[^1]: 例如,在Debian "Bullseye"上使用标准Linux登录,可以使用`common-session-noninteractive`。这个值对于其他版本的Debian,
|
||||
|
||||
123
go.mod
123
go.mod
@@ -4,8 +4,8 @@ go 1.21
|
||||
|
||||
require (
|
||||
code.gitea.io/actions-proto-go v0.3.1
|
||||
code.gitea.io/gitea-vet v0.2.2
|
||||
code.gitea.io/sdk/gitea v0.15.1
|
||||
code.gitea.io/gitea-vet v0.2.3
|
||||
code.gitea.io/sdk/gitea v0.16.0
|
||||
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
|
||||
gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669
|
||||
gitea.com/go-chi/cache v0.2.0
|
||||
@@ -17,7 +17,7 @@ require (
|
||||
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358
|
||||
github.com/NYTimes/gziphandler v1.1.1
|
||||
github.com/PuerkitoBio/goquery v1.8.1
|
||||
github.com/alecthomas/chroma/v2 v2.9.1
|
||||
github.com/alecthomas/chroma/v2 v2.10.0
|
||||
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
|
||||
github.com/blevesearch/bleve/v2 v2.3.10
|
||||
github.com/bufbuild/connect-go v1.10.0
|
||||
@@ -30,23 +30,23 @@ require (
|
||||
github.com/djherbis/nio/v3 v3.0.1
|
||||
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5
|
||||
github.com/dustin/go-humanize v1.0.1
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.5.2
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.6.0
|
||||
github.com/emersion/go-imap v1.2.1
|
||||
github.com/emirpasic/gods v1.18.1
|
||||
github.com/ethantkoenig/rupture v1.0.1
|
||||
github.com/felixge/fgprof v0.9.3
|
||||
github.com/fsnotify/fsnotify v1.6.0
|
||||
github.com/gliderlabs/ssh v0.3.5
|
||||
github.com/go-ap/activitypub v0.0.0-20230807182453-602f717f6ca3
|
||||
github.com/go-ap/activitypub v0.0.0-20231003111253-1fba3772399b
|
||||
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73
|
||||
github.com/go-chi/chi/v5 v5.0.10
|
||||
github.com/go-chi/cors v1.2.1
|
||||
github.com/go-co-op/gocron v1.31.1
|
||||
github.com/go-enry/go-enry/v2 v2.8.5
|
||||
github.com/go-enry/go-enry/v2 v2.8.6
|
||||
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e
|
||||
github.com/go-git/go-billy/v5 v5.4.1
|
||||
github.com/go-git/go-git/v5 v5.8.1
|
||||
github.com/go-ldap/ldap/v3 v3.4.5
|
||||
github.com/go-git/go-billy/v5 v5.5.0
|
||||
github.com/go-git/go-git/v5 v5.9.0
|
||||
github.com/go-ldap/ldap/v3 v3.4.6
|
||||
github.com/go-sql-driver/mysql v1.7.1
|
||||
github.com/go-swagger/go-swagger v0.30.5
|
||||
github.com/go-testfixtures/testfixtures/v3 v3.9.0
|
||||
@@ -56,40 +56,40 @@ require (
|
||||
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85
|
||||
github.com/golang-jwt/jwt/v5 v5.0.0
|
||||
github.com/google/go-github/v53 v53.2.0
|
||||
github.com/google/pprof v0.0.0-20230901174712-0191c66da455
|
||||
github.com/google/pprof v0.0.0-20230926050212-f7f687d19a98
|
||||
github.com/google/uuid v1.3.1
|
||||
github.com/gorilla/feeds v1.1.1
|
||||
github.com/gorilla/sessions v1.2.1
|
||||
github.com/hashicorp/go-version v1.6.0
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.6
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
github.com/huandu/xstrings v1.4.0
|
||||
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056
|
||||
github.com/jhillyerd/enmime v1.0.0
|
||||
github.com/jhillyerd/enmime v1.0.1
|
||||
github.com/json-iterator/go v1.1.12
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
||||
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
|
||||
github.com/klauspost/compress v1.16.7
|
||||
github.com/klauspost/compress v1.17.0
|
||||
github.com/klauspost/cpuid/v2 v2.2.5
|
||||
github.com/lib/pq v1.10.9
|
||||
github.com/markbates/goth v1.77.0
|
||||
github.com/markbates/goth v1.78.0
|
||||
github.com/mattn/go-isatty v0.0.19
|
||||
github.com/mattn/go-sqlite3 v1.14.17
|
||||
github.com/meilisearch/meilisearch-go v0.25.0
|
||||
github.com/meilisearch/meilisearch-go v0.25.1
|
||||
github.com/mholt/archiver/v3 v3.5.1
|
||||
github.com/microcosm-cc/bluemonday v1.0.25
|
||||
github.com/microcosm-cc/bluemonday v1.0.26
|
||||
github.com/minio/minio-go/v7 v7.0.63
|
||||
github.com/minio/sha256-simd v1.0.1
|
||||
github.com/msteinert/pam v1.1.0
|
||||
github.com/nektos/act v0.2.48
|
||||
github.com/msteinert/pam v1.2.0
|
||||
github.com/nektos/act v0.2.52
|
||||
github.com/niklasfasching/go-org v1.7.0
|
||||
github.com/olivere/elastic/v7 v7.0.32
|
||||
github.com/opencontainers/go-digest v1.0.0
|
||||
github.com/opencontainers/image-spec v1.1.0-rc4
|
||||
github.com/opencontainers/image-spec v1.1.0-rc5
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/pquerna/otp v1.4.0
|
||||
github.com/prometheus/client_golang v1.16.0
|
||||
github.com/prometheus/client_golang v1.17.0
|
||||
github.com/quasoft/websspi v1.1.2
|
||||
github.com/redis/go-redis/v9 v9.1.0
|
||||
github.com/redis/go-redis/v9 v9.2.1
|
||||
github.com/robfig/cron/v3 v3.0.1
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1
|
||||
github.com/sassoftware/go-rpmutils v0.2.0
|
||||
@@ -100,20 +100,20 @@ require (
|
||||
github.com/tstranex/u2f v1.0.0
|
||||
github.com/ulikunitz/xz v0.5.11
|
||||
github.com/urfave/cli/v2 v2.25.7
|
||||
github.com/xanzy/go-gitlab v0.91.0
|
||||
github.com/xanzy/go-gitlab v0.93.1
|
||||
github.com/xeipuuv/gojsonschema v1.2.0
|
||||
github.com/yohcop/openid-go v1.0.1
|
||||
github.com/yuin/goldmark v1.5.6
|
||||
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
|
||||
github.com/yuin/goldmark-meta v1.1.0
|
||||
golang.org/x/crypto v0.12.0
|
||||
golang.org/x/image v0.11.0
|
||||
golang.org/x/net v0.14.0
|
||||
golang.org/x/oauth2 v0.11.0
|
||||
golang.org/x/sys v0.12.0
|
||||
golang.org/x/crypto v0.14.0
|
||||
golang.org/x/image v0.13.0
|
||||
golang.org/x/net v0.17.0
|
||||
golang.org/x/oauth2 v0.13.0
|
||||
golang.org/x/sys v0.13.0
|
||||
golang.org/x/text v0.13.0
|
||||
golang.org/x/tools v0.12.0
|
||||
google.golang.org/grpc v1.57.0
|
||||
golang.org/x/tools v0.14.0
|
||||
google.golang.org/grpc v1.58.3
|
||||
google.golang.org/protobuf v1.31.0
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
||||
gopkg.in/ini.v1 v1.67.0
|
||||
@@ -121,23 +121,23 @@ require (
|
||||
mvdan.cc/xurls/v2 v2.5.0
|
||||
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251
|
||||
xorm.io/builder v0.3.13
|
||||
xorm.io/xorm v1.3.3-0.20230725140238-59b727260d35
|
||||
xorm.io/xorm v1.3.4
|
||||
)
|
||||
|
||||
require (
|
||||
cloud.google.com/go/compute v1.23.0 // indirect
|
||||
cloud.google.com/go/compute v1.23.1 // indirect
|
||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 // indirect
|
||||
github.com/ClickHouse/ch-go v0.58.2 // indirect
|
||||
github.com/ClickHouse/clickhouse-go/v2 v2.13.4 // indirect
|
||||
github.com/ClickHouse/clickhouse-go/v2 v2.14.3 // indirect
|
||||
github.com/DataDog/zstd v1.5.5 // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.2.1 // indirect
|
||||
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
||||
github.com/RoaringBitmap/roaring v1.5.0 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c // indirect
|
||||
github.com/RoaringBitmap/roaring v1.6.0 // indirect
|
||||
github.com/acomagu/bufpipe v1.0.4 // indirect
|
||||
github.com/andybalholm/brotli v1.0.5 // indirect
|
||||
github.com/andybalholm/cascadia v1.3.2 // indirect
|
||||
@@ -162,23 +162,25 @@ require (
|
||||
github.com/blevesearch/zapx/v14 v14.3.10 // indirect
|
||||
github.com/blevesearch/zapx/v15 v15.3.13 // indirect
|
||||
github.com/boombuler/barcode v1.0.1 // indirect
|
||||
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 // indirect
|
||||
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 // indirect
|
||||
github.com/cention-sany/utf7 v0.0.0-20170124080048-26cad61bd60a // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/cloudflare/circl v1.3.3 // indirect
|
||||
github.com/couchbase/go-couchbase v0.1.1 // indirect
|
||||
github.com/couchbase/gomemcached v0.2.1 // indirect
|
||||
github.com/couchbase/goutils v0.1.2 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/davidmz/go-pageant v1.0.2 // indirect
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/dlclark/regexp2 v1.10.0 // indirect
|
||||
github.com/emersion/go-sasl v0.0.0-20220912192320-0145f2c60ead // indirect
|
||||
github.com/fatih/color v1.15.0 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.5.0 // indirect
|
||||
github.com/go-ap/errors v0.0.0-20221205040414-01c1adfc98ea // indirect
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect
|
||||
github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7 // indirect
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect
|
||||
github.com/go-enry/go-oniguruma v1.2.1 // indirect
|
||||
github.com/go-faster/city v1.0.1 // indirect
|
||||
github.com/go-faster/errors v0.6.1 // indirect
|
||||
@@ -209,9 +211,7 @@ require (
|
||||
github.com/gorilla/handlers v1.5.1 // indirect
|
||||
github.com/gorilla/mux v1.8.0 // indirect
|
||||
github.com/gorilla/securecookie v1.1.1 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/go-retryablehttp v0.7.4 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/imdario/mergo v0.3.16 // indirect
|
||||
@@ -230,7 +230,7 @@ require (
|
||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
||||
github.com/mholt/acmez v1.2.0 // indirect
|
||||
github.com/miekg/dns v1.1.55 // indirect
|
||||
github.com/miekg/dns v1.1.56 // indirect
|
||||
github.com/minio/md5-simd v1.1.2 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
@@ -243,37 +243,37 @@ require (
|
||||
github.com/oklog/ulid v1.3.1 // indirect
|
||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||
github.com/onsi/ginkgo v1.16.5 // indirect
|
||||
github.com/onsi/gomega v1.27.8 // indirect
|
||||
github.com/paulmach/orb v0.10.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
|
||||
github.com/pierrec/lz4/v4 v4.1.18 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/prometheus/client_model v0.4.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/prometheus/client_model v0.5.0 // indirect
|
||||
github.com/prometheus/common v0.44.0 // indirect
|
||||
github.com/prometheus/procfs v0.11.1 // indirect
|
||||
github.com/rhysd/actionlint v1.6.25 // indirect
|
||||
github.com/prometheus/procfs v0.12.0 // indirect
|
||||
github.com/rhysd/actionlint v1.6.26 // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/robfig/cron v1.2.0 // indirect
|
||||
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
||||
github.com/rs/xid v1.5.0 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/sagikazarmark/locafero v0.3.0 // indirect
|
||||
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
|
||||
github.com/segmentio/asm v1.2.0 // indirect
|
||||
github.com/shopspring/decimal v1.3.1 // indirect
|
||||
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect
|
||||
github.com/sirupsen/logrus v1.9.3 // indirect
|
||||
github.com/skeema/knownhosts v1.2.0 // indirect
|
||||
github.com/spf13/afero v1.9.5 // indirect
|
||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
||||
github.com/spf13/afero v1.10.0 // indirect
|
||||
github.com/spf13/cast v1.5.1 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/spf13/viper v1.16.0 // indirect
|
||||
github.com/spf13/viper v1.17.0 // indirect
|
||||
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
||||
github.com/subosito/gotenv v1.6.0 // indirect
|
||||
github.com/toqueteos/webbrowser v1.2.0 // indirect
|
||||
github.com/unknwon/com v1.0.1 // indirect
|
||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||
github.com/valyala/fasthttp v1.49.0 // indirect
|
||||
github.com/valyala/fasthttp v1.50.0 // indirect
|
||||
github.com/valyala/fastjson v1.6.4 // indirect
|
||||
github.com/x448/float16 v0.8.4 // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
@@ -284,16 +284,17 @@ require (
|
||||
github.com/zeebo/blake3 v0.2.3 // indirect
|
||||
go.etcd.io/bbolt v1.3.7 // indirect
|
||||
go.mongodb.org/mongo-driver v1.12.1 // indirect
|
||||
go.opentelemetry.io/otel v1.17.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.17.0 // indirect
|
||||
go.opentelemetry.io/otel v1.19.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.19.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.25.0 // indirect
|
||||
golang.org/x/mod v0.12.0 // indirect
|
||||
golang.org/x/sync v0.3.0 // indirect
|
||||
go.uber.org/zap v1.26.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
|
||||
golang.org/x/mod v0.13.0 // indirect
|
||||
golang.org/x/sync v0.4.0 // indirect
|
||||
golang.org/x/time v0.3.0 // indirect
|
||||
google.golang.org/appengine v1.6.7 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
|
||||
google.golang.org/appengine v1.6.8 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a // indirect
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
@@ -303,7 +304,7 @@ replace github.com/hashicorp/go-version => github.com/6543/go-version v1.3.1
|
||||
|
||||
replace github.com/shurcooL/vfsgen => github.com/lunny/vfsgen v0.0.0-20220105142115-2c99e1ffdfa0
|
||||
|
||||
replace github.com/nektos/act => gitea.com/gitea/act v0.243.4
|
||||
replace github.com/nektos/act => gitea.com/gitea/act v0.2.51
|
||||
|
||||
exclude github.com/gofrs/uuid v3.2.0+incompatible
|
||||
|
||||
|
||||
279
go.sum
279
go.sum
@@ -24,8 +24,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf
|
||||
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
|
||||
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
|
||||
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
|
||||
cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY=
|
||||
cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
|
||||
cloud.google.com/go/compute v1.23.1 h1:V97tBoDaZHb6leicZ1G6DLK2BAaZLJ/7+9BB/En3hR0=
|
||||
cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78=
|
||||
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
|
||||
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
|
||||
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
|
||||
@@ -42,11 +42,10 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9
|
||||
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
|
||||
code.gitea.io/actions-proto-go v0.3.1 h1:PMyiQtBKb8dNnpEO2R5rcZdXSis+UQZVo/SciMtR1aU=
|
||||
code.gitea.io/actions-proto-go v0.3.1/go.mod h1:00ys5QDo1iHN1tHNvvddAcy2W/g+425hQya1cCSvq9A=
|
||||
code.gitea.io/gitea-vet v0.2.1/go.mod h1:zcNbT/aJEmivCAhfmkHOlT645KNOf9W2KnkLgFjGGfE=
|
||||
code.gitea.io/gitea-vet v0.2.2 h1:TEOV/Glf38iGmKzKP0EB++Z5OSL4zGg3RrAvlwaMuvk=
|
||||
code.gitea.io/gitea-vet v0.2.2/go.mod h1:zcNbT/aJEmivCAhfmkHOlT645KNOf9W2KnkLgFjGGfE=
|
||||
code.gitea.io/sdk/gitea v0.15.1 h1:WJreC7YYuxbn0UDaPuWIe/mtiNKTvLN8MLkaw71yx/M=
|
||||
code.gitea.io/sdk/gitea v0.15.1/go.mod h1:klY2LVI3s3NChzIk/MzMn7G1FHrfU7qd63iSMVoHRBA=
|
||||
code.gitea.io/gitea-vet v0.2.3 h1:gdFmm6WOTM65rE8FUBTRzeQZYzXePKSSB1+r574hWwI=
|
||||
code.gitea.io/gitea-vet v0.2.3/go.mod h1:zcNbT/aJEmivCAhfmkHOlT645KNOf9W2KnkLgFjGGfE=
|
||||
code.gitea.io/sdk/gitea v0.16.0 h1:gAfssETO1Hv9QbE+/nhWu7EjoFQYKt6kPoyDytQgw00=
|
||||
code.gitea.io/sdk/gitea v0.16.0/go.mod h1:ndkDk99BnfiUCCYEUhpNzi0lpmApXlwRFqClBlOlEBg=
|
||||
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570 h1:TXbikPqa7YRtfU9vS6QJBg77pUvbEb6StRdZO8t1bEY=
|
||||
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570/go.mod h1:IIAjsijsd8q1isWX8MACefDEgTQslQ4stk2AeeTt3kM=
|
||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||
@@ -54,8 +53,8 @@ dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 h1:cliQ4HHsCo6xi2oWZYKWW4bly/Ory9FuTpFPRxj/mAg=
|
||||
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs=
|
||||
gitea.com/gitea/act v0.243.4 h1:MuBHBLCJfpa6mzwwvs4xqQynrSP2RRzpHpWfTV16PmI=
|
||||
gitea.com/gitea/act v0.243.4/go.mod h1:mabw6AZAiDgxGlK83orWLrNERSPvgBJzEUS3S7u2bHI=
|
||||
gitea.com/gitea/act v0.2.51 h1:gXc/B4OlTciTTzAx9cmNyw04n2SDO7exPjAsR5Idu+c=
|
||||
gitea.com/gitea/act v0.2.51/go.mod h1:CoaX2053jqBlD6JMgu4d4UgFL/rp2I14Kt5mMqcs0Z0=
|
||||
gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669 h1:RUBX+MK/TsDxpHmymaOaydfigEbbzqUnG1OTZU/HAeo=
|
||||
gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669/go.mod h1:77TZu701zMXWJFvB8gvTbQ92zQ3DQq/H7l5wAEjQRKc=
|
||||
gitea.com/go-chi/cache v0.0.0-20210110083709-82c4c9ce2d5e/go.mod h1:k2V/gPDEtXGjjMGuBJiapffAXTv76H4snSmlJRLUhH0=
|
||||
@@ -85,8 +84,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ClickHouse/ch-go v0.58.2 h1:jSm2szHbT9MCAB1rJ3WuCJqmGLi5UTjlNu+f530UTS0=
|
||||
github.com/ClickHouse/ch-go v0.58.2/go.mod h1:Ap/0bEmiLa14gYjCiRkYGbXvbe8vwdrfTYWhsuQ99aw=
|
||||
github.com/ClickHouse/clickhouse-go/v2 v2.13.4 h1:NcvYN9ONZn3vlPMfQVUBSG5LKz+1y2wk4vaaz5QZXIg=
|
||||
github.com/ClickHouse/clickhouse-go/v2 v2.13.4/go.mod h1:u1AUh8E0XqN1sU1EDzbiGLTI4KWOd+lOHimNSsdyJec=
|
||||
github.com/ClickHouse/clickhouse-go/v2 v2.14.3 h1:s9SuU3PfJrfJ4SDbVRo6XM2ZWlr7efvW9Z/ppUpE1vo=
|
||||
github.com/ClickHouse/clickhouse-go/v2 v2.14.3/go.mod h1:qdw8IMGH4Y+PedKlf9QEhFO1ATTSFhh4exQRVIa3y2A=
|
||||
github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
|
||||
github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ=
|
||||
github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
|
||||
@@ -104,23 +103,23 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc
|
||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
|
||||
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c h1:kMFnB0vCcX7IL/m9Y5LO+KQYv+t1CQOiFe6+SV2J7bE=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||
github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM=
|
||||
github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ=
|
||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||
github.com/RoaringBitmap/roaring v0.4.23/go.mod h1:D0gp8kJQgE1A4LQ5wFLggQEyvDi06Mq5mKs52e1TwOo=
|
||||
github.com/RoaringBitmap/roaring v0.7.1/go.mod h1:jdT9ykXwHFNdJbEtxePexlFYH9LXucApeS0/+/g+p1I=
|
||||
github.com/RoaringBitmap/roaring v1.5.0 h1:V0VCSiHjroItEYCM3guC8T83ehi5QMt3oM9EefTTOms=
|
||||
github.com/RoaringBitmap/roaring v1.5.0/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE=
|
||||
github.com/RoaringBitmap/roaring v1.6.0 h1:dc7kRiroETgJcHhWX6BerXkZz2b3JgLGg9nTURJL/og=
|
||||
github.com/RoaringBitmap/roaring v1.6.0/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE=
|
||||
github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ=
|
||||
github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
|
||||
github.com/alecthomas/assert/v2 v2.2.1 h1:XivOgYcduV98QCahG8T5XTezV5bylXe+lBxLG2K2ink=
|
||||
github.com/alecthomas/assert/v2 v2.2.1/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ=
|
||||
github.com/alecthomas/chroma/v2 v2.2.0/go.mod h1:vf4zrexSH54oEjJ7EdB65tGNHmH3pGZmVkgTP5RHvAs=
|
||||
github.com/alecthomas/chroma/v2 v2.9.1 h1:0O3lTQh9FxazJ4BYE/MOi/vDGuHn7B+6Bu902N2UZvU=
|
||||
github.com/alecthomas/chroma/v2 v2.9.1/go.mod h1:4TQu7gdfuPjSh76j78ietmqh9LiurGF0EpseFXdKMBw=
|
||||
github.com/alecthomas/chroma/v2 v2.10.0 h1:T2iQOCCt4pRmRMfL55gTodMtc7cU0y7lc1Jb8/mK/64=
|
||||
github.com/alecthomas/chroma/v2 v2.10.0/go.mod h1:4TQu7gdfuPjSh76j78ietmqh9LiurGF0EpseFXdKMBw=
|
||||
github.com/alecthomas/repr v0.0.0-20220113201626-b1b626ac65ae/go.mod h1:2kn6fqh/zIyPLmm3ugklbEi5hg5wS435eygvNfaDQL8=
|
||||
github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk=
|
||||
github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||
@@ -143,8 +142,6 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
|
||||
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
|
||||
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
|
||||
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
|
||||
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bits-and-blooms/bitset v1.1.10/go.mod h1:w0XsmFg8qg6cmpTtJ0z3pKgjTDBMMnI/+I2syrE6XBE=
|
||||
@@ -202,12 +199,12 @@ github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBW
|
||||
github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
|
||||
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285 h1:Dr+ezPI5ivhMn/3WOoB86XzMhie146DNaBbhaQWZHMY=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20230611145640-acc696258285/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
|
||||
github.com/bsm/ginkgo/v2 v2.9.5 h1:rtVBYPs3+TC5iLUVOis1B9tjLTup7Cj5IfzosKtvTJ0=
|
||||
github.com/bsm/ginkgo/v2 v2.9.5/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||
github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y=
|
||||
github.com/bsm/gomega v1.26.0/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
||||
github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
|
||||
github.com/bufbuild/connect-go v1.10.0 h1:QAJ3G9A1OYQW2Jbk3DeoJbkCxuKArrvZgDt47mjdTbg=
|
||||
github.com/bufbuild/connect-go v1.10.0/go.mod h1:CAIePUgkDR5pAFaylSMtNK45ANQjp9JvpluG20rhpV8=
|
||||
github.com/buildkite/terminal-to-html/v3 v3.9.1 h1:8SOCKFK9ntpYvPE3yUAXHiZYdQI4xf9o9S3wOX7x12A=
|
||||
@@ -253,14 +250,19 @@ github.com/couchbase/goutils v0.1.2 h1:gWr8B6XNWPIhfalHNog3qQKfGiYyh4K4VhO3P2o9B
|
||||
github.com/couchbase/goutils v0.1.2/go.mod h1:h89Ek/tiOxxqjz30nPPlwZdQbdB8BwgnuBxeoUe/ViE=
|
||||
github.com/couchbase/moss v0.1.0/go.mod h1:9MaHIaRuy9pvLPUJxB8sh8OrLfyDczECVL37grCIubs=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
|
||||
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
||||
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0=
|
||||
github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE=
|
||||
github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE=
|
||||
github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+8Y+8shw=
|
||||
@@ -287,12 +289,12 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
|
||||
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.5.2 h1:Z/G8cwnwOzGgTtvTutUhWPJ1ySUzuermioYMra7TuDQ=
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.5.2/go.mod h1:DoNm5QtDjTkizv0Oo1O+OJ92feoyUz3V4StZpOmP69E=
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.6.0 h1:5O8paxMLmi/5ONoKXzWNYxoSZU7+ITVbGcPga0IrzfE=
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.6.0/go.mod h1:hdTKe+hwa3mMnMn4JUQziT+yc3pF+6EVmK2LPbLZthE=
|
||||
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
|
||||
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
|
||||
github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 h1:RIB4cRk+lBqKK3Oy0r2gRX4ui7tuhiZq2SuTtTCi0/0=
|
||||
github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
|
||||
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
|
||||
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
|
||||
github.com/emersion/go-imap v1.2.1 h1:+s9ZjMEjOB8NzZMVTM3cCenz2JrQIGGo5j1df19WjTA=
|
||||
github.com/emersion/go-imap v1.2.1/go.mod h1:Qlx1FSx2FTxjnjWpIlVNEuX+ylerZQNFE5NsmKFSejY=
|
||||
github.com/emersion/go-message v0.15.0/go.mod h1:wQUEfE+38+7EW8p8aZ96ptg6bAb1iwdgej19uXASlE4=
|
||||
@@ -331,14 +333,14 @@ github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
||||
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
||||
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
|
||||
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
|
||||
github.com/go-ap/activitypub v0.0.0-20230807182453-602f717f6ca3 h1:Lxp2XxNZ+2bqlpJbKeQme5kMf9NqPJQB1l2eZLJ7W/A=
|
||||
github.com/go-ap/activitypub v0.0.0-20230807182453-602f717f6ca3/go.mod h1:qw0WNf+PTG69Xu6mVqUluDuKl1VwVYdgntOZQFBZQ48=
|
||||
github.com/go-ap/errors v0.0.0-20221205040414-01c1adfc98ea h1:ywGtLGVjJjMrq4mu35Qmu+NtlhlTk/gTayE6Bb4tQZk=
|
||||
github.com/go-ap/errors v0.0.0-20221205040414-01c1adfc98ea/go.mod h1:SaTNjEEkp0q+w3pUS1ccyEL/lUrHteORlDq/e21mCc8=
|
||||
github.com/go-ap/activitypub v0.0.0-20231003111253-1fba3772399b h1:VLD6IPBDkqEsOZ+EfLO6MayuHycZ0cv4BStTlRoZduo=
|
||||
github.com/go-ap/activitypub v0.0.0-20231003111253-1fba3772399b/go.mod h1:cJ9Ye0ZNSMN7RzZDBRY3E+8M3Bpf/R1JX22Ir9yX6WI=
|
||||
github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7 h1:I2nuhyVI/48VXoRCCZR2hYBgnSXa+EuDJf/VyX06TC0=
|
||||
github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7/go.mod h1:5x8a6P/dhmMGFxWLcyYlyOuJ2lRNaHGhRv+yu8BaTSI=
|
||||
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73 h1:GMKIYXyXPGIp+hYiWOhfqK4A023HdgisDT4YGgf99mw=
|
||||
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73/go.mod h1:jyveZeGw5LaADntW+UEsMjl3IlIwk+DxlYNsbofQkGA=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.4 h1:vXT6d/FNDiELJnLb6hGNa309LMsrCoYFvpwHDF0+Y1A=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.4/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
|
||||
github.com/go-chi/chi/v5 v5.0.1/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
|
||||
github.com/go-chi/chi/v5 v5.0.4/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
|
||||
github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk=
|
||||
@@ -347,30 +349,31 @@ github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4=
|
||||
github.com/go-chi/cors v1.2.1/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58=
|
||||
github.com/go-co-op/gocron v1.31.1 h1:LZAuBlU0t3SPGUMJGhrJ6VuCc3CsrYzkzicygvVWlfA=
|
||||
github.com/go-co-op/gocron v1.31.1/go.mod h1:39f6KNSGVOU1LO/ZOoZfcSxwlsJDQOKSu8erN0SH48Y=
|
||||
github.com/go-enry/go-enry/v2 v2.8.5 h1:jtYXblst2+d9k7ZgEgkv6Q5hKRKPf0qHRjt715BZEX4=
|
||||
github.com/go-enry/go-enry/v2 v2.8.5/go.mod h1:9yrj4ES1YrbNb1Wb7/PWYr2bpaCXUGRt0uafN0ISyG8=
|
||||
github.com/go-enry/go-enry/v2 v2.8.6 h1:T6ljs5+qNiUTDqpfK5GUD5EvLNdDbf804u8iC30vw7U=
|
||||
github.com/go-enry/go-enry/v2 v2.8.6/go.mod h1:9yrj4ES1YrbNb1Wb7/PWYr2bpaCXUGRt0uafN0ISyG8=
|
||||
github.com/go-enry/go-oniguruma v1.2.1 h1:k8aAMuJfMrqm/56SG2lV9Cfti6tC4x8673aHCcBk+eo=
|
||||
github.com/go-enry/go-oniguruma v1.2.1/go.mod h1:bWDhYP+S6xZQgiRL7wlTScFYBe023B6ilRZbCAD5Hf4=
|
||||
github.com/go-faster/city v1.0.1 h1:4WAxSZ3V2Ws4QRDrscLEDcibJY8uf41H6AhXDrNDcGw=
|
||||
github.com/go-faster/city v1.0.1/go.mod h1:jKcUJId49qdW3L1qKHH/3wPeUstCVpVSXTM6vO3VcTw=
|
||||
github.com/go-faster/errors v0.6.1 h1:nNIPOBkprlKzkThvS/0YaX8Zs9KewLCOSFQS5BU06FI=
|
||||
github.com/go-faster/errors v0.6.1/go.mod h1:5MGV2/2T9yvlrbhe9pD9LO5Z/2zCSq2T8j+Jpi2LAyY=
|
||||
github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM=
|
||||
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e h1:oRq/fiirun5HqlEWMLIcDmLpIELlG4iGbd0s8iqgPi8=
|
||||
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM=
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||
github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4=
|
||||
github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg=
|
||||
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
||||
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo=
|
||||
github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A=
|
||||
github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo=
|
||||
github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY=
|
||||
github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
|
||||
github.com/go-ldap/ldap/v3 v3.4.5 h1:ekEKmaDrpvR2yf5Nc/DClsGG9lAmdDixe44mLzlW5r8=
|
||||
github.com/go-ldap/ldap/v3 v3.4.5/go.mod h1:bMGIq3AGbytbaMwf8wdv5Phdxz0FWHTIYMSzyrYgnQs=
|
||||
github.com/go-ldap/ldap/v3 v3.4.6 h1:ert95MdbiG7aWo/oPYp9btL3KJlMPKnP58r09rI8T+A=
|
||||
github.com/go-ldap/ldap/v3 v3.4.6/go.mod h1:IGMQANNtxpsOzj7uUAMjpGBaOVTC4DYyIy8VsTdxmtc=
|
||||
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
||||
github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
|
||||
github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc=
|
||||
@@ -425,8 +428,8 @@ github.com/go-swagger/go-swagger v0.30.5/go.mod h1:cWUhSyCNqV7J1wkkxfr5QmbcnCewe
|
||||
github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0=
|
||||
github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0=
|
||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
||||
github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M=
|
||||
github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
|
||||
github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
|
||||
github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
|
||||
github.com/go-testfixtures/testfixtures/v3 v3.9.0 h1:938g5V+GWLVejm3Hc+nWCuEXRlcglZDDlN/t1gWzcSY=
|
||||
github.com/go-testfixtures/testfixtures/v3 v3.9.0/go.mod h1:cdsKD2ApFBjdog9jRsz6EJqF+LClq/hrwE9K/1Dzo4s=
|
||||
github.com/go-webauthn/webauthn v0.8.6 h1:bKMtL1qzd2WTFkf1mFTVbreYrwn7dsYmEPjTq6QN90E=
|
||||
@@ -509,6 +512,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
|
||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
@@ -554,8 +558,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
|
||||
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
|
||||
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
|
||||
github.com/google/pprof v0.0.0-20230901174712-0191c66da455 h1:YhRUmI1ttDC4sxKY2V62BTI8hCXnyZBV9h38eAanInE=
|
||||
github.com/google/pprof v0.0.0-20230901174712-0191c66da455/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
|
||||
github.com/google/pprof v0.0.0-20230926050212-f7f687d19a98 h1:pUa4ghanp6q4IJHwE9RwLgmVFfReJN+KbQ8ExNEUUoQ=
|
||||
github.com/google/pprof v0.0.0-20230926050212-f7f687d19a98/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
@@ -588,22 +592,17 @@ github.com/gorilla/sessions v1.1.1/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE
|
||||
github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||
github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI=
|
||||
github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
|
||||
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
|
||||
github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM=
|
||||
github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
|
||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c=
|
||||
github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZnpUv3/+BxzFA=
|
||||
github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.6 h1:3xi/Cafd1NaoEnS/yDssIiuVeDVywU0QdFGl3aQaQHM=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.6/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
|
||||
@@ -677,8 +676,8 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
||||
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
|
||||
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
|
||||
github.com/jhillyerd/enmime v1.0.0 h1:8swYgO1fm68PllCKz5jiLzgD3axNUS388jr6BtRSsl8=
|
||||
github.com/jhillyerd/enmime v1.0.0/go.mod h1:EktNOa/V6ka9yCrfoB2uxgefp1lno6OVdszW0iQ5LnM=
|
||||
github.com/jhillyerd/enmime v1.0.1 h1:y6RyqIgBOI2hIinOXIzmeB+ITRVls0zTJIm5GwgXnjE=
|
||||
github.com/jhillyerd/enmime v1.0.1/go.mod h1:LMMbm6oTlzWHghPavqHtOrP/NosVv3l42CUrZjn03/Q=
|
||||
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
|
||||
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
|
||||
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
||||
@@ -707,8 +706,8 @@ github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs
|
||||
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
|
||||
github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
|
||||
github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
|
||||
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
|
||||
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
|
||||
github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM=
|
||||
github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
|
||||
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
|
||||
@@ -761,8 +760,8 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ
|
||||
github.com/markbates/going v1.0.0/go.mod h1:I6mnB4BPnEeqo85ynXIx1ZFLLbtiLHNXVgWeFO9OGOA=
|
||||
github.com/markbates/going v1.0.3 h1:mY45T5TvW+Xz5A6jY7lf4+NLg9D8+iuStIHyR7M8qsE=
|
||||
github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o=
|
||||
github.com/markbates/goth v1.77.0 h1:s3scqnWv/Zq/a5M766V0FKsLfOdFNdh/HEkuWCKbvT8=
|
||||
github.com/markbates/goth v1.77.0/go.mod h1:X6xdNgpapSENS0O35iTBBcMHoJDQDfI9bJl+APCkYMc=
|
||||
github.com/markbates/goth v1.78.0 h1:7VEIFDycJp9deyVv3YraGBPdD0ZYQW93Y3Aw1eVP3BY=
|
||||
github.com/markbates/goth v1.78.0/go.mod h1:X6xdNgpapSENS0O35iTBBcMHoJDQDfI9bJl+APCkYMc=
|
||||
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
|
||||
github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
|
||||
@@ -787,16 +786,16 @@ github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6
|
||||
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
|
||||
github.com/meilisearch/meilisearch-go v0.25.0 h1:xIp+8YWterHuDvpdYlwQ4Qp7im3JlRHmSKiP0NvjyXs=
|
||||
github.com/meilisearch/meilisearch-go v0.25.0/go.mod h1:SxuSqDcPBIykjWz1PX+KzsYzArNLSCadQodWs8extS0=
|
||||
github.com/meilisearch/meilisearch-go v0.25.1 h1:D5wY22sn5kkpRH3uYMGlwltdUEq5regIFmO7awHz3Vo=
|
||||
github.com/meilisearch/meilisearch-go v0.25.1/go.mod h1:SxuSqDcPBIykjWz1PX+KzsYzArNLSCadQodWs8extS0=
|
||||
github.com/mholt/acmez v1.2.0 h1:1hhLxSgY5FvH5HCnGUuwbKY2VQVo8IU7rxXKSnZ7F30=
|
||||
github.com/mholt/acmez v1.2.0/go.mod h1:VT9YwH1xgNX1kmYY89gY8xPJC84BFAisjo8Egigt4kE=
|
||||
github.com/mholt/archiver/v3 v3.5.1 h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Clwo=
|
||||
github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4=
|
||||
github.com/microcosm-cc/bluemonday v1.0.25 h1:4NEwSfiJ+Wva0VxN5B8OwMicaJvD8r9tlJWm9rtloEg=
|
||||
github.com/microcosm-cc/bluemonday v1.0.25/go.mod h1:ZIOjCQp1OrzBBPIJmfX4qDYFuhU02nx4bn030ixfHLE=
|
||||
github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo=
|
||||
github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
|
||||
github.com/microcosm-cc/bluemonday v1.0.26 h1:xbqSvqzQMeEHCqMi64VAs4d8uy6Mequs3rQ0k/Khz58=
|
||||
github.com/microcosm-cc/bluemonday v1.0.26/go.mod h1:JyzOCs9gkyQyjs+6h10UEVSe02CGwkhd72Xdqh78TWs=
|
||||
github.com/miekg/dns v1.1.56 h1:5imZaSeoRNvpM9SzWNhEcP9QliKiz20/dA2QabIGVnE=
|
||||
github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY=
|
||||
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
|
||||
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
|
||||
github.com/minio/minio-go/v7 v7.0.63 h1:GbZ2oCvaUdgT5640WJOpyDhhDxvknAJU2/T3yurwcbQ=
|
||||
@@ -828,8 +827,8 @@ github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450/go.mod h1:skjdDftzkF
|
||||
github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg=
|
||||
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
|
||||
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
|
||||
github.com/msteinert/pam v1.1.0 h1:VhLun/0n0kQYxiRBJJvVpC2jR6d21SWJFjpvUVj20Kc=
|
||||
github.com/msteinert/pam v1.1.0/go.mod h1:M4FPeAW8g2ITO68W8gACDz13NDJyOQM9IQsQhrR6TOI=
|
||||
github.com/msteinert/pam v1.2.0 h1:mYfjlvN2KYs2Pb9G6nb/1f/nPfAttT/Jee5Sq9r3bGE=
|
||||
github.com/msteinert/pam v1.2.0/go.mod h1:d2n0DCUK8rGecChV3JzvmsDjOY4R7AYbsNxAT+ftQl0=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/niklasfasching/go-org v1.7.0 h1:vyMdcMWWTe/XmANk19F4k8XGBYg0GQ/gJGMimOjGMek=
|
||||
github.com/niklasfasching/go-org v1.7.0/go.mod h1:WuVm4d45oePiE0eX25GqTDQIt/qPW1T9DGkRscqLW5o=
|
||||
@@ -857,12 +856,12 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
|
||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
||||
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
|
||||
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
|
||||
github.com/onsi/gomega v1.27.8 h1:gegWiwZjBsf2DgiSbf5hpokZ98JVDMcWkUiigk6/KXc=
|
||||
github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ=
|
||||
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
|
||||
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
|
||||
github.com/opencontainers/image-spec v1.1.0-rc4 h1:oOxKUJWnFC4YGHCCMNql1x4YaDfYBTS5Y4x/Cgeo1E0=
|
||||
github.com/opencontainers/image-spec v1.1.0-rc4/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
|
||||
github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI=
|
||||
github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
|
||||
github.com/paulmach/orb v0.10.0 h1:guVYVqzxHE/CQ1KpfGO077TR0ATHSNjp4s6XGLn3W9s=
|
||||
github.com/paulmach/orb v0.10.0/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU=
|
||||
github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY=
|
||||
@@ -884,34 +883,33 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg=
|
||||
github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
|
||||
github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
|
||||
github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
|
||||
github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
|
||||
github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY=
|
||||
github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
|
||||
github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
|
||||
github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
|
||||
github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY=
|
||||
github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY=
|
||||
github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI=
|
||||
github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY=
|
||||
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
|
||||
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
|
||||
github.com/quasoft/websspi v1.1.2 h1:/mA4w0LxWlE3novvsoEL6BBA1WnjJATbjkh1kFrTidw=
|
||||
github.com/quasoft/websspi v1.1.2/go.mod h1:HmVdl939dQ0WIXZhyik+ARdI03M6bQzaSEKcgpFmewk=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY=
|
||||
github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c=
|
||||
github.com/redis/go-redis/v9 v9.2.1 h1:WlYJg71ODF0dVspZZCpYmoF1+U1Jjk9Rwd7pq6QmlCg=
|
||||
github.com/redis/go-redis/v9 v9.2.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/rhysd/actionlint v1.6.25 h1:0Is99a51w1iocdxKUzNYiBNwjoSlO2Klqzll98joVj4=
|
||||
github.com/rhysd/actionlint v1.6.25/go.mod h1:Q+MtZKm1MdmJ9woOSKxLscMW7kU44/PShvjNy5ZKHA8=
|
||||
github.com/rhysd/actionlint v1.6.26 h1:zi7jPZf3Ks14gCXYAAL47uBziyFlX7+Xwilqhexct9g=
|
||||
github.com/rhysd/actionlint v1.6.26/go.mod h1:TIj1DlCgtYLOv5CH9wCK+WJTOr1qAdnFzkGi0IgSCO4=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s=
|
||||
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
|
||||
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
|
||||
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
|
||||
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
|
||||
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
@@ -930,6 +928,10 @@ github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThC
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ=
|
||||
github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U=
|
||||
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
|
||||
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||
github.com/sassoftware/go-rpmutils v0.2.0 h1:pKW0HDYMFWQ5b4JQPiI3WI12hGsVoW0V8+GMoZiI/JE=
|
||||
@@ -955,8 +957,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd
|
||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||
github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM=
|
||||
github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo=
|
||||
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
|
||||
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
github.com/smartystreets/assertions v1.1.1 h1:T/YLemO5Yp7KPzS+lVtu+WsHn8yoSwTfItdAd1r3cck=
|
||||
@@ -964,9 +966,11 @@ github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYl
|
||||
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
|
||||
github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337 h1:WN9BUFbdyOsSH/XohnWpXOlq9NBD5sGAB2FciQMUEe8=
|
||||
github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
|
||||
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
|
||||
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM=
|
||||
github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
|
||||
github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY=
|
||||
github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
|
||||
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
|
||||
@@ -974,14 +978,12 @@ github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN
|
||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
|
||||
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
|
||||
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||
github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc=
|
||||
github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg=
|
||||
github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI=
|
||||
github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI=
|
||||
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf h1:pvbZ0lM0XWPBqUKqFU8cmavspvIl9nulOYwdy6IFRRo=
|
||||
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf/go.mod h1:RJID2RhlZKId02nZ62WenDCkgHFerpIOmW0iT7GKmXM=
|
||||
github.com/stephens2424/writerset v1.0.2/go.mod h1:aS2JhsMn6eA7e82oNmW4rfsgAOp9COBTTl8mzkwADnc=
|
||||
@@ -1026,17 +1028,16 @@ github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6S
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasthttp v1.37.1-0.20220607072126-8a320890c08d/go.mod h1:t/G+3rLek+CyY9bnIE+YlMRddxVAAGjhxndDB4i4C0I=
|
||||
github.com/valyala/fasthttp v1.49.0 h1:9FdvCpmxB74LH4dPb7IJ1cOSsluR07XG3I1txXWwJpE=
|
||||
github.com/valyala/fasthttp v1.49.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA=
|
||||
github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
|
||||
github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M=
|
||||
github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA=
|
||||
github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ=
|
||||
github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
|
||||
github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
|
||||
github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
|
||||
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
|
||||
github.com/xanzy/go-gitlab v0.91.0 h1:o8S6TeaPq/b1cGcZ0UWnj4cBP5urtBdYqwmoLZyCdDY=
|
||||
github.com/xanzy/go-gitlab v0.91.0/go.mod h1:5ryv+MnpZStBH8I/77HuQBsMbBGANtVpLWC15qOjWAw=
|
||||
github.com/xanzy/go-gitlab v0.93.1 h1:f7J33cw/P9b/8paIOoH0F3H+TFrswvWHs6yUgoTp9LY=
|
||||
github.com/xanzy/go-gitlab v0.93.1/go.mod h1:5ryv+MnpZStBH8I/77HuQBsMbBGANtVpLWC15qOjWAw=
|
||||
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
||||
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
|
||||
@@ -1097,10 +1098,10 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||
go.opentelemetry.io/otel v0.14.0/go.mod h1:vH5xEuwy7Rts0GNtsCW3HYQoZDY+OmBJ6t1bFGGlxgw=
|
||||
go.opentelemetry.io/otel v1.17.0 h1:MW+phZ6WZ5/uk2nd93ANk/6yJ+dVrvNWUjGhnnFU5jM=
|
||||
go.opentelemetry.io/otel v1.17.0/go.mod h1:I2vmBGtFaODIVMBSTPVDlJSzBDNf93k60E6Ft0nyjo0=
|
||||
go.opentelemetry.io/otel/trace v1.17.0 h1:/SWhSRHmDPOImIAetP1QAeMnZYiQXrTy4fMMYOdSKWQ=
|
||||
go.opentelemetry.io/otel/trace v1.17.0/go.mod h1:I/4vKTgFclIsXRVucpH25X0mpFSczM7aHeaz0ZBLWjY=
|
||||
go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
|
||||
go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
|
||||
go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
|
||||
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
|
||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
@@ -1120,8 +1121,8 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E
|
||||
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
|
||||
go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c=
|
||||
go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk=
|
||||
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
|
||||
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
@@ -1137,10 +1138,12 @@ golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPh
|
||||
golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
|
||||
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
@@ -1148,8 +1151,9 @@ golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4
|
||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
|
||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
|
||||
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
|
||||
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
@@ -1160,10 +1164,12 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
|
||||
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
|
||||
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
|
||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.11.0 h1:ds2RoQvBvYTiJkwpSFDwCcDFNX7DqjL2WsUgTNk0Ooo=
|
||||
golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8=
|
||||
golang.org/x/image v0.13.0 h1:3cge/F/QTkNLauhf2QoE9zp+7sr+ZcL4HnoZmdwg9sg=
|
||||
golang.org/x/image v0.13.0/go.mod h1:6mmbMOeV28HuMTgA6OSRkdXKYw/t5W9Uwn2Yv1r3Yxk=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
@@ -1187,8 +1193,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
|
||||
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
|
||||
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
@@ -1237,8 +1243,9 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
|
||||
golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
|
||||
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
|
||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
|
||||
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
@@ -1248,8 +1255,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ
|
||||
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU=
|
||||
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
|
||||
golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY=
|
||||
golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -1264,8 +1271,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
|
||||
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
||||
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -1339,8 +1346,10 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
@@ -1349,8 +1358,10 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
|
||||
golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0=
|
||||
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
|
||||
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
||||
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
@@ -1365,7 +1376,6 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
@@ -1440,8 +1450,8 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss=
|
||||
golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM=
|
||||
golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
|
||||
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
@@ -1474,8 +1484,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
|
||||
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
|
||||
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
@@ -1513,8 +1524,8 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D
|
||||
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a h1:a2MQQVoTo96JC9PMGtGBymLp7+/RzpFc2yX/9WfFg1c=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
@@ -1532,8 +1543,8 @@ google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
|
||||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw=
|
||||
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
|
||||
google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ=
|
||||
google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
@@ -1637,5 +1648,5 @@ strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251/go.mod h1:
|
||||
xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE=
|
||||
xorm.io/builder v0.3.13 h1:a3jmiVVL19psGeXx8GIurTp7p0IIgqeDmwhcR6BAOAo=
|
||||
xorm.io/builder v0.3.13/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE=
|
||||
xorm.io/xorm v1.3.3-0.20230725140238-59b727260d35 h1:qjhRBMFRr3IdT2YR8VByOMfko8vxINiOPeOc267zuPI=
|
||||
xorm.io/xorm v1.3.3-0.20230725140238-59b727260d35/go.mod h1:qFJGFoVYbbIdnz2vaL5OxSQ2raleMpyRRalnq3n9OJo=
|
||||
xorm.io/xorm v1.3.4 h1:vWFKzR3DhGUDl5b4srhUjhDwjxkZAc4C7BFszpu0swI=
|
||||
xorm.io/xorm v1.3.4/go.mod h1:qFJGFoVYbbIdnz2vaL5OxSQ2raleMpyRRalnq3n9OJo=
|
||||
|
||||
@@ -266,3 +266,27 @@ func CreateRunner(ctx context.Context, t *ActionRunner) error {
|
||||
_, err := db.GetEngine(ctx).Insert(t)
|
||||
return err
|
||||
}
|
||||
|
||||
func CountRunnersWithoutBelongingOwner(ctx context.Context) (int64, error) {
|
||||
// Only affect action runners were a owner ID is set, as actions runners
|
||||
// could also be created on a repository.
|
||||
return db.GetEngine(ctx).Table("action_runner").
|
||||
Join("LEFT", "user", "`action_runner`.owner_id = `user`.id").
|
||||
Where("`action_runner`.owner_id != ?", 0).
|
||||
And(builder.IsNull{"`user`.id"}).
|
||||
Count(new(ActionRunner))
|
||||
}
|
||||
|
||||
func FixRunnersWithoutBelongingOwner(ctx context.Context) (int64, error) {
|
||||
subQuery := builder.Select("`action_runner`.id").
|
||||
From("`action_runner`").
|
||||
Join("LEFT", "user", "`action_runner`.owner_id = `user`.id").
|
||||
Where(builder.Neq{"`action_runner`.owner_id": 0}).
|
||||
And(builder.IsNull{"`user`.id"})
|
||||
b := builder.Delete(builder.In("id", subQuery)).From("`action_runner`")
|
||||
res, err := db.GetEngine(ctx).Exec(b)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return res.RowsAffected()
|
||||
}
|
||||
|
||||
@@ -20,6 +20,10 @@ type ActionTaskOutput struct {
|
||||
OutputValue string `xorm:"MEDIUMTEXT"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
db.RegisterModel(new(ActionTaskOutput))
|
||||
}
|
||||
|
||||
// FindTaskOutputByTaskID returns the outputs of the task.
|
||||
func FindTaskOutputByTaskID(ctx context.Context, taskID int64) ([]*ActionTaskOutput, error) {
|
||||
var outputs []*ActionTaskOutput
|
||||
|
||||
@@ -92,10 +92,9 @@ func CountUserGPGKeys(ctx context.Context, userID int64) (int64, error) {
|
||||
return db.GetEngine(ctx).Where("owner_id=? AND primary_key_id=''", userID).Count(&GPGKey{})
|
||||
}
|
||||
|
||||
// GetGPGKeyByID returns public key by given ID.
|
||||
func GetGPGKeyByID(ctx context.Context, keyID int64) (*GPGKey, error) {
|
||||
func GetGPGKeyForUserByID(ctx context.Context, ownerID, keyID int64) (*GPGKey, error) {
|
||||
key := new(GPGKey)
|
||||
has, err := db.GetEngine(ctx).ID(keyID).Get(key)
|
||||
has, err := db.GetEngine(ctx).Where("id=? AND owner_id=?", keyID, ownerID).Get(key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
@@ -225,7 +224,7 @@ func deleteGPGKey(ctx context.Context, keyID string) (int64, error) {
|
||||
|
||||
// DeleteGPGKey deletes GPG key information in database.
|
||||
func DeleteGPGKey(ctx context.Context, doer *user_model.User, id int64) (err error) {
|
||||
key, err := GetGPGKeyByID(ctx, id)
|
||||
key, err := GetGPGKeyForUserByID(ctx, doer.ID, id)
|
||||
if err != nil {
|
||||
if IsErrGPGKeyNotExist(err) {
|
||||
return nil
|
||||
@@ -233,11 +232,6 @@ func DeleteGPGKey(ctx context.Context, doer *user_model.User, id int64) (err err
|
||||
return fmt.Errorf("GetPublicKeyByID: %w", err)
|
||||
}
|
||||
|
||||
// Check if user has access to delete this key.
|
||||
if !doer.IsAdmin && doer.ID != key.OwnerID {
|
||||
return ErrGPGKeyAccessDenied{doer.ID, key.ID}
|
||||
}
|
||||
|
||||
ctx, committer, err := db.TxContext(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -81,7 +81,7 @@ func CalcFingerprint(publicKeyContent string) (string, error) {
|
||||
fnName, fp string
|
||||
err error
|
||||
)
|
||||
if setting.SSH.StartBuiltinServer {
|
||||
if len(setting.SSH.KeygenPath) == 0 {
|
||||
fnName = "calcFingerprintNative"
|
||||
fp, err = calcFingerprintNative(publicKeyContent)
|
||||
} else {
|
||||
|
||||
@@ -232,7 +232,7 @@ func CreateSource(source *Source) error {
|
||||
err = registerableSource.RegisterSource()
|
||||
if err != nil {
|
||||
// remove the AuthSource in case of errors while registering configuration
|
||||
if _, err := db.GetEngine(db.DefaultContext).Delete(source); err != nil {
|
||||
if _, err := db.GetEngine(db.DefaultContext).ID(source.ID).Delete(new(Source)); err != nil {
|
||||
log.Error("CreateSource: Error while wrapOpenIDConnectInitializeError: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,3 +66,12 @@
|
||||
tree_path: "README.md"
|
||||
created_unix: 946684812
|
||||
invalidated: true
|
||||
|
||||
-
|
||||
id: 8
|
||||
type: 0 # comment
|
||||
poster_id: 2
|
||||
issue_id: 4 # in repo_id 2
|
||||
content: "comment in private pository"
|
||||
created_unix: 946684811
|
||||
updated_unix: 946684811
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
priority: 0
|
||||
is_closed: true
|
||||
is_pull: false
|
||||
num_comments: 0
|
||||
num_comments: 1
|
||||
created_unix: 946684830
|
||||
updated_unix: 978307200
|
||||
is_locked: false
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -342,7 +342,7 @@ func (c *Comment) AfterLoad(session *xorm.Session) {
|
||||
|
||||
// LoadPoster loads comment poster
|
||||
func (c *Comment) LoadPoster(ctx context.Context) (err error) {
|
||||
if c.PosterID <= 0 || c.Poster != nil {
|
||||
if c.Poster != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1016,6 +1016,7 @@ type FindCommentsOptions struct {
|
||||
Type CommentType
|
||||
IssueIDs []int64
|
||||
Invalidated util.OptionalBool
|
||||
IsPull util.OptionalBool
|
||||
}
|
||||
|
||||
// ToConds implements FindOptions interface
|
||||
@@ -1050,6 +1051,9 @@ func (opts *FindCommentsOptions) ToConds() builder.Cond {
|
||||
if !opts.Invalidated.IsNone() {
|
||||
cond = cond.And(builder.Eq{"comment.invalidated": opts.Invalidated.IsTrue()})
|
||||
}
|
||||
if opts.IsPull != util.OptionalBoolNone {
|
||||
cond = cond.And(builder.Eq{"issue.is_pull": opts.IsPull.IsTrue()})
|
||||
}
|
||||
return cond
|
||||
}
|
||||
|
||||
@@ -1057,7 +1061,7 @@ func (opts *FindCommentsOptions) ToConds() builder.Cond {
|
||||
func FindComments(ctx context.Context, opts *FindCommentsOptions) (CommentList, error) {
|
||||
comments := make([]*Comment, 0, 10)
|
||||
sess := db.GetEngine(ctx).Where(opts.ToConds())
|
||||
if opts.RepoID > 0 {
|
||||
if opts.RepoID > 0 || opts.IsPull != util.OptionalBoolNone {
|
||||
sess.Join("INNER", "issue", "issue.id = comment.issue_id")
|
||||
}
|
||||
|
||||
|
||||
@@ -218,9 +218,9 @@ func GetIssueContentHistoryByID(dbCtx context.Context, id int64) (*ContentHistor
|
||||
}
|
||||
|
||||
// GetIssueContentHistoryAndPrev get a history and the previous non-deleted history (to compare)
|
||||
func GetIssueContentHistoryAndPrev(dbCtx context.Context, id int64) (history, prevHistory *ContentHistory, err error) {
|
||||
func GetIssueContentHistoryAndPrev(dbCtx context.Context, issueID, id int64) (history, prevHistory *ContentHistory, err error) {
|
||||
history = &ContentHistory{}
|
||||
has, err := db.GetEngine(dbCtx).ID(id).Get(history)
|
||||
has, err := db.GetEngine(dbCtx).Where("id=? AND issue_id=?", id, issueID).Get(history)
|
||||
if err != nil {
|
||||
log.Error("failed to get issue content history %v. err=%v", id, err)
|
||||
return nil, nil, err
|
||||
|
||||
@@ -58,13 +58,13 @@ func TestContentHistory(t *testing.T) {
|
||||
hasHistory2, _ := issues_model.HasIssueContentHistory(dbCtx, 10, 1)
|
||||
assert.False(t, hasHistory2)
|
||||
|
||||
h6, h6Prev, _ := issues_model.GetIssueContentHistoryAndPrev(dbCtx, 6)
|
||||
h6, h6Prev, _ := issues_model.GetIssueContentHistoryAndPrev(dbCtx, 10, 6)
|
||||
assert.EqualValues(t, 6, h6.ID)
|
||||
assert.EqualValues(t, 5, h6Prev.ID)
|
||||
|
||||
// soft-delete
|
||||
_ = issues_model.SoftDeleteIssueContentHistory(dbCtx, 5)
|
||||
h6, h6Prev, _ = issues_model.GetIssueContentHistoryAndPrev(dbCtx, 6)
|
||||
h6, h6Prev, _ = issues_model.GetIssueContentHistoryAndPrev(dbCtx, 10, 6)
|
||||
assert.EqualValues(t, 6, h6.ID)
|
||||
assert.EqualValues(t, 4, h6Prev.ID)
|
||||
|
||||
|
||||
@@ -898,6 +898,16 @@ func DeleteReview(ctx context.Context, r *Review) error {
|
||||
return err
|
||||
}
|
||||
|
||||
opts = FindCommentsOptions{
|
||||
Type: CommentTypeDismissReview,
|
||||
IssueID: r.IssueID,
|
||||
ReviewID: r.ID,
|
||||
}
|
||||
|
||||
if _, err := sess.Where(opts.ToConds()).Delete(new(Comment)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err := sess.ID(r.ID).Delete(new(Review)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
"code.gitea.io/gitea/models/unittest"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
|
||||
@@ -258,3 +259,32 @@ func TestDeleteReview(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, review1.Official)
|
||||
}
|
||||
|
||||
func TestDeleteDismissedReview(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
|
||||
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID})
|
||||
review, err := issues_model.CreateReview(db.DefaultContext, issues_model.CreateReviewOptions{
|
||||
Content: "reject",
|
||||
Type: issues_model.ReviewTypeReject,
|
||||
Official: false,
|
||||
Issue: issue,
|
||||
Reviewer: user,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.NoError(t, issues_model.DismissReview(db.DefaultContext, review, true))
|
||||
comment, err := issues_model.CreateComment(db.DefaultContext, &issues_model.CreateCommentOptions{
|
||||
Type: issues_model.CommentTypeDismissReview,
|
||||
Doer: user,
|
||||
Repo: repo,
|
||||
Issue: issue,
|
||||
ReviewID: review.ID,
|
||||
Content: "dismiss",
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: comment.ID})
|
||||
assert.NoError(t, issues_model.DeleteReview(db.DefaultContext, review))
|
||||
unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID})
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -311,6 +311,18 @@ func GetProjectByID(ctx context.Context, id int64) (*Project, error) {
|
||||
return p, nil
|
||||
}
|
||||
|
||||
// GetProjectForRepoByID returns the projects in a repository
|
||||
func GetProjectForRepoByID(ctx context.Context, repoID, id int64) (*Project, error) {
|
||||
p := new(Project)
|
||||
has, err := db.GetEngine(ctx).Where("id=? AND repo_id=?", id, repoID).Get(p)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrProjectNotExist{ID: id}
|
||||
}
|
||||
return p, nil
|
||||
}
|
||||
|
||||
// UpdateProject updates project properties
|
||||
func UpdateProject(ctx context.Context, p *Project) error {
|
||||
if !IsCardTypeValid(p.CardType) {
|
||||
|
||||
@@ -207,6 +207,21 @@ func GetReleaseByID(ctx context.Context, id int64) (*Release, error) {
|
||||
return rel, nil
|
||||
}
|
||||
|
||||
// GetReleaseForRepoByID returns release with given ID.
|
||||
func GetReleaseForRepoByID(ctx context.Context, repoID, id int64) (*Release, error) {
|
||||
rel := new(Release)
|
||||
has, err := db.GetEngine(ctx).
|
||||
Where("id=? AND repo_id=?", id, repoID).
|
||||
Get(rel)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrReleaseNotExist{id, ""}
|
||||
}
|
||||
|
||||
return rel, nil
|
||||
}
|
||||
|
||||
// FindReleasesOptions describes the conditions to Find releases
|
||||
type FindReleasesOptions struct {
|
||||
db.ListOptions
|
||||
|
||||
@@ -652,12 +652,12 @@ func AccessibleRepositoryCondition(user *user_model.User, unitType unit.Type) bu
|
||||
userOrgTeamUnitRepoCond("`repository`.id", user.ID, unitType),
|
||||
)
|
||||
}
|
||||
cond = cond.Or(
|
||||
// 4. Repositories that we directly own
|
||||
builder.Eq{"`repository`.owner_id": user.ID},
|
||||
// 4. Repositories that we directly own
|
||||
cond = cond.Or(builder.Eq{"`repository`.owner_id": user.ID})
|
||||
if !user.IsRestricted {
|
||||
// 5. Be able to see all public repos in private organizations that we are an org_user of
|
||||
userOrgPublicRepoCond(user.ID),
|
||||
)
|
||||
cond = cond.Or(userOrgPublicRepoCond(user.ID))
|
||||
}
|
||||
}
|
||||
|
||||
return cond
|
||||
@@ -716,7 +716,7 @@ func FindUserCodeAccessibleOwnerRepoIDs(ctx context.Context, ownerID int64, user
|
||||
}
|
||||
|
||||
// GetUserRepositories returns a list of repositories of given user.
|
||||
func GetUserRepositories(opts *SearchRepoOptions) (RepositoryList, int64, error) {
|
||||
func GetUserRepositories(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error) {
|
||||
if len(opts.OrderBy) == 0 {
|
||||
opts.OrderBy = "updated_unix DESC"
|
||||
}
|
||||
@@ -734,7 +734,7 @@ func GetUserRepositories(opts *SearchRepoOptions) (RepositoryList, int64, error)
|
||||
cond = cond.And(builder.In("lower_name", opts.LowerNames))
|
||||
}
|
||||
|
||||
sess := db.GetEngine(db.DefaultContext)
|
||||
sess := db.GetEngine(ctx)
|
||||
|
||||
count, err := sess.Where(cond).Count(new(Repository))
|
||||
if err != nil {
|
||||
|
||||
@@ -115,24 +115,26 @@ func (d *dbConfigCachedGetter) GetValue(ctx context.Context, key string) (v stri
|
||||
|
||||
func (d *dbConfigCachedGetter) GetRevision(ctx context.Context) int {
|
||||
d.mu.RLock()
|
||||
defer d.mu.RUnlock()
|
||||
if time.Since(d.cacheTime) < time.Second {
|
||||
return d.revision
|
||||
cachedDuration := time.Since(d.cacheTime)
|
||||
cachedRevision := d.revision
|
||||
d.mu.RUnlock()
|
||||
|
||||
if cachedDuration < time.Second {
|
||||
return cachedRevision
|
||||
}
|
||||
|
||||
d.mu.Lock()
|
||||
defer d.mu.Unlock()
|
||||
if GetRevision(ctx) != d.revision {
|
||||
d.mu.RUnlock()
|
||||
d.mu.Lock()
|
||||
rev, set, err := GetAllSettings(ctx)
|
||||
if err != nil {
|
||||
log.Error("Unable to get all settings: %v", err)
|
||||
} else {
|
||||
d.cacheTime = time.Now()
|
||||
d.revision = rev
|
||||
d.settings = set
|
||||
}
|
||||
d.mu.Unlock()
|
||||
d.mu.RLock()
|
||||
}
|
||||
d.cacheTime = time.Now()
|
||||
return d.revision
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,15 @@ func AssertExistsAndLoadMap(t assert.TestingT, table string, conditions ...any)
|
||||
// GetCount get the count of a bean
|
||||
func GetCount(t assert.TestingT, bean any, conditions ...any) int {
|
||||
e := db.GetEngine(db.DefaultContext)
|
||||
count, err := whereOrderConditions(e, conditions).Count(bean)
|
||||
for _, condition := range conditions {
|
||||
switch cond := condition.(type) {
|
||||
case *testCond:
|
||||
e = e.Where(cond.query, cond.args...)
|
||||
default:
|
||||
e = e.Where(cond)
|
||||
}
|
||||
}
|
||||
count, err := e.Count(bean)
|
||||
assert.NoError(t, err)
|
||||
return int(count)
|
||||
}
|
||||
|
||||
@@ -392,39 +392,40 @@ func CreateWebhooks(ctx context.Context, ws []*Webhook) error {
|
||||
return db.Insert(ctx, ws)
|
||||
}
|
||||
|
||||
// getWebhook uses argument bean as query condition,
|
||||
// ID must be specified and do not assign unnecessary fields.
|
||||
func getWebhook(bean *Webhook) (*Webhook, error) {
|
||||
has, err := db.GetEngine(db.DefaultContext).Get(bean)
|
||||
// GetWebhookByID returns webhook of repository by given ID.
|
||||
func GetWebhookByID(ctx context.Context, id int64) (*Webhook, error) {
|
||||
bean := new(Webhook)
|
||||
has, err := db.GetEngine(ctx).ID(id).Get(bean)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrWebhookNotExist{ID: bean.ID}
|
||||
return nil, ErrWebhookNotExist{ID: id}
|
||||
}
|
||||
return bean, nil
|
||||
}
|
||||
|
||||
// GetWebhookByID returns webhook of repository by given ID.
|
||||
func GetWebhookByID(id int64) (*Webhook, error) {
|
||||
return getWebhook(&Webhook{
|
||||
ID: id,
|
||||
})
|
||||
}
|
||||
|
||||
// GetWebhookByRepoID returns webhook of repository by given ID.
|
||||
func GetWebhookByRepoID(repoID, id int64) (*Webhook, error) {
|
||||
return getWebhook(&Webhook{
|
||||
ID: id,
|
||||
RepoID: repoID,
|
||||
})
|
||||
func GetWebhookByRepoID(ctx context.Context, repoID, id int64) (*Webhook, error) {
|
||||
webhook := new(Webhook)
|
||||
has, err := db.GetEngine(ctx).Where("id=? AND repo_id=?", id, repoID).Get(webhook)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrWebhookNotExist{ID: id}
|
||||
}
|
||||
return webhook, nil
|
||||
}
|
||||
|
||||
// GetWebhookByOwnerID returns webhook of a user or organization by given ID.
|
||||
func GetWebhookByOwnerID(ownerID, id int64) (*Webhook, error) {
|
||||
return getWebhook(&Webhook{
|
||||
ID: id,
|
||||
OwnerID: ownerID,
|
||||
})
|
||||
func GetWebhookByOwnerID(ctx context.Context, ownerID, id int64) (*Webhook, error) {
|
||||
webhook := new(Webhook)
|
||||
has, err := db.GetEngine(ctx).Where("id=? AND owner_id=?", id, ownerID).Get(webhook)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrWebhookNotExist{ID: id}
|
||||
}
|
||||
return webhook, nil
|
||||
}
|
||||
|
||||
// ListWebhookOptions are options to filter webhooks on ListWebhooksByOpts
|
||||
@@ -482,20 +483,20 @@ func UpdateWebhookLastStatus(w *Webhook) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// deleteWebhook uses argument bean as query condition,
|
||||
// DeleteWebhookByID uses argument bean as query condition,
|
||||
// ID must be specified and do not assign unnecessary fields.
|
||||
func deleteWebhook(bean *Webhook) (err error) {
|
||||
ctx, committer, err := db.TxContext(db.DefaultContext)
|
||||
func DeleteWebhookByID(ctx context.Context, id int64) (err error) {
|
||||
ctx, committer, err := db.TxContext(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer committer.Close()
|
||||
|
||||
if count, err := db.DeleteByBean(ctx, bean); err != nil {
|
||||
if count, err := db.DeleteByID(ctx, id, new(Webhook)); err != nil {
|
||||
return err
|
||||
} else if count == 0 {
|
||||
return ErrWebhookNotExist{ID: bean.ID}
|
||||
} else if _, err = db.DeleteByBean(ctx, &HookTask{HookID: bean.ID}); err != nil {
|
||||
return ErrWebhookNotExist{ID: id}
|
||||
} else if _, err = db.DeleteByBean(ctx, &HookTask{HookID: id}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -503,17 +504,17 @@ func deleteWebhook(bean *Webhook) (err error) {
|
||||
}
|
||||
|
||||
// DeleteWebhookByRepoID deletes webhook of repository by given ID.
|
||||
func DeleteWebhookByRepoID(repoID, id int64) error {
|
||||
return deleteWebhook(&Webhook{
|
||||
ID: id,
|
||||
RepoID: repoID,
|
||||
})
|
||||
func DeleteWebhookByRepoID(ctx context.Context, repoID, id int64) error {
|
||||
if _, err := GetWebhookByRepoID(ctx, repoID, id); err != nil {
|
||||
return err
|
||||
}
|
||||
return DeleteWebhookByID(ctx, id)
|
||||
}
|
||||
|
||||
// DeleteWebhookByOwnerID deletes webhook of a user or organization by given ID.
|
||||
func DeleteWebhookByOwnerID(ownerID, id int64) error {
|
||||
return deleteWebhook(&Webhook{
|
||||
ID: id,
|
||||
OwnerID: ownerID,
|
||||
})
|
||||
func DeleteWebhookByOwnerID(ctx context.Context, ownerID, id int64) error {
|
||||
if _, err := GetWebhookByOwnerID(ctx, ownerID, id); err != nil {
|
||||
return err
|
||||
}
|
||||
return DeleteWebhookByID(ctx, id)
|
||||
}
|
||||
|
||||
@@ -101,22 +101,22 @@ func TestCreateWebhook(t *testing.T) {
|
||||
|
||||
func TestGetWebhookByRepoID(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
hook, err := GetWebhookByRepoID(1, 1)
|
||||
hook, err := GetWebhookByRepoID(db.DefaultContext, 1, 1)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(1), hook.ID)
|
||||
|
||||
_, err = GetWebhookByRepoID(unittest.NonexistentID, unittest.NonexistentID)
|
||||
_, err = GetWebhookByRepoID(db.DefaultContext, unittest.NonexistentID, unittest.NonexistentID)
|
||||
assert.Error(t, err)
|
||||
assert.True(t, IsErrWebhookNotExist(err))
|
||||
}
|
||||
|
||||
func TestGetWebhookByOwnerID(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
hook, err := GetWebhookByOwnerID(3, 3)
|
||||
hook, err := GetWebhookByOwnerID(db.DefaultContext, 3, 3)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, int64(3), hook.ID)
|
||||
|
||||
_, err = GetWebhookByOwnerID(unittest.NonexistentID, unittest.NonexistentID)
|
||||
_, err = GetWebhookByOwnerID(db.DefaultContext, unittest.NonexistentID, unittest.NonexistentID)
|
||||
assert.Error(t, err)
|
||||
assert.True(t, IsErrWebhookNotExist(err))
|
||||
}
|
||||
@@ -174,10 +174,10 @@ func TestUpdateWebhook(t *testing.T) {
|
||||
func TestDeleteWebhookByRepoID(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
unittest.AssertExistsAndLoadBean(t, &Webhook{ID: 2, RepoID: 1})
|
||||
assert.NoError(t, DeleteWebhookByRepoID(1, 2))
|
||||
assert.NoError(t, DeleteWebhookByRepoID(db.DefaultContext, 1, 2))
|
||||
unittest.AssertNotExistsBean(t, &Webhook{ID: 2, RepoID: 1})
|
||||
|
||||
err := DeleteWebhookByRepoID(unittest.NonexistentID, unittest.NonexistentID)
|
||||
err := DeleteWebhookByRepoID(db.DefaultContext, unittest.NonexistentID, unittest.NonexistentID)
|
||||
assert.Error(t, err)
|
||||
assert.True(t, IsErrWebhookNotExist(err))
|
||||
}
|
||||
@@ -185,10 +185,10 @@ func TestDeleteWebhookByRepoID(t *testing.T) {
|
||||
func TestDeleteWebhookByOwnerID(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
unittest.AssertExistsAndLoadBean(t, &Webhook{ID: 3, OwnerID: 3})
|
||||
assert.NoError(t, DeleteWebhookByOwnerID(3, 3))
|
||||
assert.NoError(t, DeleteWebhookByOwnerID(db.DefaultContext, 3, 3))
|
||||
unittest.AssertNotExistsBean(t, &Webhook{ID: 3, OwnerID: 3})
|
||||
|
||||
err := DeleteWebhookByOwnerID(unittest.NonexistentID, unittest.NonexistentID)
|
||||
err := DeleteWebhookByOwnerID(db.DefaultContext, unittest.NonexistentID, unittest.NonexistentID)
|
||||
assert.Error(t, err)
|
||||
assert.True(t, IsErrWebhookNotExist(err))
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/auth"
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
"code.gitea.io/gitea/models/unit"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
@@ -205,32 +204,6 @@ func (ctx *APIContext) SetLinkHeader(total, pageSize int) {
|
||||
}
|
||||
}
|
||||
|
||||
// CheckForOTP validates OTP
|
||||
func (ctx *APIContext) CheckForOTP() {
|
||||
if skip, ok := ctx.Data["SkipLocalTwoFA"]; ok && skip.(bool) {
|
||||
return // Skip 2FA
|
||||
}
|
||||
|
||||
otpHeader := ctx.Req.Header.Get("X-Gitea-OTP")
|
||||
twofa, err := auth.GetTwoFactorByUID(ctx, ctx.Doer.ID)
|
||||
if err != nil {
|
||||
if auth.IsErrTwoFactorNotEnrolled(err) {
|
||||
return // No 2FA enrollment for this user
|
||||
}
|
||||
ctx.Error(http.StatusInternalServerError, "GetTwoFactorByUID", err)
|
||||
return
|
||||
}
|
||||
ok, err := twofa.ValidateTOTP(otpHeader)
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "ValidateTOTP", err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
ctx.Error(http.StatusUnauthorized, "", nil)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// APIContexter returns apicontext as middleware
|
||||
func APIContexter() func(http.Handler) http.Handler {
|
||||
return func(next http.Handler) http.Handler {
|
||||
|
||||
@@ -157,7 +157,6 @@ func Contexter() func(next http.Handler) http.Handler {
|
||||
ctx.Data["Context"] = ctx // TODO: use "ctx" in template and remove this
|
||||
ctx.Data["CurrentURL"] = setting.AppSubURL + req.URL.RequestURI()
|
||||
ctx.Data["Link"] = ctx.Link
|
||||
ctx.Data["locale"] = ctx.Locale
|
||||
|
||||
// PageData is passed by reference, and it will be rendered to `window.config.pageData` in `head.tmpl` for JavaScript modules
|
||||
ctx.PageData = map[string]any{}
|
||||
|
||||
@@ -560,6 +560,7 @@ func RepoAssignment(ctx *Context) context.CancelFunc {
|
||||
ctx.Data["CanWriteCode"] = ctx.Repo.CanWrite(unit_model.TypeCode)
|
||||
ctx.Data["CanWriteIssues"] = ctx.Repo.CanWrite(unit_model.TypeIssues)
|
||||
ctx.Data["CanWritePulls"] = ctx.Repo.CanWrite(unit_model.TypePullRequests)
|
||||
ctx.Data["CanWriteActions"] = ctx.Repo.CanWrite(unit_model.TypeActions)
|
||||
|
||||
canSignedUserFork, err := repo_module.CanUserForkRepo(ctx, ctx.Doer, ctx.Repo.Repository)
|
||||
if err != nil {
|
||||
|
||||
@@ -6,6 +6,7 @@ package doctor
|
||||
import (
|
||||
"context"
|
||||
|
||||
actions_model "code.gitea.io/gitea/models/actions"
|
||||
activities_model "code.gitea.io/gitea/models/activities"
|
||||
"code.gitea.io/gitea/models/db"
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
@@ -151,6 +152,12 @@ func checkDBConsistency(ctx context.Context, logger log.Logger, autofix bool) er
|
||||
Fixer: activities_model.FixActionCreatedUnixString,
|
||||
FixedMessage: "Set to zero",
|
||||
},
|
||||
{
|
||||
Name: "Action Runners without existing owner",
|
||||
Counter: actions_model.CountRunnersWithoutBelongingOwner,
|
||||
Fixer: actions_model.FixRunnersWithoutBelongingOwner,
|
||||
FixedMessage: "Removed",
|
||||
},
|
||||
}
|
||||
|
||||
// TODO: function to recalc all counters
|
||||
|
||||
70
modules/doctor/repository.go
Normal file
70
modules/doctor/repository.go
Normal file
@@ -0,0 +1,70 @@
|
||||
// Copyright 2023 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package doctor
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
repo_service "code.gitea.io/gitea/services/repository"
|
||||
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
||||
func handleDeleteOrphanedRepos(ctx context.Context, logger log.Logger, autofix bool) error {
|
||||
test := &consistencyCheck{
|
||||
Name: "Repos with no existing owner",
|
||||
Counter: countOrphanedRepos,
|
||||
Fixer: deleteOrphanedRepos,
|
||||
FixedMessage: "Deleted all content related to orphaned repos",
|
||||
}
|
||||
return test.Run(ctx, logger, autofix)
|
||||
}
|
||||
|
||||
// countOrphanedRepos count repository where user of owner_id do not exist
|
||||
func countOrphanedRepos(ctx context.Context) (int64, error) {
|
||||
return db.CountOrphanedObjects(ctx, "repository", "user", "repository.owner_id=`user`.id")
|
||||
}
|
||||
|
||||
// deleteOrphanedRepos delete repository where user of owner_id do not exist
|
||||
func deleteOrphanedRepos(ctx context.Context) (int64, error) {
|
||||
batchSize := db.MaxBatchInsertSize("repository")
|
||||
e := db.GetEngine(ctx)
|
||||
var deleted int64
|
||||
adminUser := &user_model.User{IsAdmin: true}
|
||||
|
||||
for {
|
||||
var ids []int64
|
||||
if err := e.Table("`repository`").
|
||||
Join("LEFT", "`user`", "repository.owner_id=`user`.id").
|
||||
Where(builder.IsNull{"`user`.id"}).
|
||||
Select("`repository`.id").Limit(batchSize).Find(&ids); err != nil {
|
||||
return deleted, err
|
||||
}
|
||||
|
||||
// if we don't get ids we have deleted them all
|
||||
if len(ids) == 0 {
|
||||
return deleted, nil
|
||||
}
|
||||
|
||||
for _, id := range ids {
|
||||
if err := repo_service.DeleteRepositoryDirectly(ctx, adminUser, 0, id, true); err != nil {
|
||||
return deleted, err
|
||||
}
|
||||
deleted++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
Register(&Check{
|
||||
Title: "Deleted all content related to orphaned repos",
|
||||
Name: "delete-orphaned-repos",
|
||||
IsDefault: false,
|
||||
Run: handleDeleteOrphanedRepos,
|
||||
Priority: 4,
|
||||
})
|
||||
}
|
||||
@@ -7,12 +7,17 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"syscall"
|
||||
"time"
|
||||
)
|
||||
|
||||
// NewDialContext returns a DialContext for Transport, the DialContext will do allow/block list check
|
||||
func NewDialContext(usage string, allowList, blockList *HostMatchList) func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
return NewDialContextWithProxy(usage, allowList, blockList, nil)
|
||||
}
|
||||
|
||||
func NewDialContextWithProxy(usage string, allowList, blockList *HostMatchList, proxy *url.URL) func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
// How Go HTTP Client works with redirection:
|
||||
// transport.RoundTrip URL=http://domain.com, Host=domain.com
|
||||
// transport.DialContext addrOrHost=domain.com:80
|
||||
@@ -26,11 +31,18 @@ func NewDialContext(usage string, allowList, blockList *HostMatchList) func(ctx
|
||||
Timeout: 30 * time.Second,
|
||||
KeepAlive: 30 * time.Second,
|
||||
|
||||
Control: func(network, ipAddr string, c syscall.RawConn) (err error) {
|
||||
var host string
|
||||
if host, _, err = net.SplitHostPort(addrOrHost); err != nil {
|
||||
Control: func(network, ipAddr string, c syscall.RawConn) error {
|
||||
host, port, err := net.SplitHostPort(addrOrHost)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if proxy != nil {
|
||||
// Always allow the host of the proxy, but only on the specified port.
|
||||
if host == proxy.Hostname() && port == proxy.Port() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// in Control func, the addr was already resolved to IP:PORT format, there is no cost to do ResolveTCPAddr here
|
||||
tcpAddr, err := net.ResolveTCPAddr(network, ipAddr)
|
||||
if err != nil {
|
||||
|
||||
@@ -204,12 +204,13 @@ func getIssueIndexerQueueHandler(ctx context.Context) func(items ...*IndexerMeta
|
||||
func populateIssueIndexer(ctx context.Context) {
|
||||
ctx, _, finished := process.GetManager().AddTypedContext(ctx, "Service: PopulateIssueIndexer", process.SystemProcessType, true)
|
||||
defer finished()
|
||||
if err := PopulateIssueIndexer(ctx, true); err != nil {
|
||||
ctx = contextWithKeepRetry(ctx) // keep retrying since it's a background task
|
||||
if err := PopulateIssueIndexer(ctx); err != nil {
|
||||
log.Error("Issue indexer population failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func PopulateIssueIndexer(ctx context.Context, keepRetrying bool) error {
|
||||
func PopulateIssueIndexer(ctx context.Context) error {
|
||||
for page := 1; ; page++ {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
@@ -232,20 +233,8 @@ func PopulateIssueIndexer(ctx context.Context, keepRetrying bool) error {
|
||||
}
|
||||
|
||||
for _, repo := range repos {
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return fmt.Errorf("shutdown before completion: %w", ctx.Err())
|
||||
default:
|
||||
}
|
||||
if err := updateRepoIndexer(ctx, repo.ID); err != nil {
|
||||
if keepRetrying && ctx.Err() == nil {
|
||||
log.Warn("Retry to populate issue indexer for repo %d: %v", repo.ID, err)
|
||||
continue
|
||||
}
|
||||
return fmt.Errorf("populate issue indexer for repo %d: %v", repo.ID, err)
|
||||
}
|
||||
break
|
||||
if err := updateRepoIndexer(ctx, repo.ID); err != nil {
|
||||
return fmt.Errorf("populate issue indexer for repo %d: %v", repo.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -259,8 +248,8 @@ func UpdateRepoIndexer(ctx context.Context, repoID int64) {
|
||||
}
|
||||
|
||||
// UpdateIssueIndexer add/update an issue to the issue indexer
|
||||
func UpdateIssueIndexer(issueID int64) {
|
||||
if err := updateIssueIndexer(issueID); err != nil {
|
||||
func UpdateIssueIndexer(ctx context.Context, issueID int64) {
|
||||
if err := updateIssueIndexer(ctx, issueID); err != nil {
|
||||
log.Error("Unable to push issue %d to issue indexer: %v", issueID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,15 +127,15 @@ func updateRepoIndexer(ctx context.Context, repoID int64) error {
|
||||
return fmt.Errorf("issue_model.GetIssueIDsByRepoID: %w", err)
|
||||
}
|
||||
for _, id := range ids {
|
||||
if err := updateIssueIndexer(id); err != nil {
|
||||
if err := updateIssueIndexer(ctx, id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func updateIssueIndexer(issueID int64) error {
|
||||
return pushIssueIndexerQueue(&IndexerMetadata{ID: issueID})
|
||||
func updateIssueIndexer(ctx context.Context, issueID int64) error {
|
||||
return pushIssueIndexerQueue(ctx, &IndexerMetadata{ID: issueID})
|
||||
}
|
||||
|
||||
func deleteRepoIssueIndexer(ctx context.Context, repoID int64) error {
|
||||
@@ -148,13 +148,21 @@ func deleteRepoIssueIndexer(ctx context.Context, repoID int64) error {
|
||||
if len(ids) == 0 {
|
||||
return nil
|
||||
}
|
||||
return pushIssueIndexerQueue(&IndexerMetadata{
|
||||
return pushIssueIndexerQueue(ctx, &IndexerMetadata{
|
||||
IDs: ids,
|
||||
IsDelete: true,
|
||||
})
|
||||
}
|
||||
|
||||
func pushIssueIndexerQueue(data *IndexerMetadata) error {
|
||||
type keepRetryKey struct{}
|
||||
|
||||
// contextWithKeepRetry returns a context with a key indicating that the indexer should keep retrying.
|
||||
// Please note that it's for background tasks only, and it should not be used for user requests, or it may cause blocking.
|
||||
func contextWithKeepRetry(ctx context.Context) context.Context {
|
||||
return context.WithValue(ctx, keepRetryKey{}, true)
|
||||
}
|
||||
|
||||
func pushIssueIndexerQueue(ctx context.Context, data *IndexerMetadata) error {
|
||||
if issueIndexerQueue == nil {
|
||||
// Some unit tests will trigger indexing, but the queue is not initialized.
|
||||
// It's OK to ignore it, but log a warning message in case it's not a unit test.
|
||||
@@ -162,12 +170,26 @@ func pushIssueIndexerQueue(data *IndexerMetadata) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
err := issueIndexerQueue.Push(data)
|
||||
if errors.Is(err, queue.ErrAlreadyInQueue) {
|
||||
return nil
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return ctx.Err()
|
||||
default:
|
||||
}
|
||||
err := issueIndexerQueue.Push(data)
|
||||
if errors.Is(err, queue.ErrAlreadyInQueue) {
|
||||
return nil
|
||||
}
|
||||
if errors.Is(err, context.DeadlineExceeded) { // the queue is full
|
||||
log.Warn("It seems that issue indexer is slow and the queue is full. Please check the issue indexer or increase the queue size.")
|
||||
if ctx.Value(keepRetryKey{}) == nil {
|
||||
return err
|
||||
}
|
||||
// It will be better to increase the queue size instead of retrying, but users may ignore the previous warning message.
|
||||
// However, even it retries, it may still cause index loss when there's a deadline in the context.
|
||||
log.Debug("Retry to push %+v to issue indexer queue", data)
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
if errors.Is(err, context.DeadlineExceeded) {
|
||||
log.Warn("It seems that issue indexer is slow and the queue is full. Please check the issue indexer or increase the queue size.")
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ var (
|
||||
// well as the HTML5 spec:
|
||||
// http://spec.commonmark.org/0.28/#email-address
|
||||
// https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type%3Demail)
|
||||
emailRegex = regexp.MustCompile("(?:\\s|^|\\(|\\[)([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9]{2,}(?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)(?:\\s|$|\\)|\\]|\\.(\\s|$))")
|
||||
emailRegex = regexp.MustCompile("(?:\\s|^|\\(|\\[)([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9]{2,}(?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)(?:\\s|$|\\)|\\]|;|,|\\?|!|\\.(\\s|$))")
|
||||
|
||||
// blackfriday extensions create IDs like fn:user-content-footnote
|
||||
blackfridayExtRegex = regexp.MustCompile(`[^:]*:user-content-`)
|
||||
|
||||
@@ -264,6 +264,18 @@ func TestRender_email(t *testing.T) {
|
||||
"send email to info@gitea.co.uk.",
|
||||
`<p>send email to <a href="mailto:info@gitea.co.uk" rel="nofollow">info@gitea.co.uk</a>.</p>`)
|
||||
|
||||
test(
|
||||
`j.doe@example.com,
|
||||
j.doe@example.com.
|
||||
j.doe@example.com;
|
||||
j.doe@example.com?
|
||||
j.doe@example.com!`,
|
||||
`<p><a href="mailto:j.doe@example.com" rel="nofollow">j.doe@example.com</a>,<br/>
|
||||
<a href="mailto:j.doe@example.com" rel="nofollow">j.doe@example.com</a>.<br/>
|
||||
<a href="mailto:j.doe@example.com" rel="nofollow">j.doe@example.com</a>;<br/>
|
||||
<a href="mailto:j.doe@example.com" rel="nofollow">j.doe@example.com</a>?<br/>
|
||||
<a href="mailto:j.doe@example.com" rel="nofollow">j.doe@example.com</a>!</p>`)
|
||||
|
||||
// Test that should *not* be turned into email links
|
||||
test(
|
||||
"\"info@gitea.com\"",
|
||||
|
||||
@@ -32,7 +32,7 @@ func NewHashedBuffer() (*HashedBuffer, error) {
|
||||
return NewHashedBufferWithSize(DefaultMemorySize)
|
||||
}
|
||||
|
||||
// NewHashedBuffer creates a hashed buffer with a specific memory size
|
||||
// NewHashedBufferWithSize creates a hashed buffer with a specific memory size
|
||||
func NewHashedBufferWithSize(maxMemorySize int) (*HashedBuffer, error) {
|
||||
b, err := filebuffer.New(maxMemorySize)
|
||||
if err != nil {
|
||||
|
||||
@@ -46,7 +46,7 @@ CONN_STR = redis://
|
||||
assert.Equal(t, "default", q.GetName())
|
||||
assert.Equal(t, "level", q.GetType())
|
||||
assert.Equal(t, filepath.Join(setting.AppDataPath, "queues/common"), q.baseConfig.DataFullDir)
|
||||
assert.Equal(t, 100, q.baseConfig.Length)
|
||||
assert.Equal(t, 100000, q.baseConfig.Length)
|
||||
assert.Equal(t, 20, q.batchLength)
|
||||
assert.Equal(t, "", q.baseConfig.ConnStr)
|
||||
assert.Equal(t, "default_queue", q.baseConfig.QueueFullName)
|
||||
|
||||
@@ -13,7 +13,7 @@ var Attachment = struct {
|
||||
}{
|
||||
Storage: &Storage{},
|
||||
AllowedTypes: ".csv,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip",
|
||||
MaxSize: 4,
|
||||
MaxSize: 2048,
|
||||
MaxFiles: 5,
|
||||
Enabled: true,
|
||||
}
|
||||
|
||||
@@ -149,8 +149,9 @@ func EnvironmentToConfig(cfg ConfigProvider, envs []string) (changed bool) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
key := section.Key(keyName)
|
||||
key := ConfigSectionKey(section, keyName)
|
||||
if key == nil {
|
||||
changed = true
|
||||
key, err = section.NewKey(keyName, keyValue)
|
||||
if err != nil {
|
||||
log.Error("Error creating key: %s in section: %s with value: %s : %v", keyName, sectionName, keyValue, err)
|
||||
|
||||
@@ -115,3 +115,29 @@ key = old
|
||||
EnvironmentToConfig(cfg, []string{"GITEA__sec__key__FILE=" + tmpFile})
|
||||
assert.Equal(t, "value-from-file\n", cfg.Section("sec").Key("key").String())
|
||||
}
|
||||
|
||||
func TestEnvironmentToConfigSubSecKey(t *testing.T) {
|
||||
// the INI package has a quirk: by default, the keys are inherited.
|
||||
// when maintaining the keys, the newly added sub key should not be affected by the parent key.
|
||||
cfg, err := NewConfigProviderFromData(`
|
||||
[sec]
|
||||
key = some
|
||||
`)
|
||||
assert.NoError(t, err)
|
||||
|
||||
changed := EnvironmentToConfig(cfg, []string{"GITEA__sec_0X2E_sub__key=some"})
|
||||
assert.True(t, changed)
|
||||
|
||||
tmpFile := t.TempDir() + "/test-sub-sec-key.ini"
|
||||
defer os.Remove(tmpFile)
|
||||
err = cfg.SaveTo(tmpFile)
|
||||
assert.NoError(t, err)
|
||||
bs, err := os.ReadFile(tmpFile)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, `[sec]
|
||||
key = some
|
||||
|
||||
[sec.sub]
|
||||
key = some
|
||||
`, string(bs))
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ package setting
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"os"
|
||||
"path"
|
||||
@@ -108,7 +109,7 @@ func DBConnStr() (string, error) {
|
||||
connStr = fmt.Sprintf("%s:%s@%s(%s)/%s%scharset=%s&parseTime=true&tls=%s",
|
||||
Database.User, Database.Passwd, connType, Database.Host, Database.Name, paramSep, Database.MysqlCharset, tls)
|
||||
case "postgres":
|
||||
connStr = getPostgreSQLConnectionString(Database.Host, Database.User, Database.Passwd, Database.Name, paramSep, Database.SSLMode)
|
||||
connStr = getPostgreSQLConnectionString(Database.Host, Database.User, Database.Passwd, Database.Name, Database.SSLMode)
|
||||
case "mssql":
|
||||
host, port := ParseMSSQLHostPort(Database.Host)
|
||||
connStr = fmt.Sprintf("server=%s; port=%s; database=%s; user id=%s; password=%s;", host, port, Database.Name, Database.User, Database.Passwd)
|
||||
@@ -135,15 +136,18 @@ func DBConnStr() (string, error) {
|
||||
// parsePostgreSQLHostPort parses given input in various forms defined in
|
||||
// https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING
|
||||
// and returns proper host and port number.
|
||||
func parsePostgreSQLHostPort(info string) (string, string) {
|
||||
host, port := "127.0.0.1", "5432"
|
||||
if strings.Contains(info, ":") && !strings.HasSuffix(info, "]") {
|
||||
idx := strings.LastIndex(info, ":")
|
||||
host = info[:idx]
|
||||
port = info[idx+1:]
|
||||
} else if len(info) > 0 {
|
||||
func parsePostgreSQLHostPort(info string) (host, port string) {
|
||||
if h, p, err := net.SplitHostPort(info); err == nil {
|
||||
host, port = h, p
|
||||
} else {
|
||||
// treat the "info" as "host", if it's an IPv6 address, remove the wrapper
|
||||
host = info
|
||||
if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") {
|
||||
host = host[1 : len(host)-1]
|
||||
}
|
||||
}
|
||||
|
||||
// set fallback values
|
||||
if host == "" {
|
||||
host = "127.0.0.1"
|
||||
}
|
||||
@@ -153,16 +157,25 @@ func parsePostgreSQLHostPort(info string) (string, string) {
|
||||
return host, port
|
||||
}
|
||||
|
||||
func getPostgreSQLConnectionString(dbHost, dbUser, dbPasswd, dbName, dbParam, dbsslMode string) (connStr string) {
|
||||
func getPostgreSQLConnectionString(dbHost, dbUser, dbPasswd, dbName, dbsslMode string) (connStr string) {
|
||||
dbName, dbParam, _ := strings.Cut(dbName, "?")
|
||||
host, port := parsePostgreSQLHostPort(dbHost)
|
||||
if host[0] == '/' { // looks like a unix socket
|
||||
connStr = fmt.Sprintf("postgres://%s:%s@:%s/%s%ssslmode=%s&host=%s",
|
||||
url.PathEscape(dbUser), url.PathEscape(dbPasswd), port, dbName, dbParam, dbsslMode, host)
|
||||
} else {
|
||||
connStr = fmt.Sprintf("postgres://%s:%s@%s:%s/%s%ssslmode=%s",
|
||||
url.PathEscape(dbUser), url.PathEscape(dbPasswd), host, port, dbName, dbParam, dbsslMode)
|
||||
connURL := url.URL{
|
||||
Scheme: "postgres",
|
||||
User: url.UserPassword(dbUser, dbPasswd),
|
||||
Host: net.JoinHostPort(host, port),
|
||||
Path: dbName,
|
||||
OmitHost: false,
|
||||
RawQuery: dbParam,
|
||||
}
|
||||
return connStr
|
||||
query := connURL.Query()
|
||||
if dbHost[0] == '/' { // looks like a unix socket
|
||||
query.Add("host", dbHost)
|
||||
connURL.Host = ":" + port
|
||||
}
|
||||
query.Set("sslmode", dbsslMode)
|
||||
connURL.RawQuery = query.Encode()
|
||||
return connURL.String()
|
||||
}
|
||||
|
||||
// ParseMSSQLHostPort splits the host into host and port
|
||||
|
||||
@@ -10,84 +10,88 @@ import (
|
||||
)
|
||||
|
||||
func Test_parsePostgreSQLHostPort(t *testing.T) {
|
||||
tests := []struct {
|
||||
tests := map[string]struct {
|
||||
HostPort string
|
||||
Host string
|
||||
Port string
|
||||
}{
|
||||
{
|
||||
"host-port": {
|
||||
HostPort: "127.0.0.1:1234",
|
||||
Host: "127.0.0.1",
|
||||
Port: "1234",
|
||||
},
|
||||
{
|
||||
"no-port": {
|
||||
HostPort: "127.0.0.1",
|
||||
Host: "127.0.0.1",
|
||||
Port: "5432",
|
||||
},
|
||||
{
|
||||
"ipv6-port": {
|
||||
HostPort: "[::1]:1234",
|
||||
Host: "[::1]",
|
||||
Host: "::1",
|
||||
Port: "1234",
|
||||
},
|
||||
{
|
||||
"ipv6-no-port": {
|
||||
HostPort: "[::1]",
|
||||
Host: "[::1]",
|
||||
Host: "::1",
|
||||
Port: "5432",
|
||||
},
|
||||
{
|
||||
"unix-socket": {
|
||||
HostPort: "/tmp/pg.sock:1234",
|
||||
Host: "/tmp/pg.sock",
|
||||
Port: "1234",
|
||||
},
|
||||
{
|
||||
"unix-socket-no-port": {
|
||||
HostPort: "/tmp/pg.sock",
|
||||
Host: "/tmp/pg.sock",
|
||||
Port: "5432",
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
host, port := parsePostgreSQLHostPort(test.HostPort)
|
||||
assert.Equal(t, test.Host, host)
|
||||
assert.Equal(t, test.Port, port)
|
||||
for k, test := range tests {
|
||||
t.Run(k, func(t *testing.T) {
|
||||
t.Log(test.HostPort)
|
||||
host, port := parsePostgreSQLHostPort(test.HostPort)
|
||||
assert.Equal(t, test.Host, host)
|
||||
assert.Equal(t, test.Port, port)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_getPostgreSQLConnectionString(t *testing.T) {
|
||||
tests := []struct {
|
||||
Host string
|
||||
Port string
|
||||
User string
|
||||
Passwd string
|
||||
Name string
|
||||
Param string
|
||||
SSLMode string
|
||||
Output string
|
||||
}{
|
||||
{
|
||||
Host: "/tmp/pg.sock",
|
||||
Port: "4321",
|
||||
User: "testuser",
|
||||
Passwd: "space space !#$%^^%^```-=?=",
|
||||
Name: "gitea",
|
||||
Param: "",
|
||||
SSLMode: "false",
|
||||
Output: "postgres://testuser:space%20space%20%21%23$%25%5E%5E%25%5E%60%60%60-=%3F=@:5432/giteasslmode=false&host=/tmp/pg.sock",
|
||||
Output: "postgres://testuser:space%20space%20%21%23$%25%5E%5E%25%5E%60%60%60-=%3F=@:5432/gitea?host=%2Ftmp%2Fpg.sock&sslmode=false",
|
||||
},
|
||||
{
|
||||
Host: "localhost",
|
||||
Port: "1234",
|
||||
User: "pgsqlusername",
|
||||
Passwd: "I love Gitea!",
|
||||
Name: "gitea",
|
||||
Param: "",
|
||||
SSLMode: "true",
|
||||
Output: "postgres://pgsqlusername:I%20love%20Gitea%21@localhost:5432/giteasslmode=true",
|
||||
Output: "postgres://pgsqlusername:I%20love%20Gitea%21@localhost:5432/gitea?sslmode=true",
|
||||
},
|
||||
{
|
||||
Host: "localhost:1234",
|
||||
User: "user",
|
||||
Passwd: "pass",
|
||||
Name: "gitea?param=1",
|
||||
Output: "postgres://user:pass@localhost:1234/gitea?param=1&sslmode=",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
connStr := getPostgreSQLConnectionString(test.Host, test.User, test.Passwd, test.Name, test.Param, test.SSLMode)
|
||||
connStr := getPostgreSQLConnectionString(test.Host, test.User, test.Passwd, test.Name, test.SSLMode)
|
||||
assert.Equal(t, test.Output, connStr)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ func GetQueueSettings(rootCfg ConfigProvider, name string) (QueueSettings, error
|
||||
queueSettingsDefault := QueueSettings{
|
||||
Type: "level", // dummy, channel, level, redis
|
||||
Datadir: "queues/common", // relative to AppDataPath
|
||||
Length: 100, // queue length before a channel queue will block
|
||||
Length: 100000, // queue length before a channel queue will block
|
||||
|
||||
QueueName: "_queue",
|
||||
SetName: "_unique",
|
||||
|
||||
@@ -184,7 +184,7 @@ var (
|
||||
Enabled: true,
|
||||
TempPath: "data/tmp/uploads",
|
||||
AllowedTypes: "",
|
||||
FileMaxSize: 3,
|
||||
FileMaxSize: 50,
|
||||
MaxFiles: 5,
|
||||
},
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ type Package struct {
|
||||
Type string `json:"type"`
|
||||
Name string `json:"name"`
|
||||
Version string `json:"version"`
|
||||
HTMLURL string `json:"html_url"`
|
||||
// swagger:strfmt date-time
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
}
|
||||
|
||||
@@ -74,27 +74,31 @@ func ActionIcon(opType activities_model.ActionType) string {
|
||||
switch opType {
|
||||
case activities_model.ActionCreateRepo, activities_model.ActionTransferRepo, activities_model.ActionRenameRepo:
|
||||
return "repo"
|
||||
case activities_model.ActionCommitRepo, activities_model.ActionPushTag, activities_model.ActionDeleteTag, activities_model.ActionDeleteBranch:
|
||||
case activities_model.ActionCommitRepo:
|
||||
return "git-commit"
|
||||
case activities_model.ActionCreateIssue:
|
||||
return "issue-opened"
|
||||
case activities_model.ActionCreatePullRequest:
|
||||
return "git-pull-request"
|
||||
case activities_model.ActionCommentIssue, activities_model.ActionCommentPull:
|
||||
return "comment-discussion"
|
||||
case activities_model.ActionDeleteBranch:
|
||||
return "git-branch"
|
||||
case activities_model.ActionMergePullRequest, activities_model.ActionAutoMergePullRequest:
|
||||
return "git-merge"
|
||||
case activities_model.ActionCloseIssue, activities_model.ActionClosePullRequest:
|
||||
case activities_model.ActionCreatePullRequest:
|
||||
return "git-pull-request"
|
||||
case activities_model.ActionClosePullRequest:
|
||||
return "git-pull-request-closed"
|
||||
case activities_model.ActionCreateIssue:
|
||||
return "issue-opened"
|
||||
case activities_model.ActionCloseIssue:
|
||||
return "issue-closed"
|
||||
case activities_model.ActionReopenIssue, activities_model.ActionReopenPullRequest:
|
||||
return "issue-reopened"
|
||||
case activities_model.ActionCommentIssue, activities_model.ActionCommentPull:
|
||||
return "comment-discussion"
|
||||
case activities_model.ActionMirrorSyncPush, activities_model.ActionMirrorSyncCreate, activities_model.ActionMirrorSyncDelete:
|
||||
return "mirror"
|
||||
case activities_model.ActionApprovePullRequest:
|
||||
return "check"
|
||||
case activities_model.ActionRejectPullRequest:
|
||||
return "diff"
|
||||
case activities_model.ActionPublishRelease:
|
||||
return "file-diff"
|
||||
case activities_model.ActionPublishRelease, activities_model.ActionPushTag, activities_model.ActionDeleteTag:
|
||||
return "tag"
|
||||
case activities_model.ActionPullReviewDismissed:
|
||||
return "x"
|
||||
|
||||
@@ -179,7 +179,7 @@ func RenderLabel(ctx context.Context, label *issues_model.Label) template.HTML {
|
||||
|
||||
s := fmt.Sprintf("<span class='ui label scope-parent' title='%s'>"+
|
||||
"<div class='ui label scope-left' style='color: %s !important; background-color: %s !important'>%s</div>"+
|
||||
"<div class='ui label scope-right' style='color: %s !important; background-color: %s !important''>%s</div>"+
|
||||
"<div class='ui label scope-right' style='color: %s !important; background-color: %s !important'>%s</div>"+
|
||||
"</span>",
|
||||
description,
|
||||
textColor, scopeColor, scopeText,
|
||||
|
||||
@@ -136,6 +136,10 @@ func (r *Route) Get(pattern string, h ...any) {
|
||||
r.Methods("GET", pattern, h...)
|
||||
}
|
||||
|
||||
func (r *Route) Options(pattern string, h ...any) {
|
||||
r.Methods("OPTIONS", pattern, h...)
|
||||
}
|
||||
|
||||
// GetOptions delegate get and options method
|
||||
func (r *Route) GetOptions(pattern string, h ...any) {
|
||||
r.Methods("GET,OPTIONS", pattern, h...)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -353,7 +353,6 @@ code_last_indexed_at = Last indexed %s
|
||||
relevant_repositories_tooltip = Repositories that are forks or that have no topic, no icon, and no description are hidden.
|
||||
relevant_repositories = Only relevant repositories are being shown, <a href="%s">show unfiltered results</a>.
|
||||
|
||||
|
||||
[auth]
|
||||
create_new_account = Register Account
|
||||
register_helper_msg = Already have an account? Sign in now!
|
||||
@@ -855,7 +854,7 @@ oauth2_client_secret_hint = The secret will not be shown again after you leave o
|
||||
oauth2_application_edit = Edit
|
||||
oauth2_application_create_description = OAuth2 applications gives your third-party application access to user accounts on this instance.
|
||||
oauth2_application_remove_description = Removing an OAuth2 application will prevent it from accessing authorized user accounts on this instance. Continue?
|
||||
oauth2_application_locked = Gitea pre-registers some OAuth2 applications on startup if enabled in config. To prevent unexpected bahavior, these can neither be edited nor removed. Please refer to the OAuth2 documentation for more information.
|
||||
oauth2_application_locked = Gitea pre-registers some OAuth2 applications on startup if enabled in config. To prevent unexpected behavior, these can neither be edited nor removed. Please refer to the OAuth2 documentation for more information.
|
||||
|
||||
authorized_oauth2_applications = Authorized OAuth2 Applications
|
||||
authorized_oauth2_applications_description = You have granted access to your personal Gitea account to these third party applications. Please revoke access for applications you no longer need.
|
||||
@@ -923,7 +922,7 @@ visibility.private = Private
|
||||
visibility.private_tooltip = Visible only to members of organizations you have joined
|
||||
|
||||
[repo]
|
||||
new_repo_helper = A repository contains all project files, including revision history. Already hosting one elsewhere? <a href="%s">Migrate repository.</a>
|
||||
new_repo_helper = A repository contains all project files, including revision history. Already hosting one elsewhere? <a href="%s">Migrate repository.</a>
|
||||
owner = Owner
|
||||
owner_helper = Some organizations may not show up in the dropdown due to a maximum repository count limit.
|
||||
repo_name = Repository Name
|
||||
@@ -1018,18 +1017,16 @@ tree_path_not_found_branch = Path %[1]s doesn't exist in branch %[2]s
|
||||
tree_path_not_found_tag = Path %[1]s doesn't exist in tag %[2]s
|
||||
|
||||
transfer.accept = Accept Transfer
|
||||
transfer.accept_desc = Transfer to "%s"
|
||||
transfer.accept_desc = Transfer to "%s"
|
||||
transfer.reject = Reject Transfer
|
||||
transfer.reject_desc = Cancel transfer to "%s"
|
||||
transfer.reject_desc = Cancel transfer to "%s"
|
||||
transfer.no_permission_to_accept = You do not have permission to accept this transfer.
|
||||
transfer.no_permission_to_reject = You do not have permission to reject this transfer.
|
||||
|
||||
desc.private = Private
|
||||
desc.public = Public
|
||||
desc.private_template = Private template
|
||||
desc.public_template = Template
|
||||
desc.template = Template
|
||||
desc.internal = Internal
|
||||
desc.internal_template = Internal template
|
||||
desc.archived = Archived
|
||||
|
||||
template.items = Template Items
|
||||
@@ -1156,7 +1153,7 @@ releases = Releases
|
||||
tag = Tag
|
||||
released_this = released this
|
||||
tagged_this = tagged this
|
||||
file.title = %s at %s
|
||||
file.title = %s at %s
|
||||
file_raw = Raw
|
||||
file_history = History
|
||||
file_view_source = View Source
|
||||
@@ -2502,7 +2499,6 @@ release.releases_for = Releases for %s
|
||||
release.tags_for = Tags for %s
|
||||
|
||||
branch.name = Branch Name
|
||||
branch.search = Search branches
|
||||
branch.already_exists = A branch named "%s" already exists.
|
||||
branch.delete_head = Delete
|
||||
branch.delete = Delete Branch "%s"
|
||||
@@ -2880,6 +2876,7 @@ packages.package_manage_panel = Package Management
|
||||
packages.total_size = Total Size: %s
|
||||
packages.unreferenced_size = Unreferenced Size: %s
|
||||
packages.cleanup = Clean up expired data
|
||||
packages.cleanup.success = Cleaned up expired data successfully
|
||||
packages.owner = Owner
|
||||
packages.creator = Creator
|
||||
packages.name = Name
|
||||
@@ -3171,8 +3168,8 @@ monitor.start = Start Time
|
||||
monitor.execute_time = Execution Time
|
||||
monitor.last_execution_result = Result
|
||||
monitor.process.cancel = Cancel process
|
||||
monitor.process.cancel_desc = Cancelling a process may cause data loss
|
||||
monitor.process.cancel_notices = Cancel: <strong>%s</strong>?
|
||||
monitor.process.cancel_desc = Cancelling a process may cause data loss
|
||||
monitor.process.cancel_notices = Cancel: <strong>%s</strong>?
|
||||
monitor.process.children = Children
|
||||
|
||||
monitor.queues = Queues
|
||||
@@ -3236,7 +3233,7 @@ mirror_sync_create = synced new reference <a href="%[2]s">%[3]s</a> to <a href="
|
||||
mirror_sync_delete = synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
|
||||
approve_pull_request = `approved <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reject_pull_request = `suggested changes for <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
publish_release = `released <a href="%[2]s"> "%[4]s" </a> at <a href="%[1]s">%[3]s</a>`
|
||||
publish_release = `released <a href="%[2]s"> "%[4]s" </a> at <a href="%[1]s">%[3]s</a>`
|
||||
review_dismissed = `dismissed review from <b>%[4]s</b> for <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
review_dismissed_reason = Reason:
|
||||
create_branch = created branch <a href="%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
|
||||
@@ -3529,7 +3526,11 @@ runs.status = Status
|
||||
runs.actors_no_select = All actors
|
||||
runs.status_no_select = All status
|
||||
runs.no_results = No results matched.
|
||||
runs.no_workflows = There are no workflows yet.
|
||||
runs.no_workflows.quick_start = Don't know how to start with Gitea Action? See <a target="_blank" rel="noopener noreferrer" href="%s">the quick start guide</a>.
|
||||
runs.no_workflows.documentation = For more information on the Gitea Action, see <a target="_blank" rel="noopener noreferrer" href="%s">the documentation</a>.
|
||||
runs.no_runs = The workflow has no runs yet.
|
||||
runs.empty_commit_message = (empty commit message)
|
||||
|
||||
workflow.disable = Disable Workflow
|
||||
workflow.disable_success = Workflow '%s' disabled successfully.
|
||||
@@ -3562,7 +3563,7 @@ type-3.display_name = Organization Project
|
||||
|
||||
[git.filemode]
|
||||
changed_filemode = %[1]s → %[2]s
|
||||
# Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
|
||||
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
|
||||
directory = Directory
|
||||
normal_file = Normal file
|
||||
executable_file = Executable file
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,6 @@ signed_in_as=ورود به عنوان
|
||||
toc=فهرست محتویات
|
||||
licenses=گواهینامه ها
|
||||
return_to_gitea=بازگشت به Gitea
|
||||
|
||||
username=نام کاربری
|
||||
email=آدرس ایمیل
|
||||
password=رمز عبور
|
||||
@@ -31,8 +30,6 @@ captcha=کپچا
|
||||
twofa=احراز هویت دوگانه
|
||||
twofa_scratch=کد احراز هویت
|
||||
passcode=رمز عبور
|
||||
|
||||
|
||||
repository=مخزن
|
||||
organization=سازمان
|
||||
mirror=قرینه
|
||||
@@ -49,18 +46,15 @@ settings=تنظيمات
|
||||
your_profile=نمایه
|
||||
your_starred=ستارهدار
|
||||
your_settings=تنظيمات
|
||||
|
||||
all=همه
|
||||
sources=منابع
|
||||
mirrors=قرینهها
|
||||
collaborative=همکاری
|
||||
forks=انشعابها
|
||||
|
||||
activities=فعالیتها
|
||||
pull_requests=درخواست ادغام
|
||||
issues=مسائل
|
||||
milestones=نقاط عطف
|
||||
|
||||
ok=باشه
|
||||
cancel=انصراف
|
||||
save=ذخیره
|
||||
@@ -69,37 +63,25 @@ add_all=افزودن همه
|
||||
remove=حذف
|
||||
remove_all=حذف همه
|
||||
edit=ویرایش
|
||||
|
||||
enabled=فعال شده
|
||||
disabled=غیرفعال شده
|
||||
|
||||
copy=کپی
|
||||
copy_url=کپی URL
|
||||
copy_branch=کپی نام شاخه
|
||||
copy_success=کپی شد!
|
||||
copy_error=کپی ناموفق
|
||||
|
||||
write=نوشتن
|
||||
preview=پیش نمایش
|
||||
loading=بارگذاری…
|
||||
|
||||
step1=مرحله ۱:
|
||||
step2=مرحله ۲:
|
||||
|
||||
error=خطا
|
||||
error404=صفحه موردنظر شما یا <strong>وجود ندارد</strong> یا <strong>شما دسترسی کافی</strong> برای مشاهده آن را ندارید.
|
||||
|
||||
never=هرگز
|
||||
|
||||
|
||||
|
||||
|
||||
concept_code_repository=مخزن
|
||||
concept_user_organization=سازمان
|
||||
|
||||
|
||||
|
||||
name=نام
|
||||
archived=بایگانی شده
|
||||
|
||||
[aria]
|
||||
|
||||
@@ -149,7 +131,6 @@ err_empty_admin_email=رایانامه (ایمیل) مدیر نمی تواند
|
||||
err_admin_name_is_reserved=نام کاربری مدیر اشتباه است. نام کاربری قبلا استفاده شده است
|
||||
err_admin_name_pattern_not_allowed=نام کاربری مدیر اشتباه است. نام کاربری قبلا استفاده شده است
|
||||
err_admin_name_is_invalid=نام کابری مدیر اشتباه است
|
||||
|
||||
general_title=تنظیمات عمومی
|
||||
app_name=عنوان سایت
|
||||
app_name_helper=شما می توانید نام شرکت خود را در اینجا وارد کنید.
|
||||
@@ -168,7 +149,6 @@ app_url=آدرس پایه گیتی
|
||||
app_url_helper=آدرس پایه برای URLهای اجماع HTTP(S) و هشدار های رایانامه (ایمیل).
|
||||
log_root_path=مسیر گزارشها
|
||||
log_root_path_helper=فایلهای گزارش روی این مسیر ذخیره خواهند شد.
|
||||
|
||||
optional_title=تنظیمات اختیاری
|
||||
email_title=تنظیمات ایمیل
|
||||
smtp_addr=میزبان SMTP
|
||||
@@ -237,19 +217,16 @@ view_home=نمایش %s
|
||||
search_repos=یافتن مخزن…
|
||||
filter=فیلترهای دیگر
|
||||
filter_by_team_repositories=فیلتر کردن با مخازن تیمها
|
||||
feed_of=`خوراک از "%s"`
|
||||
|
||||
feed_of=خوراک از "%s"
|
||||
show_archived=بایگانی شده
|
||||
archived=بایگانی شده
|
||||
show_both_archived_unarchived=نمایش دادن موارد بایگانی شده و غیر بایگانی نشده
|
||||
show_only_archived=نمایش دادن موارد بایگانی شده
|
||||
show_only_unarchived=نمایش دادن موارد بایگانی نشده
|
||||
|
||||
show_private=خصوصی
|
||||
show_both_private_public=نماش دادن موارد عمومی و خصوصی
|
||||
show_only_private=نماش دادن موارد خصوصی
|
||||
show_only_public=نمایش دادن موارد عمومی
|
||||
|
||||
issues.in_your_repos=در مخازن شما
|
||||
|
||||
[explore]
|
||||
@@ -266,7 +243,6 @@ org_no_results=سازمانی مطابق با این مورد یافت نشد.
|
||||
code_no_results=کد منبعی مطابق با جستجوی شما یافت نشد.
|
||||
code_last_indexed_at=آخرین به روزرسانی در %s
|
||||
|
||||
|
||||
[auth]
|
||||
create_new_account=نامنویسی حساب کاربری
|
||||
register_helper_msg=قبلا ثبت نام کردید؟ از اینجا وارد شوید!
|
||||
@@ -329,30 +305,23 @@ password_pwned_err=برقراری ارتباط با HaveIBeenPwend ممکن نی
|
||||
view_it_on=در %s مشاهده کنید
|
||||
link_not_working_do_paste=کار نمیکنی؟ کپی کردن و چسباندن در مرورگرتان را امتحان کنید.
|
||||
hi_user_x=سلام <b>%s</b>
|
||||
|
||||
activate_account=لطفا حساب خود را فعال کنید
|
||||
activate_account.title=%s، لطفاً حساب خود را فعال کنید
|
||||
activate_account.text_1=سلام <b>%[1]s</b>، ممنون بهخاطر عضویت در %[2]s!
|
||||
activate_account.text_2=لطفاً روی پیوند زیر کلیک کنید تا حساب خود را در <b>%s</b> فعال کنید:
|
||||
|
||||
activate_email=نشانی ایمیل خود را تایید کنید
|
||||
activate_email.text=لطفاً روی پیوند زیر کلیک کنید تا رایانامهی خود را در <b>%s</b> تأیید کنید:
|
||||
|
||||
register_notify=به گیتی یا گیتگو خوش آمدید
|
||||
register_notify.title=%[1]s، به %[2]s خوشآمدید
|
||||
register_notify.text_1=این رایانامهی تأیید عضویت شما در %s است!
|
||||
register_notify.text_2=حالا شما میتوانید با نام کاربری وارد شوید: %s.
|
||||
register_notify.text_3=اگر این حساب برای شما ایجاد شده، لطفاً ابتدا <a href="%s">گذرواژهی خود را تنظیم کنید</a>.
|
||||
|
||||
reset_password=حساب خود را دوباره فعال کنید
|
||||
reset_password.title=%s، شما برای بازیابی حسابتان درخواست کردهاید
|
||||
reset_password.text=لطفاً روی پیوند زیر کلیک کنید تا حساب خود را در <b>%s</b> بازیابی کنید:
|
||||
|
||||
register_success=ثبتنام با موفقیت انجام شد
|
||||
|
||||
issue_assigned.pull=@%[1]s به شما برای درخواست pull %[2]s در ریپازیتوری %[3]s محول شده.
|
||||
issue_assigned.issue=@%[1]s به شما واگذار شده است برای صدور %[2]s در انبار %[3]s.
|
||||
|
||||
issue.x_mentioned_you=<b>@%s</b> به شما اشاره کرد:
|
||||
issue.action.force_push=<b>%[1]s</b> مجبور به پوش شدن <b>%[2]s</b> از %[3]s به %[4]s.
|
||||
issue.action.push_1=<b>@%[1]s</b> پوش شده %[3]d سپرده شد به %[2]s
|
||||
@@ -367,7 +336,6 @@ issue.action.review_dismissed=<b>@%[1]s</b> آخرین بررسی را رد کر
|
||||
issue.action.ready_for_review=<b>@%[1]s</b> این درخواست pull علامت زده شد برای بازنگری.
|
||||
issue.action.new=<b>@%[1]s</b> ساخته شد #%[2]d.
|
||||
issue.in_tree_path=در %s:
|
||||
|
||||
release.new.subject=%s در %s منتشر شده است
|
||||
release.new.text=<b>@%[1]s</b> منتشر شد %[2]s در %[3]s
|
||||
release.title=عنوان: %s
|
||||
@@ -375,16 +343,13 @@ release.note=توجه:
|
||||
release.downloads=بارگیریها:
|
||||
release.download.zip=کد منبع (ZIP)
|
||||
release.download.targz=کد منبع (TAR.GZ)
|
||||
|
||||
repo.transfer.subject_to=%s میخواهد "%s" را به %s منتقل کند
|
||||
repo.transfer.subject_to_you=%s میخواهد %s را به شما منتقل کند
|
||||
repo.transfer.to_you=شما
|
||||
repo.transfer.body=برای تایید یا رد آن %s را ببینید یا فقط بیخیالش شوید.
|
||||
|
||||
repo.collaborator.added.subject=%s شما را به پروژه %s اضافه کرد
|
||||
repo.collaborator.added.text=شما به عنوان مشارکتکننده در این مخزن اضافه شدید:
|
||||
|
||||
|
||||
[modal]
|
||||
yes=بله
|
||||
no=خیر
|
||||
@@ -403,32 +368,28 @@ PayloadUrl=نشانی Payload
|
||||
TeamName=نام تیم
|
||||
AuthName=نام احراز هویت
|
||||
AdminEmail=ایمیل مدیر
|
||||
|
||||
NewBranchName=نام شاخهی جدید
|
||||
CommitSummary=خلاصه ی کامیت
|
||||
CommitMessage=پیام کامیت
|
||||
CommitChoice=انتخاب کامیت
|
||||
TreeName=مسیر پرونده
|
||||
Content=محتوا
|
||||
|
||||
SSPISeparatorReplacement=جدا کننده
|
||||
SSPIDefaultLanguage=زبان پیش فرض
|
||||
|
||||
require_error=` نمی تواند خالی باشد.`
|
||||
require_error=" نمی تواند خالی باشد."
|
||||
alpha_dash_error=باید فقط عدد و الفبایی، فاصله باشد ('-') و کاراکتر خط تیره پایین ('_').
|
||||
alpha_dash_dot_error=باید فقط عدد و الفبایی، فاصله باشد ('-') و کاراکتر خط تیره پایین ('_') و نقطه ('.')
|
||||
git_ref_name_error=باید یک نام مرجع کاملاً شکل یافته Git باشد.
|
||||
size_error=` باید به اندازه %s باشد.`
|
||||
min_size_error=` حداقل باید شامل %s کاراکتر باشد.`
|
||||
max_size_error=` حداکثر باید شامل %s کاراکتر باشد.`
|
||||
email_error=` ساختار نشانی ایمیل صحیح نیست.`
|
||||
glob_pattern_error=`الگوی قطرهای (glob) نامعتبر است: %s.`
|
||||
size_error=" باید به اندازه %s باشد."
|
||||
min_size_error=" حداقل باید شامل %s کاراکتر باشد."
|
||||
max_size_error=" حداکثر باید شامل %s کاراکتر باشد."
|
||||
email_error=" ساختار نشانی ایمیل صحیح نیست."
|
||||
glob_pattern_error=الگوی قطرهای (glob) نامعتبر است: %s.
|
||||
regex_pattern_error=الگو عبارت باقاعده نامعتبر است: %s
|
||||
unknown_error=خطای ناشناخته:
|
||||
captcha_incorrect=کد امنیتی اشتباه است.
|
||||
password_not_match=گذرواژهها باید یکسان باشند.
|
||||
lang_select_error=انتخاب یک زبان از فهرست.
|
||||
|
||||
username_been_taken=این نام کاربری قبلا ثبت شده است.
|
||||
username_change_not_local_user=کاربران غیر بومی مجاز به تغییر نامکاربری نیستند.
|
||||
repo_name_been_taken=نام مخزن قبلا ثبت شده است.
|
||||
@@ -457,13 +418,10 @@ user_not_exist=کاربر وجود ندارد.
|
||||
team_not_exist=تیم وجود ندارد.
|
||||
last_org_owner=شما نمیتوانید تنها کاربر را از تیم "صاحبان" حذف کنید. حداقل یک صاحب باید در یک سازمان وجود داشته باشد.
|
||||
cannot_add_org_to_team=یک سازمان را نمی توان به عنوان عضو تیم اضافه کرد.
|
||||
|
||||
invalid_ssh_key=کلید SSH شما تأیید نشد: %s
|
||||
invalid_gpg_key=کلید GPG شما تأیید نشد: %s
|
||||
invalid_ssh_principal=تطبیق نامعتبر: %s
|
||||
auth_failed=تشخیص هویت ناموفق: %v
|
||||
|
||||
|
||||
target_branch_not_exist=شاخه مورد نظر وجود ندارد.
|
||||
|
||||
[user]
|
||||
@@ -481,7 +439,6 @@ unfollow=عدم دنبال کردن
|
||||
user_bio=زندگینامه
|
||||
disabled_public_activity=این کاربر نمایش عمومی فعالیت های خود را غیرفعال کرده است.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=نمایه
|
||||
account=حساب کاربری
|
||||
@@ -498,7 +455,6 @@ delete=حذف حساب کاربری
|
||||
twofa=احراز هویت دوگانه
|
||||
account_link=حسابهای مرتبط
|
||||
organization=سازمان ها
|
||||
|
||||
public_profile=نمایه عمومی
|
||||
password_username_disabled=حسابهای غیر محلی مجاز به تغییر نام کاربری نیستند. لطفا با مدیر سایت در ارتباط باشید.
|
||||
full_name=نام کامل
|
||||
@@ -517,7 +473,6 @@ ui=پوسته
|
||||
comment_type_group_title=عنوان
|
||||
privacy=حریم خصوصی
|
||||
keep_activity_private_popup=نمایان ساختن فعالیت ها برای شما و مدیران
|
||||
|
||||
lookup_avatar_by_mail=جست و جو آواتار توسط نشانی ایمیل
|
||||
federated_avatar_lookup=جستجو برای آواتار مشترک
|
||||
enable_custom_avatar=استفاده از آواتار دلخواه
|
||||
@@ -527,14 +482,12 @@ delete_current_avatar=حذف آواتار فعلی
|
||||
uploaded_avatar_not_a_image=فایل بارگذاری شده تصویر نمیباشد.
|
||||
update_avatar_success=آواتار شما تغییر کرد.
|
||||
update_user_avatar_success=آواتار کاربر بروز رسانی شده است.
|
||||
|
||||
change_password=تغییر گذرواژه
|
||||
old_password=گذارواژه فعلی
|
||||
new_password=گذرواژه جدید
|
||||
password_incorrect=گذرواژه فعلی شما اشتباه است.
|
||||
change_password_success=گذرواژه شما تغییر کرد. از این پس با گذرواژه جدید خود وارد شوید.
|
||||
password_change_disabled=کاربران غیر محلی نمیتوانند گذرواژه خود را از طریق واسط وب گیتی به روز کنند.
|
||||
|
||||
emails=نشانیهای ایمیل
|
||||
manage_emails=مدیریت نشانیهای ایمیل
|
||||
manage_themes=تم پیش فرض را انتخاب کنید
|
||||
@@ -564,7 +517,6 @@ email_preference_set_success=تنظیمات ایمیل با موفقیت اعم
|
||||
add_openid_success=نشانی OpenID اضافه شد.
|
||||
keep_email_private=مخفی کردن نشانی ایمیل
|
||||
openid_desc=OpenID به شما امکان می دهد احراز هویت را به یک ارائه دهنده خارجی واگذار کنید.
|
||||
|
||||
manage_ssh_keys=مدیریت کلیدهای اساساچ
|
||||
manage_ssh_principals=گواهیهای SSH اصلی را مدیریت کنید
|
||||
manage_gpg_keys=مدیریت کلید GPG
|
||||
@@ -630,7 +582,6 @@ ssh_disabled=SSH غیر فعل شد
|
||||
ssh_externally_managed=کلید ssh به صورت بیرونی برای این یوزر مدیریت می شود
|
||||
manage_social=مدیریت حساب های اجتماعی مرتبط
|
||||
unbind=لغو ارتباط
|
||||
|
||||
manage_access_token=مدیریت توکن های دسترسی
|
||||
generate_new_token=تولید توکن جدید
|
||||
tokens_desc=این token قابلیت دسترسی به اکانت شما را توسط API میدهد.
|
||||
@@ -644,7 +595,6 @@ access_token_deletion_cancel_action=انصراف
|
||||
access_token_deletion_confirm_action=حذف
|
||||
delete_token_success=token مورد نظر حذف شد. برنامه هایی که از آن استفاده میکنند به زودی دسترسی به حساب کاربری شما را از دست میدهند.
|
||||
permission_read=خواندن
|
||||
|
||||
manage_oauth2_applications=مدیریت برنامههای OAuth2
|
||||
edit_oauth2_application=ویرایش برنامه OAuth2
|
||||
oauth2_applications_desc=برنامههای OAuth2 احراز هویت برنامه های شخص ثالث را با بستری امن میسر میکند.
|
||||
@@ -661,12 +611,10 @@ oauth2_regenerate_secret=تولید دوباره کلمه امن
|
||||
oauth2_regenerate_secret_hint=کلمه امن خود را فراموش کرده اید؟
|
||||
oauth2_application_edit=ويرايش
|
||||
oauth2_application_create_description=برنامههای OAuth2 این امکان را به برنامههای شخص ثالث میدهد یک نمونه از دسترسی به حساب کاربری شما داشته باشد.
|
||||
|
||||
authorized_oauth2_applications=برنامه OAuth2 تایید شد
|
||||
revoke_key=ابطال
|
||||
revoke_oauth2_grant=ابطال دسترسی
|
||||
revoke_oauth2_grant_description=لغو دسترسی برای این برنامه شخص ثالث از دسترسی این برنامه به داده های شما جلوگیری می کند. شما مطمئن هستید؟
|
||||
|
||||
twofa_desc=احراز هویت دو مرحله ای امنیت حساب شما را افزایش میدهد.
|
||||
twofa_is_enrolled=احراز هویت دو مرحله ای برای حساب شما <strong>اجرا</strong>میشود.
|
||||
twofa_not_enrolled=حساب کاربری شما اکنون احراز هویت دو مرحله ای ندارد.
|
||||
@@ -683,8 +631,6 @@ then_enter_passcode=و کد ورود نمایش داده شده در درخوا
|
||||
passcode_invalid=کد ورود نامعتبر است. مجددا تلاش نمایید.
|
||||
twofa_enrolled=ورود به حسابت کاربری دو مرحله ای فعال شد. لطفا token خود را (%s) نگهداری کنید. لذا فقط یک بار نمایش داده میشود!
|
||||
twofa_failed_get_secret=خطا در دریافت رمز.
|
||||
|
||||
|
||||
manage_account_links=مدیریت حساب های مرتبط شده
|
||||
manage_account_links_desc=این حساب های خارجی به حساب Gitea ارتباط دارد.
|
||||
account_links_not_available=اکنون دیگر هیچ پیوند حسابهای کاربری خارجی به حساب کاربری شما وجود ندارد.
|
||||
@@ -692,22 +638,17 @@ link_account=پیوند به حساب
|
||||
remove_account_link=حذف حساب پیوند خرده
|
||||
remove_account_link_desc=با حذف پیوند خارجی حساب کاربری دسترسی شما به حساب کابریتان توسط آن از بین میرود. آیا ادامه میدهید؟
|
||||
remove_account_link_success=پیوند حساب کاربری از حذف شد.
|
||||
|
||||
|
||||
orgs_none=شما عضو هیچ سازمانی نیستید.
|
||||
|
||||
delete_account=حذف حساب کاربری
|
||||
delete_prompt=این عملیات بهطور کامل حساب کاربری شما و محتوای آن را حذف میکند و <strong> غیرقابلبازگشت </strong>میباشد.
|
||||
delete_with_all_comments=حساب جوانتر از %s است. برای پیشگیری از یادداشت روح همه کامنتهای مسألهها و PRها، همراهش حذف خواهد شد.
|
||||
confirm_delete_account=تاییدیه حذف
|
||||
delete_account_title=حذف حساب کاربری
|
||||
delete_account_desc=آیا شما مطمئن هستید که میخواهیدحساب کاربری خود را حذف کنید؟
|
||||
|
||||
email_notifications.enable=فعالسازی اعلانهای ایمیل
|
||||
email_notifications.onmention=فقط یادآوری توسط ایمیل
|
||||
email_notifications.disable=غیرفعال کردن اعلانهای ایمیل
|
||||
email_notifications.submit=ثبت اولویت ایمیل
|
||||
|
||||
visibility=پدیداری کاربر
|
||||
visibility.public=عمومی
|
||||
visibility.limited=محدود شده
|
||||
@@ -789,12 +730,10 @@ delete_preexisting=حذف فایلهایی که قبلا موجود بود
|
||||
delete_preexisting_content=حذف فایلهای موجود در %s
|
||||
delete_preexisting_success=فایل های تصویب نشده پاک شده در %s
|
||||
blame_prior=قبل از این تغییر، سرزنش را مشاهده کنید
|
||||
|
||||
transfer.accept=تایید انتقال
|
||||
transfer.accept_desc=انتقال به %s
|
||||
transfer.reject=رد انتقال
|
||||
transfer.reject_desc=رد انتقال به %s
|
||||
|
||||
desc.private=خصوصی
|
||||
desc.public=عمومی
|
||||
desc.private_template=قالب خصوصی
|
||||
@@ -802,7 +741,6 @@ desc.public_template=قالب
|
||||
desc.internal=داخلی
|
||||
desc.internal_template=قالب داخلی
|
||||
desc.archived=بایگانی شده
|
||||
|
||||
template.items=موارد الگو
|
||||
template.git_content=محتوای گیت (شاخه پیش فرض)
|
||||
template.git_hooks=قلاب های گیت
|
||||
@@ -812,13 +750,10 @@ template.avatar=آواتار
|
||||
template.issue_labels=برچسبهای مسئله
|
||||
template.one_item=شما بایستی حداقل یک الگو را انتخاب کنید
|
||||
template.invalid=شما بایستی یک الگو مخزن را انتخاب کنید
|
||||
|
||||
archive.issue.nocomment=این مخزن بایگانی شده است. شما نمیتوانید در مورد مسائل اظهار نظر کنید.
|
||||
archive.pull.nocomment=این مخزن بایگانی شده. شما نمی توانید دیدگاهی بر روی این تقاضای واکشی ارسال کنید.
|
||||
|
||||
form.reach_limit_of_creation_1=شما قبلاً به بیشینه مخزن - %d - رسیدهاید.
|
||||
form.reach_limit_of_creation_n=شما قبلا به بیشینه مخزنها - %d - رسیدهاید.
|
||||
|
||||
need_auth=دسترسی
|
||||
migrate_options=تنظیمات مهاجرت
|
||||
migrate_service=سرویس مهاجرت
|
||||
@@ -863,7 +798,6 @@ migrate.migrating_labels=برچسب های مهاجرت
|
||||
migrate.migrating_releases=انتشارات مهاجرت
|
||||
migrate.migrating_issues=مشکلات مهاجرت
|
||||
migrate.migrating_pulls=مهاجرت درخواست های pull
|
||||
|
||||
mirror_from=قرینه از
|
||||
forked_from=انشعاب شده از
|
||||
generated_from=ساخته شده از
|
||||
@@ -877,19 +811,17 @@ unstar=برداشتن ستاره
|
||||
star=ستاره دار کن
|
||||
fork=انشعاب
|
||||
download_archive=دانلود مخزن
|
||||
|
||||
no_desc=بدون توضیح
|
||||
quick_guide=راهنمای سریع
|
||||
clone_this_repo=همسانسازی این مخزن
|
||||
create_new_repo_command=ایجاد یک مخزن جدید در خط فرمان
|
||||
push_exist_repo=درج تغییرات مخزن موجود از خط فرمان
|
||||
empty_message=این مخزن هنوز هیچ محتوایی ندارد.
|
||||
|
||||
code=کد
|
||||
code.desc=دسترسی به کدهای منبع، فایلها، کامیت های و شاخه ها.
|
||||
branch=شاخه
|
||||
tree=درخت
|
||||
clear_ref=`حذف مرجع فعلی`
|
||||
clear_ref=حذف مرجع فعلی
|
||||
filter_branch_and_tag=صافی شاخه یا برچسب
|
||||
find_tag=جستجوی تگ
|
||||
branches=شاخهها
|
||||
@@ -900,7 +832,6 @@ project_board=پروژهها
|
||||
labels=برچسبها
|
||||
org_labels_desc=برچسب های سطح سازمان که می توانند برای <strong>تمامی مخازن</strong> ذیل این سازمان استفاده شوند
|
||||
org_labels_desc_manage=مدیریت
|
||||
|
||||
milestones=نقاط عطف
|
||||
commits=کامیتها
|
||||
commit=کامیت
|
||||
@@ -916,7 +847,6 @@ file_view_rendered=View ارائه شده
|
||||
file_view_raw=مشاهده خام
|
||||
file_permalink=پیوند همیشگی
|
||||
file_too_large=حجم این پرونده بیشتر از آن است که قابل نمایش باشد.
|
||||
|
||||
file_copy_permalink=پرمالینک را کپی کنید
|
||||
video_not_supported_in_browser=مرورگر شما از تگ video که در HTML5 تعریف شده است، پشتیبانی نمی کند.
|
||||
audio_not_supported_in_browser=مرورگر شما از تگ audio که در HTML5 تعریف شده است، پشتیبانی نمی کند.
|
||||
@@ -932,7 +862,6 @@ download_file=دانلود فایل
|
||||
normal_view=نمایش عادی
|
||||
line=خط
|
||||
lines=خطوط
|
||||
|
||||
editor.new_file=پرونده جدید
|
||||
editor.upload_file=بارگذاری پرونده
|
||||
editor.edit_file=ویرایش پرونده
|
||||
@@ -971,7 +900,6 @@ editor.add_subdir=افزودن پوشه…
|
||||
editor.no_commit_to_branch=نمیتوان به طور مستقیم درمورد شاخه نطر داد زیرا:
|
||||
editor.user_no_push_to_branch=کاربر نمیتواند به شاخه ارسال کند
|
||||
editor.require_signed_commit=شاخه یک کامیت امضا شده لازم دارد
|
||||
|
||||
commits.desc=تاریخچه تغییرات کد منبع را مرور کنید.
|
||||
commits.commits=کامیتها
|
||||
commits.nothing_to_compare=این شاخه ها برابرند.
|
||||
@@ -987,13 +915,9 @@ commits.signed_by=امضا شده توسط
|
||||
commits.signed_by_untrusted_user=امضا شده توسط یک کاربر غیرقابل اعتماد
|
||||
commits.signed_by_untrusted_user_unmatched=امضا شده توسط یک کاربر غیرقابل اعتماد که با اعمال کننده تغییرات مطابقت ندارد
|
||||
commits.gpg_key_id=شناسه کلید GPG
|
||||
|
||||
|
||||
commitstatus.error=خطا
|
||||
commitstatus.pending=در انتظار
|
||||
|
||||
ext_issues.desc=پیوند به ردیاب خارجی برای موضوع.
|
||||
|
||||
projects=پروژهها
|
||||
projects.desc=مدیریت مشکلات و درخواستهای درج در بورد پروژه.
|
||||
projects.description=توضیحات (دلخواه)
|
||||
@@ -1019,7 +943,6 @@ projects.column.new_title=نام
|
||||
projects.column.color=رنگ
|
||||
projects.open=بازکردن
|
||||
projects.close=بستن
|
||||
|
||||
issues.desc=سازمان دهی گزارش باگ ها و وظایف و....
|
||||
issues.filter_assignees=عامل فیلتر
|
||||
issues.filter_milestones=نقطه عطف فیلتر
|
||||
@@ -1065,25 +988,25 @@ issues.add_labels=اضافه شده %s labels %s
|
||||
issues.remove_label=حذف شده %s labels %s
|
||||
issues.remove_labels=حذف شده %s labels %s
|
||||
issues.add_remove_labels=اضافه شد%s وبرداشته شد%s برچسب%s
|
||||
issues.add_milestone_at=` <b>%s</b> را به نقطه عطف %s اضافه کرد `
|
||||
issues.add_project_at=` <b>%s</b> را به پروژه %s اضافه کرد `
|
||||
issues.change_milestone_at=`عنوان نقطه عطف از <b>%s</b> به <b>%s</b> %s تغییر کرد`
|
||||
issues.change_project_at=`پروژه از <b>%s</b> به <b>%s</b> %s تغییر کرد`
|
||||
issues.remove_milestone_at=` <b>%s</b> را از نقطه عطف %s حذف شد`
|
||||
issues.remove_project_at=` <b>%s</b> را از پروژه %s حذف شد`
|
||||
issues.deleted_milestone=`(حذف شده)`
|
||||
issues.deleted_project=`(حذف شده)`
|
||||
issues.add_milestone_at=" <b>%s</b> را به نقطه عطف %s اضافه کرد "
|
||||
issues.add_project_at=" <b>%s</b> را به پروژه %s اضافه کرد "
|
||||
issues.change_milestone_at=عنوان نقطه عطف از <b>%s</b> به <b>%s</b> %s تغییر کرد
|
||||
issues.change_project_at=پروژه از <b>%s</b> به <b>%s</b> %s تغییر کرد
|
||||
issues.remove_milestone_at=" <b>%s</b> را از نقطه عطف %s حذف شد"
|
||||
issues.remove_project_at=" <b>%s</b> را از پروژه %s حذف شد"
|
||||
issues.deleted_milestone=(حذف شده)
|
||||
issues.deleted_project=(حذف شده)
|
||||
issues.self_assign_at=این %s را خود اختصاص دهید
|
||||
issues.add_assignee_at=`اختصاص داده شده توسط <b>%s</b> %s`
|
||||
issues.remove_assignee_at=`جدا شده توسط <b>%s</b> %s`
|
||||
issues.remove_self_assignment=`اینان جدا شدند: %s`
|
||||
issues.add_assignee_at=اختصاص داده شده توسط <b>%s</b> %s
|
||||
issues.remove_assignee_at=جدا شده توسط <b>%s</b> %s
|
||||
issues.remove_self_assignment=اینان جدا شدند: %s
|
||||
issues.change_title_at=تغییر عنوان از <b><strike>%s</strike></b> به <b>%s</b>%s
|
||||
issues.change_ref_at=`تغییر مرجع از <b> <strike>% s </strike> </b> به <b>% s </b>% s`
|
||||
issues.remove_ref_at=`مرجع حذف <b>% s </b>% s`
|
||||
issues.add_ref_at=`مرجع اضافه شده <b>% s </b>% s`
|
||||
issues.delete_branch_at=`حذف شاخه <b>%s</b> %s`
|
||||
issues.change_ref_at=تغییر مرجع از <b> <strike>% s </strike> </b> به <b>% s </b>% s
|
||||
issues.remove_ref_at=مرجع حذف <b>% s </b>% s
|
||||
issues.add_ref_at=مرجع اضافه شده <b>% s </b>% s
|
||||
issues.delete_branch_at=حذف شاخه <b>%s</b> %s
|
||||
issues.filter_label=برچسب
|
||||
issues.filter_label_exclude=`از<code>alt</code> + <code>click/enter</code> برای رد کردن برچسبها استفاده کنید `
|
||||
issues.filter_label_exclude="از<code>alt</code> + <code>click/enter</code> برای رد کردن برچسبها استفاده کنید "
|
||||
issues.filter_label_no_select=تمامی برچسبها
|
||||
issues.filter_milestone=نقطه عطف
|
||||
issues.filter_project_none=هیچ پروژه ثبت نشده
|
||||
@@ -1124,7 +1047,7 @@ issues.open_title=باز
|
||||
issues.closed_title=بسته شده
|
||||
issues.draft_title=پیشنویس
|
||||
issues.num_comments=%d دیدگاه
|
||||
issues.commented_at=`دیدگاه ارسال شده <a href="#%s">%s</a>`
|
||||
issues.commented_at=دیدگاه ارسال شده <a href="#%s">%s</a>
|
||||
issues.delete_comment_confirm=آیا مطمئن هستید که می خواهید این دیدگاه را حذف کنید؟
|
||||
issues.context.copy_link=رونوشت پیوند
|
||||
issues.context.quote_reply=پاسخ نقل و قول
|
||||
@@ -1135,16 +1058,16 @@ issues.close_comment_issue=ثبت دیدگاه و بستن
|
||||
issues.reopen_issue=بازگشایی
|
||||
issues.reopen_comment_issue=ثبت دیدگاه و بازگشایی
|
||||
issues.create_comment=دیدگاه
|
||||
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را بست`
|
||||
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را دوباره باز کرد`
|
||||
issues.commit_ref_at=`ارجاع این مسئله به کامیت <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s"> ارجاعات این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s"> ارجاعات این تقاضای ادغام %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s"> ارجاعات این تقاضای واکشی %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s"> تقاضای واکشی ارجاع شده %[4] که مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>`
|
||||
issues.ref_closed_from=`<a href="%[3]s"> بسته شده این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s"> بازگشایی این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`از %[1]`
|
||||
issues.closed_at=<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را بست
|
||||
issues.reopened_at=<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را دوباره باز کرد
|
||||
issues.commit_ref_at=ارجاع این مسئله به کامیت <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_issue_from=<a href="%[3]s"> ارجاعات این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_pull_from=<a href="%[3]s"> ارجاعات این تقاضای ادغام %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_closing_from=<a href="%[3]s"> ارجاعات این تقاضای واکشی %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_reopening_from=<a href="%[3]s"> تقاضای واکشی ارجاع شده %[4] که مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>
|
||||
issues.ref_closed_from=<a href="%[3]s"> بسته شده این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_reopened_from=<a href="%[3]s"> بازگشایی این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_from=از %[1]
|
||||
issues.role.owner=مالک
|
||||
issues.role.member=عضو
|
||||
issues.re_request_review=درخواست دوباره برای بازبینی
|
||||
@@ -1174,7 +1097,7 @@ issues.label.filter_sort.by_size=کوچکترین اندازه
|
||||
issues.label.filter_sort.reverse_by_size=بزرگترین اندازه
|
||||
issues.num_participants=%d مشارکت کننده
|
||||
issues.attachment.open_tab=برای مشاهده "%s" در زبانه جدید، کلیک کنید
|
||||
issues.attachment.download=`برای دریافت "%s" کلیک کنید`
|
||||
issues.attachment.download=برای دریافت "%s" کلیک کنید
|
||||
issues.subscribe=مشترک شدن
|
||||
issues.unsubscribe=لغو اشتراک
|
||||
issues.lock=قفل کردن مکالمه
|
||||
@@ -1200,30 +1123,30 @@ issues.delete=حذف
|
||||
issues.tracker=پیگیری زمان
|
||||
issues.start_tracking_short=تایمز شروع
|
||||
issues.start_tracking=شروع به پیگیری زمان
|
||||
issues.start_tracking_history=`شروع به کار %s`
|
||||
issues.start_tracking_history=شروع به کار %s
|
||||
issues.tracker_auto_close=زمانسنج به صورت خودکار متوقف میشود زمانی که مسئله بسته شود
|
||||
issues.tracking_already_started=`شما قبلا رهگیری زمان را روی این <a href="%s"> مسئله </a> آغاز کردهاید!`
|
||||
issues.tracking_already_started=شما قبلا رهگیری زمان را روی این <a href="%s"> مسئله </a> آغاز کردهاید!
|
||||
issues.stop_tracking=تایمز ایست
|
||||
issues.stop_tracking_history=`توقف کار در %s`
|
||||
issues.stop_tracking_history=توقف کار در %s
|
||||
issues.cancel_tracking=ول کردن
|
||||
issues.add_time=زمان را به صورت دستی وارد کنید
|
||||
issues.del_time=این لاگ را حذف کنید
|
||||
issues.add_time_short=افزودن زمان
|
||||
issues.add_time_cancel=انصراف
|
||||
issues.add_time_history=`زمان صرف شده اضافه شد %s`
|
||||
issues.del_time_history=`زمان صرف شده حذف شد %s`
|
||||
issues.add_time_history=زمان صرف شده اضافه شد %s
|
||||
issues.del_time_history=زمان صرف شده حذف شد %s
|
||||
issues.add_time_hours=ساعت
|
||||
issues.add_time_minutes=دقیقه
|
||||
issues.add_time_sum_to_small=هیچ زمانی وارد نشده.
|
||||
issues.time_spent_total=کل زمان صرف شده
|
||||
issues.time_spent_from_all_authors=`زمان صرف شده: %s`
|
||||
issues.time_spent_from_all_authors=زمان صرف شده: %s
|
||||
issues.due_date=موعد مقرر
|
||||
issues.invalid_due_date_format=موعد مقرر، باید به سبک 'yyyy-mm-dd' باشد.
|
||||
issues.error_modifying_due_date=تغییر موعد مقرر با شکست مواجه شد.
|
||||
issues.error_removing_due_date=حذف موعد مقرر با شکست مواجه شد.
|
||||
issues.push_commit_1=%d اعمال تغییر اضافه شده است %s
|
||||
issues.push_commits_n=%d اعمال تغییرات اضافه شده است %s
|
||||
issues.force_push_codes=`پوش شده اجباری %[1]s از <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> به <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
|
||||
issues.force_push_codes=پوش شده اجباری %[1]s از <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> به <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s
|
||||
issues.force_push_compare=مقایسه
|
||||
issues.due_date_form=yyyy-mm-dd
|
||||
issues.due_date_form_add=افزودن موعد مقرر
|
||||
@@ -1239,8 +1162,8 @@ issues.dependency.add=اضافه کردن وابستگی…
|
||||
issues.dependency.cancel=انصراف
|
||||
issues.dependency.remove=حذف/ساقط کردن
|
||||
issues.dependency.remove_info=حذف این وابستگی
|
||||
issues.dependency.added_dependency=`%s یک مخزن جدید اضافه کرد`
|
||||
issues.dependency.removed_dependency=`%s یک وابستگی را حذف کرد`
|
||||
issues.dependency.added_dependency=%s یک مخزن جدید اضافه کرد
|
||||
issues.dependency.removed_dependency=%s یک وابستگی را حذف کرد
|
||||
issues.dependency.pr_closing_blockedby=بستن این درخواست کشش با موارد زیر مسدود می شود
|
||||
issues.dependency.issue_closing_blockedby=بستن این مورد توسط موارد زیر مسدود شده است
|
||||
issues.dependency.issue_close_blocks=این مسئله با توجه به موضوعات مطرح شده مسدود شده است
|
||||
@@ -1291,10 +1214,8 @@ issues.content_history.created=ساخته شده
|
||||
issues.content_history.delete_from_history=حذف از تاریخچه
|
||||
issues.content_history.delete_from_history_confirm=آیا از تاریخچه حذف شود؟
|
||||
issues.content_history.options=گزینهها
|
||||
|
||||
compare.compare_base=پایه
|
||||
compare.compare_head=مقایسه
|
||||
|
||||
pulls.desc=نمایش تقاضای واکشی ها و بازبینی های کد.
|
||||
pulls.new=ایجاد تقاضای واکشی
|
||||
pulls.compare_changes=تقاضای واکشی جدید
|
||||
@@ -1307,11 +1228,11 @@ pulls.filter_branch=صافی شاخه
|
||||
pulls.no_results=هیچ نتیجهای یافت نشد.
|
||||
pulls.nothing_to_compare=این شاخهها یکی هستند. نیازی به تقاضای واکشی نیست.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=این شاخه ها برابر هستند. این PR خالی خواهد بود.
|
||||
pulls.has_pull_request=`A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.has_pull_request=A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>
|
||||
pulls.create=ایجاد تقاضای واکشی
|
||||
pulls.title_desc=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="branch_target">%[3]s</code> دارد
|
||||
pulls.merged_title_desc=%[1]d کامیت ادغام شده از <code>%[2]s</code> به <code>%[3]s</code> %[4]s
|
||||
pulls.change_target_branch_at=`هدف شاخه از <b>%s</b> به <b>%s</b> %s تغییر کرد`
|
||||
pulls.change_target_branch_at=هدف شاخه از <b>%s</b> به <b>%s</b> %s تغییر کرد
|
||||
pulls.tab_conversation=گفتگو
|
||||
pulls.tab_commits=کامیتها
|
||||
pulls.tab_files=پرونده تغییر کرده
|
||||
@@ -1320,7 +1241,7 @@ pulls.cant_reopen_deleted_branch=این تقاضای واکشی غیر قابل
|
||||
pulls.merged=ادغام شده
|
||||
pulls.manually_merged=بصورت دستی ادغام شد
|
||||
pulls.is_closed=این تقاضای واکشی بسته شد.
|
||||
pulls.title_wip_desc=`<a href="#"> شروع شذع با عنوان <strong>%s</strong></a> برای جلو گیری کردن از تقاضای واکشی که موقع ادغام دچار تصادم میشود.`
|
||||
pulls.title_wip_desc=<a href="#"> شروع شذع با عنوان <strong>%s</strong></a> برای جلو گیری کردن از تقاضای واکشی که موقع ادغام دچار تصادم میشود.
|
||||
pulls.cannot_merge_work_in_progress=این درخواست کشش به عنوان کار در حال انجام مشخص شده است.
|
||||
pulls.still_in_progress=هنوز در حال انجام؟
|
||||
pulls.add_prefix=اضافه کردن پیشوند <strong>%s</strong>
|
||||
@@ -1343,7 +1264,6 @@ pulls.reject_count_n=%d درخواست تغییر
|
||||
pulls.waiting_count_1=%d منتظر بازبینی
|
||||
pulls.waiting_count_n=%d منتظر بازبینی
|
||||
pulls.wrong_commit_id=commit id باید یک شناسه commit در شاخه هدف باشد
|
||||
|
||||
pulls.no_merge_desc=این تقاضای واکشی قابل ادغام نیست لذا تمامی گزینه های ادغام مخزن غیر فعال هستند.
|
||||
pulls.no_merge_helper=گزینه های ادغام را در تنظیمات مخزن فعال کنید یا از تقاضای واکشی به صورت دستی ادغام نمایید.
|
||||
pulls.no_merge_wip=این تقاضای واکشی قابل ادغام نیست لذا اکنون به این مخزن درحال پردازش علامت گذاری شده است.
|
||||
@@ -1356,7 +1276,6 @@ pulls.squash_merge_pull_request=ایجاد commit اسکواش
|
||||
pulls.merge_manually=بصورت دستی ادغام شد
|
||||
pulls.merge_commit_id=شماره کامیت ادغام
|
||||
pulls.require_signed_wont_sign=انشعاب نیازمند تغییرات امضا شده است اما این ادغام امضا نخواهد شد
|
||||
|
||||
pulls.invalid_merge_option=شما نمیتوانید از این گزینه برای تقاضای واکشی استفاده کنید.
|
||||
pulls.merge_conflict=ادغام ناموفق بود: در حین ادغام مغایرت وجود داشت. نکته: استراتژی متفاوتی را امتحان کنید
|
||||
pulls.merge_conflict_summary=پیغام خطا
|
||||
@@ -1365,7 +1284,7 @@ pulls.rebase_conflict_summary=پیام خطا
|
||||
pulls.unrelated_histories=ادغام ناموفق: سر و پایه ادغام یک تاریخ مشترک ندارند. نکته: یک استراتژی متفاوت را امتحان کنید
|
||||
pulls.merge_out_of_date=ادغام ناموفق: در حالی که ادغام را ایجاد می کند ، پایگاه به روز شد. نکته: دوباره امتحان کنید.
|
||||
pulls.push_rejected_summary=پیام رد کامل
|
||||
pulls.open_unmerged_pull_exists=`شما نمیتوانید یک عملیات را انجام داده یا بازگشایی نمایید لذا (#%d) مورد تقاضای واکشی با ویژگی منحصر به فرد هنوز رسیدگی نشده (معلق) است. `
|
||||
pulls.open_unmerged_pull_exists="شما نمیتوانید یک عملیات را انجام داده یا بازگشایی نمایید لذا (#%d) مورد تقاضای واکشی با ویژگی منحصر به فرد هنوز رسیدگی نشده (معلق) است. "
|
||||
pulls.status_checking=برخی از بررسیها در حال تعلیق هستند
|
||||
pulls.status_checks_success=تمامی بررسیها موفق بودند
|
||||
pulls.status_checks_warning=برخی از چک ها هشدارهایی را گزارش کردند
|
||||
@@ -1378,18 +1297,11 @@ pulls.update_branch_rebase=بروزآوری شاخه با بازسازی مجد
|
||||
pulls.update_branch_success=شاخه به موفقیت بروز شد
|
||||
pulls.update_not_allowed=شما اجازه بروزرسانی شاخه را ندارید
|
||||
pulls.outdated_with_base_branch=این شاخه با شاخه پایه منسوخ شده است
|
||||
pulls.closed_at=`این درخواست pull بسته شده <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`این درخواست pull را بازگشایی کرد <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.merge_instruction_hint=`همچنین میتوانید <a class="show-instruction">دستورالعملهای خط فرمان</a> را مشاهده کنید.`
|
||||
pulls.closed_at=این درخواست pull بسته شده <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
pulls.reopened_at=این درخواست pull را بازگشایی کرد <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
pulls.merge_instruction_hint=همچنین میتوانید <a class="show-instruction">دستورالعملهای خط فرمان</a> را مشاهده کنید.
|
||||
pulls.merge_instruction_step1_desc=از انبار پروژه خود، یک شاخه جدید را بگیرید و تغییرات را آزمایش کنید.
|
||||
pulls.merge_instruction_step2_desc=تغییرات را ادغام کنید و در Gitea به روز کنید.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
milestones.new=نقطه عطف جدید
|
||||
milestones.closed=%s بسته شد
|
||||
milestones.no_due_date=بدون موعد مقرر
|
||||
@@ -1413,10 +1325,7 @@ milestones.filter_sort.least_complete=حداقل کامل شده
|
||||
milestones.filter_sort.most_complete=بیشترین کامل شده
|
||||
milestones.filter_sort.most_issues=بیشترین مسائل
|
||||
milestones.filter_sort.least_issues=کمترین مسائل
|
||||
|
||||
|
||||
ext_wiki.desc=پیوند به یک دانشنامه خارجی.
|
||||
|
||||
wiki=دانشنامه
|
||||
wiki.welcome=به دانشنامه خوش آمدید.
|
||||
wiki.welcome_desc=به دانشنامه خوش آمدید!
|
||||
@@ -1438,7 +1347,6 @@ wiki.page_already_exists=صفحهی دانشنامه با همین نام م
|
||||
wiki.pages=صفحات
|
||||
wiki.last_updated=واپسین روزرسانی در %s
|
||||
wiki.page_name_desc=یک نام برای این صفحه ویکی وارد کنید. برخی از نامهای خاص عبارتند از: 'Home'، '_Sidebar' و '_Footer'.
|
||||
|
||||
activity=فعالیت
|
||||
activity.period.filter_label=دوره:
|
||||
activity.period.daily=۱ روز
|
||||
@@ -1504,14 +1412,12 @@ activity.git_stats_addition_n=علاوه بر این %d
|
||||
activity.git_stats_and_deletions=و
|
||||
activity.git_stats_deletion_1=%d مذحوف
|
||||
activity.git_stats_deletion_n=%d مذحوف
|
||||
|
||||
search=جستجو
|
||||
search.search_repo=جستجوی مخزن
|
||||
search.fuzzy=درهم
|
||||
search.match=مطابق
|
||||
search.results=نتیجه جستجو برای "%s" در <a href="%s">%s</a>
|
||||
search.code_no_results=کد منبعی مطابق با جستجوی شما یافت نشد.
|
||||
|
||||
settings=تنظيمات
|
||||
settings.desc=تنظیمات جایی است که شما میتوانید تنظیمات مخزن خود را مدیریت کنید
|
||||
settings.options=مخزن
|
||||
@@ -1533,7 +1439,6 @@ settings.mirror_settings.last_update=آخرین بروزرسانی
|
||||
settings.mirror_settings.push_mirror.none=هیچ میرور push ای پیکربندی نشده است
|
||||
settings.mirror_settings.push_mirror.remote_url=Git Remote Repository URL
|
||||
settings.mirror_settings.push_mirror.add=اضافه کردن Push Mirror
|
||||
|
||||
settings.sync_mirror=همگام سازی کن
|
||||
settings.mirror_sync_in_progress=همگام سازی قرینه در حالت پردازش است. یک دقیقه دیگر مجددا بررسی کنید.
|
||||
settings.site=تارنما
|
||||
@@ -1842,7 +1747,6 @@ settings.rename_branch_success=نام شاخه %s با موفقیت به %s تغ
|
||||
settings.rename_branch_from=نام شاخهی قدیمی
|
||||
settings.rename_branch_to=نام شاخهی جدید
|
||||
settings.rename_branch=تغییر نام شاخه
|
||||
|
||||
diff.browse_source=فهرست منبع
|
||||
diff.parent=والد
|
||||
diff.commit=کامیت
|
||||
@@ -1893,7 +1797,6 @@ diff.protected=حفاظت شده
|
||||
diff.image.side_by_side=کنار هم
|
||||
diff.image.swipe=با خط کشش
|
||||
diff.image.overlay=پوشش
|
||||
|
||||
releases.desc=پیگیری نسخ و دریافتهای پروژه.
|
||||
release.releases=انتشارها
|
||||
release.detail=جزئیات انتشار
|
||||
@@ -1932,7 +1835,6 @@ release.downloads=بارگیریها
|
||||
release.download_count=دانلودها: %s
|
||||
release.add_tag_msg=از عنوان و محتوای انتشار به عنوان پیام تگ استفاده کنید.
|
||||
release.add_tag=فقط تگ ایجاد کنید
|
||||
|
||||
branch.name=نام شاخه
|
||||
branch.search=جستجوی شاخه ها
|
||||
branch.delete_head=حذف
|
||||
@@ -1947,15 +1849,10 @@ branch.confirm_rename_branch=تغییر نام شاخه
|
||||
branch.create_branch_operation=ایجاد شاخه
|
||||
branch.new_branch=شاخه جدید ایجاد کنید
|
||||
branch.renamed=شاخه %s قبلا به %s تغییر کرده است.
|
||||
|
||||
tag.create_tag=تگ <strong>%s</strong> ایجاد کنید
|
||||
|
||||
|
||||
topic.manage_topics=مدیریت موضوعات
|
||||
topic.done=انجام شد
|
||||
topic.count_prompt=شما نمی توانید بیش از 25 موضوع انتخاب کنید
|
||||
|
||||
|
||||
error.csv.too_large=نمی توان این فایل را رندر کرد زیرا بسیار بزرگ است.
|
||||
error.csv.unexpected=نمی توان این فایل را رندر کرد زیرا حاوی یک کاراکتر غیرمنتظره در خط %d و ستون %d است.
|
||||
error.csv.invalid_field_count=نمی توان این فایل را رندر کرد زیرا تعداد فیلدهای آن در خط %d اشتباه است.
|
||||
@@ -1981,9 +1878,7 @@ team_access_desc=دسترسی مخزن
|
||||
team_permission_desc=مجوز
|
||||
team_unit_desc=اجازه به دسترسی به قسمت های این مخزن
|
||||
team_unit_disabled=(خاموش)
|
||||
|
||||
form.create_org_not_allowed=شما اجازه ایجاد سازمان را ندارید.
|
||||
|
||||
settings=تنظيمات
|
||||
settings.options=سازمان
|
||||
settings.full_name=نام کامل
|
||||
@@ -1996,7 +1891,6 @@ settings.visibility.public=عمومی
|
||||
settings.visibility.limited_shortname=محدودیت دار
|
||||
settings.visibility.private=خصوصی (پدیدار برای کاربران عضو سازمان)
|
||||
settings.visibility.private_shortname=پوشیده
|
||||
|
||||
settings.update_settings=به روزرسانی تنظیمات
|
||||
settings.update_setting_success=تنظیمات این سازمان بهروز شد.
|
||||
settings.change_orgname_redirect_prompt=نام قدیمی تا زمانی که ادعا شود تغییر مسیر می دهد.
|
||||
@@ -2008,9 +1902,7 @@ settings.confirm_delete_account=تاییدیه حذف
|
||||
settings.delete_org_title=حذف سازمان
|
||||
settings.delete_org_desc=سازمان برای همیشه حذف خواهد شد. آیا همچنان ادامه میدهید؟
|
||||
settings.hooks_desc=افزودن webhook های که برای<strong> تمام مخازن</strong> این سازمان اجرا میشود.
|
||||
|
||||
settings.labels_desc=تگ هایی را اضافه کنید که میتوانند برای مشکلات <strong>همه مخازن</strong> تحت این سازمان استفاده شوند.
|
||||
|
||||
members.membership_visibility=قابل مشاهده بودن عضویت:
|
||||
members.public=نمایان
|
||||
members.public_helper=مخفی کردن
|
||||
@@ -2025,7 +1917,6 @@ members.leave=ترککردن
|
||||
members.leave.detail=ترک %s؟
|
||||
members.invite_desc=افزودن عضو جدید به %s:
|
||||
members.invite_now=دعوت کن
|
||||
|
||||
teams.join=پیوستن
|
||||
teams.leave=ترککردن
|
||||
teams.leave.detail=ترک %s؟
|
||||
@@ -2081,7 +1972,6 @@ monitor=نظارت
|
||||
first_page=نخستین
|
||||
last_page=واپسین
|
||||
total=مجموع: %d
|
||||
|
||||
dashboard.statistic=چکیده
|
||||
dashboard.operations=عملیاتهای نگهداری
|
||||
dashboard.system_status=وضعیت سامانه
|
||||
@@ -2152,7 +2042,6 @@ dashboard.last_gc_pause=واپسین مکث در GC
|
||||
dashboard.gc_times=زمان های GC
|
||||
dashboard.delete_old_actions=تمام اقدامات قدیمی را از پایگاه داده حذف کنید
|
||||
dashboard.delete_old_actions.started=حذف تمام اقدامات قدیمی از پایگاه داده شروع شده است.
|
||||
|
||||
users.user_manage_panel=مدیریت حساب کاربری
|
||||
users.new_account=ایجاد حساب کاربری
|
||||
users.name=نامکاربری
|
||||
@@ -2201,7 +2090,6 @@ users.list_status_filter.is_prohibit_login=ورود را ممنوع شود
|
||||
users.list_status_filter.not_prohibit_login=اجازه ورود
|
||||
users.list_status_filter.is_2fa_enabled=2FA فعال است
|
||||
users.list_status_filter.not_2fa_enabled=2FA غیرفعال است
|
||||
|
||||
emails.email_manage_panel=مدیریت ایمیل کاربر
|
||||
emails.primary=اولیه
|
||||
emails.activated=فعال شده
|
||||
@@ -2214,13 +2102,11 @@ emails.not_updated=آدرس ایمیل درخواستی بهروزرسانی
|
||||
emails.duplicate_active=این آدرس ایمیل از قبل برای کاربر دیگری فعال است.
|
||||
emails.change_email_header=به روز رسانی ویژگی های ایمیل
|
||||
emails.change_email_text=آیا مطمئن هستید که می خواهید این آدرس ایمیل را به روز کنید؟
|
||||
|
||||
orgs.org_manage_panel=مدیریت سازمان
|
||||
orgs.name=نام
|
||||
orgs.teams=تیمها
|
||||
orgs.members=اعضاء
|
||||
orgs.new_orga=سازمان جدید
|
||||
|
||||
repos.repo_manage_panel=مدیریت مخزن
|
||||
repos.unadopted=مخازن تصویب نشده
|
||||
repos.unadopted.no_more=هیچ مخزن تایید نشده دیگری یافت نشد
|
||||
@@ -2232,21 +2118,17 @@ repos.stars=ستاره ها
|
||||
repos.forks=انشعابها
|
||||
repos.issues=مسائل
|
||||
repos.size=اندازه
|
||||
|
||||
packages.owner=مالک
|
||||
packages.name=نام
|
||||
packages.type=نوع
|
||||
packages.repository=مخزن
|
||||
packages.size=اندازه
|
||||
|
||||
defaulthooks=وب هوک های پیش فرض
|
||||
defaulthooks.add_webhook=اضافه کردن Webhook پیش فرض
|
||||
defaulthooks.update_webhook=Webhook پیش فرض را به روز کنید
|
||||
|
||||
systemhooks=وب هوک های سیستم
|
||||
systemhooks.add_webhook=System Webhook را اضافه کنید
|
||||
systemhooks.update_webhook=به روز رسانی Webhook سیستم
|
||||
|
||||
auths.auth_manage_panel=مدیریت منابع احراز هویت
|
||||
auths.new=افزودن منبع احراز هویت
|
||||
auths.name=نام
|
||||
@@ -2326,14 +2208,14 @@ auths.tip.oauth2_provider=تامین کننده OAuth2
|
||||
auths.tip.bitbucket=ثبت یک OAuth جدید مصرف کننده بر https://bitbucket.org/account/user/<your username>/oauth-consumers/new و افزودن مجوز 'Account' - 'Read'
|
||||
auths.tip.nextcloud=با استفاده از منوی زیر "تنظیمات -> امنیت -> مشتری OAuth 2.0" مصرف کننده OAuth جدیدی را در نمونه خود ثبت کنید
|
||||
auths.tip.dropbox=یک برنامه جدید در https://www.dropbox.com/developers/apps بسازید
|
||||
auths.tip.facebook=`یک برنامه جدید در https://developers.facebook.com/apps بسازید برای ورود از طریق فیس بوک قسمت محصولات "Facebook Login"`
|
||||
auths.tip.facebook=یک برنامه جدید در https://developers.facebook.com/apps بسازید برای ورود از طریق فیس بوک قسمت محصولات "Facebook Login"
|
||||
auths.tip.github=یک برنامه OAuth جدید در https://github.com/settings/applications/new ثبت کنید
|
||||
auths.tip.gitlab=ثبت یک برنامه جدید در https://gitlab.com/profile/applications
|
||||
auths.tip.google_plus=اطلاعات مربوط به مشتری OAuth2 را از کلاینت API Google در https://console.developers.google.com/
|
||||
auths.tip.openid_connect=برای مشخص کردن نقاط پایانی از آدرس OpenID Connect Discovery 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.yandex=`یک برنامه جدید در https://oauth.yandex.com/client/new ایجاد کنید. مجوزهای زیر را از بخش "Yandex.Passport API" انتخاب کنید: "دسترسی به آدرس ایمیل"، "دسترسی به آواتار کاربر" و "دسترسی به نام کاربری، نام و نام خانوادگی، جنسیت"`
|
||||
auths.tip.yandex=یک برنامه جدید در https://oauth.yandex.com/client/new ایجاد کنید. مجوزهای زیر را از بخش "Yandex.Passport API" انتخاب کنید: "دسترسی به آدرس ایمیل"، "دسترسی به آواتار کاربر" و "دسترسی به نام کاربری، نام و نام خانوادگی، جنسیت"
|
||||
auths.tip.mastodon=یک URL نمونه سفارشی برای نمونه ماستودون که می خواهید با آن احراز هویت کنید وارد کنید (یا از یک پیش فرض استفاده کنید)
|
||||
auths.edit=ویرایش منبع احراز هویت
|
||||
auths.activated=این منبع احراز هویت فعال شده است
|
||||
@@ -2345,7 +2227,6 @@ auths.delete_auth_desc=حذف یک منبع احراز هویت، از ورود
|
||||
auths.still_in_used=منبع احراز هویت همچنان در حال استفاده است. ابتدا با استفاده از این منبع احراز کاربرانی را تبدیل یا حذف کنید.
|
||||
auths.deletion_success=احراز هویت منبع حذف شد.
|
||||
auths.login_source_of_type_exist=منبع احراز هویت '%s' پیش از این وجود داشته است.
|
||||
|
||||
config.server_config=پیکربندی سرور
|
||||
config.app_name=عنوان سایت
|
||||
config.app_ver=نسخهی GitGo
|
||||
@@ -2363,7 +2244,6 @@ config.lfs_root_path=مسیر ریشه LFS
|
||||
config.log_file_root_path=مسیر گزارشها
|
||||
config.script_type=نوع اسکریپت
|
||||
config.reverse_auth_user=شیوه ی احرازهویت معکوس
|
||||
|
||||
config.ssh_config=پیکربندی SSH
|
||||
config.ssh_enabled=فعال شده
|
||||
config.ssh_start_builtin_server=استفاده از ساخته سرور
|
||||
@@ -2375,12 +2255,10 @@ config.ssh_key_test_path=مسیر کلید آزمایش
|
||||
config.ssh_keygen_path=مسیر فایل ssh-keygen
|
||||
config.ssh_minimum_key_size_check=بررسی حداقل طول کلید
|
||||
config.ssh_minimum_key_sizes=حداقل اندازهی کلید ها
|
||||
|
||||
config.lfs_config=پیکربندی LFS
|
||||
config.lfs_enabled=فعال شده
|
||||
config.lfs_content_path=مسیر محتوای LFS
|
||||
config.lfs_http_auth_expiry=انقضای احراز LFS HTTP
|
||||
|
||||
config.db_config=تنظیمات پایگاه داده
|
||||
config.db_type=نوع
|
||||
config.db_host=میزبان
|
||||
@@ -2389,7 +2267,6 @@ config.db_user=نامکاربری
|
||||
config.db_schema=شماتیک
|
||||
config.db_ssl_mode=SSL
|
||||
config.db_path=مسیر
|
||||
|
||||
config.service_config=پیکربندی سرویس
|
||||
config.register_email_confirm=نیاز به تایید ایمیل (رایانامه) ثبت نام
|
||||
config.disable_register=غیرفعالکردن خود ثبت نامی
|
||||
@@ -2412,12 +2289,10 @@ config.default_allow_only_contributors_to_track_time=اجاز پگیری زما
|
||||
config.no_reply_address=مخفی کردن دامنه ایمیل
|
||||
config.default_visibility_organization=وضعیت پیشفرض پدیداری برای سازمان جدید
|
||||
config.default_enable_dependencies=فعال کردن وابستگی پیشفرض برای مسئله
|
||||
|
||||
config.webhook_config=پیکربندی هوک تحت وب
|
||||
config.queue_length=طول صف
|
||||
config.deliver_timeout=مهلت تحویل
|
||||
config.skip_tls_verify=صرف نظر از اعتبارسنجی TLS
|
||||
|
||||
config.mailer_enabled=فعال شده
|
||||
config.mailer_name=نام
|
||||
config.mailer_smtp_port=گذرگاه(پورت) SMTP
|
||||
@@ -2428,16 +2303,13 @@ config.mailer_sendmail_args=برهان های اضافی برای ارسال م
|
||||
config.mailer_sendmail_timeout=مهلت زمانی ارسال نامه
|
||||
config.test_email_placeholder=ایمیل (نمونه test@example.com)
|
||||
config.send_test_mail=ارسال ایمیل آزمایشی
|
||||
|
||||
config.oauth_config=پیکربندی OAuth
|
||||
config.oauth_enabled=فعال شده
|
||||
|
||||
config.cache_config=پیکربندی حافظه پنهان
|
||||
config.cache_adapter=وفق دهنده حافظه پنهان
|
||||
config.cache_interval=وقفه حافظه نهان
|
||||
config.cache_conn=اتصال حافظه نهان
|
||||
config.cache_item_ttl=مولفه TTL حافظه نهان
|
||||
|
||||
config.session_config=پیکربندی نشست ها
|
||||
config.session_provider=تامین کننده نشست
|
||||
config.provider_config=پیکربندی تامین کننده
|
||||
@@ -2446,12 +2318,10 @@ config.gc_interval_time=فاصله زمانی GC
|
||||
config.session_life_time=طول عمر نشست
|
||||
config.https_only=فقط HTTPS
|
||||
config.cookie_life_time=طول عمر کوکی
|
||||
|
||||
config.picture_config=پیکربندی عکس و آواتار
|
||||
config.picture_service=سرویس تصویر
|
||||
config.disable_gravatar=غیر فعال کردن Gravatar
|
||||
config.enable_federated_avatar=فعال سازی آواتار مشترک
|
||||
|
||||
config.git_config=پیکربندی Git
|
||||
config.git_disable_diff_highlight=غیرفعال کردن برجسته سازی در Diff
|
||||
config.git_max_diff_lines=حداکثر خط برای Diff (برای یک فایل)
|
||||
@@ -2463,14 +2333,10 @@ config.git_mirror_timeout=زمان آستانه در به روز رسانی قر
|
||||
config.git_clone_timeout=زمان آستانه ی عملیات Clone
|
||||
config.git_pull_timeout=زمان آستانه ی عملیات واکشی
|
||||
config.git_gc_timeout=زمان آستانه ی عملیات GC
|
||||
|
||||
config.log_config=پیکربندی ثبت رخداد
|
||||
config.disabled_logger=غیرفعال شده
|
||||
config.access_log_mode=شیوه ثبت رخداد دسترسی
|
||||
config.xorm_log_sql=ثبت رخداد SQL
|
||||
|
||||
|
||||
|
||||
monitor.cron=وظایف Cron
|
||||
monitor.name=نام
|
||||
monitor.schedule=زمان بندی
|
||||
@@ -2485,7 +2351,6 @@ monitor.process.cancel=لغو فرآیند
|
||||
monitor.process.cancel_desc=لغو کردن یک فرآیند ممکن است باعث از دست رفتن داده ها شود
|
||||
monitor.process.cancel_notices=لغو: <strong>%s</strong>؟
|
||||
monitor.process.children=فرزندان
|
||||
|
||||
monitor.queues=صف ها
|
||||
monitor.queue=صف: %s
|
||||
monitor.queue.name=نام
|
||||
@@ -2499,7 +2364,6 @@ monitor.queue.settings.maxnumberworkers.placeholder=در حال حاضر %[1]v
|
||||
monitor.queue.settings.maxnumberworkers.error=حداکثر تعداد کارگران باید یک عدد باشد
|
||||
monitor.queue.settings.submit=بالا بردن ساماندهی
|
||||
monitor.queue.settings.changed=تنظیمات تازه شد
|
||||
|
||||
notices.system_notice_list=هشدارهای سامانه
|
||||
notices.view_detail_header=مشاهده جزئیات اخطار
|
||||
notices.select_all=انتخاب همه
|
||||
@@ -2518,15 +2382,15 @@ notices.delete_success=گزارش سیستم حذف شده است.
|
||||
create_repo=مخزن ایجاد شده <a href="%s"> %s</a>
|
||||
rename_repo=مخزن تغییر نام داد از <code>%[1]s</code> به <a href="%[2]s">%[3]s</a>
|
||||
commit_repo=به <a href="%[2]s">%[3]s</a> در <a href="%[1]s">%[4]s</a> push شد
|
||||
create_issue=`مشکل باز <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
close_issue=`مشکل بسته <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_issue=`مشکل دوباره باز شد <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
create_pull_request=`درخواست pull ایجاد شده <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
close_pull_request=`درخواست pull بسته <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_pull_request=`درخواست pull دوباره باز شد <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
comment_issue=`درباره مشکل <a href="%[1]s">%[3]s#%[2]s</a> نظر داد`
|
||||
comment_pull=`در مورد درخواست کشش نظر داد <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
merge_pull_request='درخواست کشش ادغام شده <a href="%[1]s">%[3]s#%[2]s</a>'
|
||||
create_issue=مشکل باز <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
close_issue=مشکل بسته <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
reopen_issue=مشکل دوباره باز شد <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
create_pull_request=درخواست pull ایجاد شده <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
close_pull_request=درخواست pull بسته <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
reopen_pull_request=درخواست pull دوباره باز شد <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
comment_issue=درباره مشکل <a href="%[1]s">%[3]s#%[2]s</a> نظر داد
|
||||
comment_pull=در مورد درخواست کشش نظر داد <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
merge_pull_request=درخواست کشش ادغام شده <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
transfer_repo=مخزن از <code>%s</code> به <a href="%s"> %s</a>منتقل شده است
|
||||
push_tag=تگ <a href="%[2]s">%[3]s</a> به <a href="%[1]s">%[4]s</a> push شد
|
||||
delete_tag=برچسب %[2] از <a href="%[1]s">%[3]</a> حذف شدند
|
||||
@@ -2537,10 +2401,10 @@ compare_commits_general=مقایسه کامیتها
|
||||
mirror_sync_push=commit ها همگامسازیشدند به <a href="%[2]s">%[3]s</a> در <a href="%[1]s">%[4]s</a> از میرور میشود
|
||||
mirror_sync_create=مرجع جدید <a href="%[2]s">%[3]s</a> با <a href="%[1]s">%[4]s</a> از mirror همگامسازی شد
|
||||
mirror_sync_delete=از مرجع <code>%[2]s</code> در<a href="%[1]s">%[3]s</a> حذف شده و از قرینه همگام شده
|
||||
approve_pull_request=`تأیید <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reject_pull_request=`تغییرات پیشنهادی برای <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
publish_release=`<a href="%[2]s"> "%[4]s" </a> در <a href="%[1]s">%[3]s</a> منتشر شد`
|
||||
review_dismissed=`بازبینی از <b>%[4]s</b> برای <a href="%[1]s">%[3]s#%[2]s</a> رد شد`
|
||||
approve_pull_request=تأیید <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
reject_pull_request=تغییرات پیشنهادی برای <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
publish_release=<a href="%[2]s"> "%[4]s" </a> در <a href="%[1]s">%[3]s</a> منتشر شد
|
||||
review_dismissed=بازبینی از <b>%[4]s</b> برای <a href="%[1]s">%[3]s#%[2]s</a> رد شد
|
||||
review_dismissed_reason=دلیل:
|
||||
create_branch=شاخه <a href="%[2]s">%[3]s</a> در <a href="%[1]s">%[4]s</a> ایجاد کرد
|
||||
starred_repo=ستاره دار <a href="%[1]s">%[2]s</a>
|
||||
@@ -2608,9 +2472,6 @@ owner.settings.cleanuprules.enabled=فعال شده
|
||||
[secrets]
|
||||
|
||||
[actions]
|
||||
|
||||
|
||||
|
||||
runners.name=نام
|
||||
runners.owner_type=نوع
|
||||
runners.description=شرح
|
||||
@@ -2618,14 +2479,9 @@ runners.task_list.run=اجرا
|
||||
runners.task_list.repository=مخزن
|
||||
runners.task_list.commit=کامیت
|
||||
runners.status.active=فعال
|
||||
|
||||
runs.commit=کامیت
|
||||
|
||||
|
||||
|
||||
|
||||
[projects]
|
||||
|
||||
[git.filemode]
|
||||
symbolic_link=پیوند نمادین
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ signed_in_as=Kirjautuneena käyttäjänä
|
||||
toc=Sisällysluettelo
|
||||
licenses=Lisenssit
|
||||
return_to_gitea=Palaa Giteaan
|
||||
|
||||
username=Käyttäjätunnus
|
||||
email=Sähköpostiosoite
|
||||
password=Salasana
|
||||
@@ -31,7 +30,6 @@ captcha=CAPTCHA
|
||||
twofa=Kaksivaiheinen todennus
|
||||
twofa_scratch=Kaksivaiheinen kertakäyttöinen koodi
|
||||
passcode=Tunnuskoodi
|
||||
|
||||
webauthn_insert_key=Aseta turva-avaimesi
|
||||
webauthn_sign_in=Paina turva-avaimesi painiketta. Jos turva-avaimessasi ei ole painiketta, irroita se ja aseta uudelleen.
|
||||
webauthn_press_button=Paina turva-avaimesi painiketta…
|
||||
@@ -39,13 +37,12 @@ webauthn_use_twofa=Käytä kaksivaihesta vahvistusta puhelimestasi
|
||||
webauthn_error=Turva-avainta ei voitu lukea.
|
||||
webauthn_unsupported_browser=Selaimesi ei tällä hetkellä tue WebAuthnia.
|
||||
webauthn_error_unknown=Tuntematon virhe. Yritä uudelleen.
|
||||
webauthn_error_insecure=`WebAuthn tukee vain suojattuja yhteyksiä. Testaukseen HTTP:n yli, voit käyttää osoitetta "localhost" tai "127.0.0.1"`
|
||||
webauthn_error_insecure=WebAuthn tukee vain suojattuja yhteyksiä. Testaukseen HTTP:n yli, voit käyttää osoitetta "localhost" tai "127.0.0.1"
|
||||
webauthn_error_unable_to_process=Palvelin ei pystynyt toteuttamaan kutsua.
|
||||
webauthn_error_duplicated=Turva-avainta ei ole sallittu tässä pyynnössä. Varmista, ettei avainta ole jo rekisteröity.
|
||||
webauthn_error_empty=Sinun täytyy asettaa nimi tälle avaimelle.
|
||||
webauthn_error_timeout=Aikakatkaisu saavutettu ennenkuin avaintasi on voitu lukea. Lataa tämä sivu uudelleen ja yritä uudelleen.
|
||||
webauthn_reload=Päivitä
|
||||
|
||||
repository=Repo
|
||||
organization=Organisaatio
|
||||
mirror=Peili
|
||||
@@ -62,18 +59,15 @@ settings=Asetukset
|
||||
your_profile=Profiili
|
||||
your_starred=Tähdelliset
|
||||
your_settings=Asetukset
|
||||
|
||||
all=Kaikki
|
||||
sources=Lähteet
|
||||
mirrors=Peilit
|
||||
collaborative=Yhteistyössä
|
||||
forks=Haarat
|
||||
|
||||
activities=Toimet
|
||||
pull_requests=Pull requestit
|
||||
issues=Ongelmat
|
||||
milestones=Merkkipaalut
|
||||
|
||||
ok=OK
|
||||
cancel=Peruuta
|
||||
save=Tallenna
|
||||
@@ -82,38 +76,26 @@ add_all=Lisää kaikki
|
||||
remove=Poista
|
||||
remove_all=Poista kaikki
|
||||
edit=Muokkaa
|
||||
|
||||
enabled=Käytössä
|
||||
disabled=Pois käytöstä
|
||||
|
||||
copy=Kopioi
|
||||
copy_url=Kopioi osoite
|
||||
copy_branch=Kopioi haaran nimi
|
||||
copy_success=Kopioitu!
|
||||
copy_error=Kopiointi epäonnistui
|
||||
|
||||
write=Kirjoita
|
||||
preview=Esikatselu
|
||||
loading=Ladataan…
|
||||
|
||||
step1=Vaihe 1:
|
||||
step2=Vaihe 2:
|
||||
|
||||
error=Virhe
|
||||
error404=Sivu, jota yrität nähdä, joko <strong>ei löydy</strong> tai <strong>et ole oikeutettu</strong> katsomaan sitä.
|
||||
|
||||
never=Ei koskaan
|
||||
|
||||
rss_feed=RSS-syöte
|
||||
|
||||
|
||||
|
||||
concept_code_repository=Repo
|
||||
concept_user_organization=Organisaatio
|
||||
|
||||
|
||||
|
||||
name=Nimi
|
||||
archived=Arkistoidut
|
||||
|
||||
[aria]
|
||||
|
||||
@@ -166,7 +148,6 @@ err_empty_admin_password=Ylläpitäjän salasana ei voi olla tyhjä.
|
||||
err_empty_admin_email=Ylläpitäjän sähköpostiosoite ei voi olla tyhjä.
|
||||
err_admin_name_is_reserved=Ylläpitäjän käyttäjätunnus on virheellinen: käyttäjätunnus on varattu
|
||||
err_admin_name_is_invalid=Ylläpitäjän käyttäjätunnus on virheellinen
|
||||
|
||||
general_title=Yleiset asetukset
|
||||
app_name=Sivuston otsikko
|
||||
app_name_helper=Voit syöttää yrityksesi nimen tähän.
|
||||
@@ -184,7 +165,6 @@ app_url=Gitean juuriosoite
|
||||
app_url_helper=Juuriosoite HTTP(S)-klooniosoitteille ja sähköpostimuistutuksille.
|
||||
log_root_path=Lokin polku
|
||||
log_root_path_helper=Lokitiedostot kirjoitetaan tähän kansioon.
|
||||
|
||||
optional_title=Valinnaiset asetukset
|
||||
email_title=Sähköpostiasetukset
|
||||
smtp_addr=SMTP isäntä
|
||||
@@ -247,19 +227,16 @@ view_home=Näytä %s
|
||||
search_repos=Etsi repo…
|
||||
filter=Muut suodattimet
|
||||
filter_by_team_repositories=Suodata tiimin repojen mukaan
|
||||
feed_of=`Syöte "%s"`
|
||||
|
||||
feed_of=Syöte "%s"
|
||||
show_archived=Arkistoidut
|
||||
archived=Arkistoidut
|
||||
show_both_archived_unarchived=Näytetään arkistoidut ja arkistoimattomat
|
||||
show_only_archived=Näytetään vain arkistoidut
|
||||
show_only_unarchived=Näytetään vain arkistoimattomat
|
||||
|
||||
show_private=Yksityinen
|
||||
show_both_private_public=Näytetään sekä julkiset että yksityiset
|
||||
show_only_private=Näytetään vain yksityiset
|
||||
show_only_public=Näytetään vain julkiset
|
||||
|
||||
issues.in_your_repos=Repoissasi
|
||||
|
||||
[explore]
|
||||
@@ -275,7 +252,6 @@ org_no_results=Ei löytynyt vastaavia organisaatioita.
|
||||
code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
|
||||
code_last_indexed_at=Viimeksi indeksoitu %s
|
||||
|
||||
|
||||
[auth]
|
||||
create_new_account=Rekisteröi tili
|
||||
register_helper_msg=On jo tili? Kirjaudu sisään nyt!
|
||||
@@ -336,35 +312,24 @@ sspi_auth_failed=SSPI todennus epäonnistui
|
||||
view_it_on=Näytä %s
|
||||
link_not_working_do_paste=Eikö toimi? Yritä kopioida ja liittää se selaimeesi.
|
||||
hi_user_x=Hei <b>%s</b>,
|
||||
|
||||
activate_account=Ole hyvä ja aktivoi tilisi
|
||||
|
||||
activate_email=Vahvista sähköpostiosoitteesi
|
||||
|
||||
register_notify=Tervetuloa Giteaan
|
||||
register_notify.text_2=Voit nyt kirjautua käyttäjätunnuksella: %s.
|
||||
|
||||
reset_password=Palauta käyttäjätili
|
||||
reset_password.title=%s, olet pyytänyt tilisi palauttamista
|
||||
|
||||
register_success=Rekisteröinti onnistui
|
||||
|
||||
|
||||
issue.x_mentioned_you=<b>@%s</b> mainitsi sinut:
|
||||
issue.action.push_1=<b>@%[1]s</b> työnsi %[3]d commitin kohteeseen %[2]s
|
||||
issue.action.push_n=<b>@%[1]s</b> työnsi %[3]d committia kohteeseen %[2]s
|
||||
issue.action.reject=<b>@%[1]s</b> pyysi muutoksia tässä vetopyynnössä.
|
||||
|
||||
release.title=Otsikko: %s
|
||||
release.note=Huomautus:
|
||||
release.downloads=Lataukset:
|
||||
release.download.zip=Lähdekoodi (ZIP)
|
||||
release.download.targz=Lähdekoodi (TAR.GZ)
|
||||
|
||||
repo.transfer.to_you=sinä
|
||||
|
||||
|
||||
|
||||
[modal]
|
||||
yes=Kyllä
|
||||
no=Ei
|
||||
@@ -382,27 +347,23 @@ HttpsUrl=HTTPS-osoite
|
||||
TeamName=Tiimin nimi
|
||||
AuthName=Luvan nimi
|
||||
AdminEmail=Ylläpito sähköposti
|
||||
|
||||
NewBranchName=Uuden haaran nimi
|
||||
CommitSummary=Commitin yhteenveto
|
||||
CommitMessage=Commitin viesti
|
||||
CommitChoice=Commitin valinta
|
||||
TreeName=Tiedostopolku
|
||||
Content=Sisältö
|
||||
|
||||
SSPISeparatorReplacement=Erotin
|
||||
SSPIDefaultLanguage=Oletuskieli
|
||||
|
||||
require_error=` ei voi olla tyhjä.`
|
||||
size_error=` täytyy olla kokoa %s.`
|
||||
min_size_error=` täytyy sisältää vähintään %s merkkiä.`
|
||||
max_size_error=` täytyy sisältää enintään %s merkkiä.`
|
||||
email_error=` ei ole kelvollinen sähköpostiosoite.`
|
||||
require_error=" ei voi olla tyhjä."
|
||||
size_error=" täytyy olla kokoa %s."
|
||||
min_size_error=" täytyy sisältää vähintään %s merkkiä."
|
||||
max_size_error=" täytyy sisältää enintään %s merkkiä."
|
||||
email_error=" ei ole kelvollinen sähköpostiosoite."
|
||||
unknown_error=Tuntematon virhe:
|
||||
captcha_incorrect=CAPTCHA koodi on virheellinen.
|
||||
password_not_match=Salasanat eivät täsmää.
|
||||
lang_select_error=Valitse kieli listalta.
|
||||
|
||||
username_been_taken=Käyttäjätunnus on jo varattu.
|
||||
repo_name_been_taken=Repon nimi on jo käytössä.
|
||||
repository_force_private=Pakotettu yksityisyys käytössä: yksityisiä repoja ei voida muuttaa julkisiksi.
|
||||
@@ -420,12 +381,9 @@ enterred_invalid_password=Syöttämäsi salasana oli väärä.
|
||||
user_not_exist=Käyttäjää ei ole olemassa.
|
||||
team_not_exist=Tiimiä ei ole olemassa.
|
||||
cannot_add_org_to_team=Organisaatiota ei voida lisätä tiimin jäseneksi.
|
||||
|
||||
invalid_ssh_key=SSH-avaintasi ei voi vahvistaa: %s
|
||||
invalid_gpg_key=GPG-avaintasi ei voi vahvistaa: %s
|
||||
auth_failed=Todennus epäonnistui: %v
|
||||
|
||||
|
||||
target_branch_not_exist=Kohde branchia ei ole olemassa.
|
||||
|
||||
[user]
|
||||
@@ -441,7 +399,6 @@ follow=Seuraa
|
||||
unfollow=Lopeta seuraaminen
|
||||
user_bio=Elämäkerta
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profiili
|
||||
account=Tili
|
||||
@@ -459,7 +416,6 @@ twofa=Kaksivaiheinen todennus
|
||||
account_link=Linkitetyt tilit
|
||||
organization=Organisaatiot
|
||||
webauthn=Turva-avaimet
|
||||
|
||||
public_profile=Julkinen profiili
|
||||
password_username_disabled=Ei-paikalliset käyttäjät eivät voi muuttaa käyttäjätunnustaan. Ole hyvä ja ota yhteyttä sivuston ylläpitäjään saadaksesi lisätietoa.
|
||||
full_name=Kokonimi
|
||||
@@ -492,7 +448,6 @@ comment_type_group_project=Projekti
|
||||
saved_successfully=Asetuksesi tallennettiin onnistuneesti.
|
||||
privacy=Yksityisyys
|
||||
keep_activity_private_popup=Tekee toiminnon näkyvän vain sinulle ja ylläpitäjille
|
||||
|
||||
lookup_avatar_by_mail=Hae profiilikuva sähköpostin perusteella
|
||||
federated_avatar_lookup=Ulkopuolinen profiilikuvan haku
|
||||
enable_custom_avatar=Ota käyttöön mukautettu profiilikuva
|
||||
@@ -501,13 +456,11 @@ update_avatar=Päivitä profiilikuva
|
||||
delete_current_avatar=Poista nykyinen profiilikuva
|
||||
uploaded_avatar_not_a_image=Palvelimelle lähetetty tiedosto ei ole kuva.
|
||||
update_avatar_success=Profiilikuva on päivitetty.
|
||||
|
||||
change_password=Päivitä salasana
|
||||
old_password=Nykyinen salasana
|
||||
new_password=Uusi salasana
|
||||
password_incorrect=Nykyinen salasanasi on virheellinen.
|
||||
password_change_disabled=Ei-lokaalit käyttäjät eivät voi päivittää salasanojaan Gitean web-käyttöliittymän kautta.
|
||||
|
||||
emails=Sähköposti osoitteet
|
||||
manage_emails=Hallitse sähköpostiosoitteita
|
||||
manage_themes=Valitse oletusteema
|
||||
@@ -536,7 +489,6 @@ email_preference_set_success=Sähköpostin asetukset on asetettu onnistuneesti.
|
||||
add_openid_success=Uusi OpenID-osoite on lisätty.
|
||||
keep_email_private=Piilota sähköpostiosoite
|
||||
openid_desc=OpenID mahdollistaa todentamisen delegoinnin ulkopuoliselle palvelun tarjoajalle.
|
||||
|
||||
manage_ssh_keys=Hallitse SSH avaimia
|
||||
manage_gpg_keys=Hallitse GPG avaimia
|
||||
add_key=Lisää avain
|
||||
@@ -587,7 +539,6 @@ show_openid=Näytä profiilissa
|
||||
hide_openid=Piilota profiilista
|
||||
ssh_disabled=SSH pois käytöstä
|
||||
manage_social=Hallitse liitettyjä sosiaalisia tilejä
|
||||
|
||||
manage_access_token=Hallitse pääsymerkkejä
|
||||
generate_new_token=Luo uusi pääsymerkki
|
||||
token_name=Pääsymerkin nimi
|
||||
@@ -598,7 +549,6 @@ access_token_deletion=Poista pääsymerkki
|
||||
access_token_deletion_cancel_action=Peruuta
|
||||
access_token_deletion_confirm_action=Poista
|
||||
permission_read=Luettu
|
||||
|
||||
edit_oauth2_application=Muokkaa OAuth2 sovellusta
|
||||
remove_oauth2_application=Poista OAuth2 sovellus
|
||||
remove_oauth2_application_success=Sovellus on poistettu.
|
||||
@@ -609,8 +559,6 @@ save_application=Tallenna
|
||||
oauth2_regenerate_secret=Luo secret uudelleen
|
||||
oauth2_regenerate_secret_hint=Kadotitko secretin?
|
||||
oauth2_application_edit=Muokkaa
|
||||
|
||||
|
||||
twofa_desc=Kaksivaiheinen todennus parantaa tilisi turvallisuutta.
|
||||
twofa_is_enrolled=Tilisi <strong>käyttää</strong> kaksivaiheista vahvistusta.
|
||||
twofa_not_enrolled=Tilisi ei tällä hetkellä käytä kaksivaiheista vahvistusta.
|
||||
@@ -619,26 +567,19 @@ twofa_disabled=Kaksivaiheinen todennus on otettu pois käytöstä.
|
||||
scan_this_image=Skannaa tämä kuva tunnistautumissovelluksellasi:
|
||||
or_enter_secret=Tai kirjoita salainen avain: %s
|
||||
twofa_enrolled=Tiliisi on otettu käyttöön kaksivaiheinen vahvistus. Ota palautustunnus (%s) talteen turvalliseen paikkaan, sillä se näytetään vain kerran!
|
||||
|
||||
webauthn_nickname=Nimimerkki
|
||||
|
||||
manage_account_links=Hallitse linkitettyjä tilejä
|
||||
manage_account_links_desc=Nämä ulkoiset tilit on linkitetty Gitea tiliisi.
|
||||
link_account=Yhdistä tili
|
||||
remove_account_link=Poista linkitetty tili
|
||||
remove_account_link_desc=Linkitetyn tilin poistaminen peruuttaa pääsyn Gitea-tiliisi linkitetyn tili kautta. Jatketaanko?
|
||||
remove_account_link_success=Linkitetty tili on poistettu.
|
||||
|
||||
|
||||
orgs_none=Et ole minkään organisaation jäsen.
|
||||
|
||||
delete_account=Poista tilisi
|
||||
delete_prompt=Tämä toiminto poistaa käyttäjätilisi pysyvästi. Toimintoa <strong>EI VOI</strong> kumota.
|
||||
confirm_delete_account=Varmista poisto
|
||||
delete_account_title=Poista käyttäjätili
|
||||
|
||||
email_notifications.enable=Ota käyttöön sähköposti-ilmoitukset
|
||||
|
||||
visibility=Käyttäjän näkyvyys
|
||||
visibility.public=Julkinen
|
||||
visibility.limited=Rajattu
|
||||
@@ -678,23 +619,17 @@ watchers=Tarkkailijat
|
||||
stargazers=Tähtiharrastajat
|
||||
forks=Haarat
|
||||
delete_preexisting_label=Poista
|
||||
|
||||
|
||||
desc.private=Yksityinen
|
||||
desc.public=Julkinen
|
||||
desc.private_template=Yksityinen malli
|
||||
desc.public_template=Malli
|
||||
desc.internal=Sisäinen
|
||||
desc.archived=Arkistoidut
|
||||
|
||||
template.git_hooks=Git-koukut
|
||||
template.webhooks=Webkoukut
|
||||
template.topics=Aiheet
|
||||
template.avatar=Profiilikuva
|
||||
template.issue_labels=Ongelmien tunnisteet
|
||||
|
||||
|
||||
|
||||
migrate_items=Siirrettävät asiat
|
||||
migrate_items_wiki=Wiki
|
||||
migrate_items_milestones=Merkkipaalut
|
||||
@@ -711,7 +646,6 @@ migrate.migrate_items_options=Pääsymerkki vaaditaan lisäkohteiden siirtämise
|
||||
migrate.migrating=Tuodaan kohteesta <b>%s</b> ...
|
||||
migrate.migrating_failed=Tuonti kohteesta <b>%s</b> epäonnistui.
|
||||
migrate.migrating_git=Tuodaan Git-tietoja
|
||||
|
||||
mirror_from=peilaus alkaen
|
||||
forked_from=forkattu lähteestä
|
||||
unwatch=Lopeta tarkkailu
|
||||
@@ -719,11 +653,9 @@ watch=Tarkkaile
|
||||
unstar=Poista tähti
|
||||
star=Tähti
|
||||
download_archive=Lataa repo
|
||||
|
||||
no_desc=Ei kuvausta
|
||||
quick_guide=Pikaopas
|
||||
clone_this_repo=Kloonaa tämä repo
|
||||
|
||||
code=Koodi
|
||||
code.desc=Pääsy lähdekoodiin, tiedostoihin, committeihin ja haaroihin.
|
||||
branch=Haara
|
||||
@@ -736,7 +668,6 @@ pulls=Pull-pyynnöt
|
||||
project_board=Projektit
|
||||
packages=Paketit
|
||||
labels=Tunnisteet
|
||||
|
||||
milestones=Merkkipaalut
|
||||
commits=Commitit
|
||||
commit=Commit
|
||||
@@ -747,7 +678,6 @@ file_raw=Raaka
|
||||
file_history=Historia
|
||||
file_view_raw=Näytä raaka
|
||||
file_permalink=Pysyvä linkki
|
||||
|
||||
video_not_supported_in_browser=Selaimesi ei tue HTML5 video-tagia.
|
||||
audio_not_supported_in_browser=Selaimesi ei tue HTML5 audio-tagia.
|
||||
blame=Selitys
|
||||
@@ -755,7 +685,6 @@ download_file=Lataa tiedosto
|
||||
normal_view=Normaali näkymä
|
||||
line=rivi
|
||||
lines=rivejä
|
||||
|
||||
editor.new_file=Uusi tiedosto
|
||||
editor.upload_file=Lähetä tiedosto
|
||||
editor.edit_file=Muokkaa tiedostoa
|
||||
@@ -778,7 +707,6 @@ editor.filename_cannot_be_empty=Tiedostonimi ei voi olla tyhjä.
|
||||
editor.no_changes_to_show=Ei muutoksia näytettäväksi.
|
||||
editor.add_subdir=Lisää hakemisto…
|
||||
editor.require_signed_commit=Haara vaatii vahvistetun commitin
|
||||
|
||||
commits.commits=Commitit
|
||||
commits.nothing_to_compare=Nämä haarat vastaavat toisiaan.
|
||||
commits.find=Haku
|
||||
@@ -791,12 +719,8 @@ commits.newer=Uudemmat
|
||||
commits.signed_by=Allekirjoittanut
|
||||
commits.gpg_key_id=GPG avaimen ID
|
||||
commits.ssh_key_fingerprint=SSH avaimen sormenjälki
|
||||
|
||||
|
||||
commitstatus.error=Virhe
|
||||
commitstatus.pending=Odottaa
|
||||
|
||||
|
||||
projects=Projektit
|
||||
projects.description_placeholder=Kuvaus
|
||||
projects.create=Luo projekti
|
||||
@@ -813,7 +737,6 @@ projects.column.edit_title=Nimi
|
||||
projects.column.new_title=Nimi
|
||||
projects.open=Avaa
|
||||
projects.close=Sulje
|
||||
|
||||
issues.desc=Ongelmien, tehtävien ja merkkipaalujen hallinta.
|
||||
issues.filter_assignees=Suodata käyttäjiä
|
||||
issues.filter_milestones=Suodata merkkipaalu
|
||||
@@ -840,17 +763,17 @@ issues.new_label_placeholder=Tunnisteen nimi
|
||||
issues.new_label_desc_placeholder=Kuvaus
|
||||
issues.create_label=Luo tunniste
|
||||
issues.label_templates.helper=Valitse tunnistejoukko
|
||||
issues.add_milestone_at=`lisäsi tämän merkkipaaluun <b>%s</b> %s`
|
||||
issues.change_milestone_at=`vaihtoi merkkipaalun <b>%s</b> merkkipaaluun <b>%s</b> %s`
|
||||
issues.remove_milestone_at=`poisti tämän <b>%s</b> merkkipaalusta %s`
|
||||
issues.remove_project_at=`poisti tämän <b>%s</b> projektista %s`
|
||||
issues.deleted_milestone=`(poistettu)`
|
||||
issues.deleted_project=`(poistettu)`
|
||||
issues.self_assign_at=`itse otti tämän käsittelyyn %s`
|
||||
issues.change_title_at=`muutti otsikon <b><strike>%s</strike></b> otsikoksi <b>%s</b> %s`
|
||||
issues.delete_branch_at=`poisti haaran <b>%s</b> %s`
|
||||
issues.add_milestone_at=lisäsi tämän merkkipaaluun <b>%s</b> %s
|
||||
issues.change_milestone_at=vaihtoi merkkipaalun <b>%s</b> merkkipaaluun <b>%s</b> %s
|
||||
issues.remove_milestone_at=poisti tämän <b>%s</b> merkkipaalusta %s
|
||||
issues.remove_project_at=poisti tämän <b>%s</b> projektista %s
|
||||
issues.deleted_milestone=(poistettu)
|
||||
issues.deleted_project=(poistettu)
|
||||
issues.self_assign_at=itse otti tämän käsittelyyn %s
|
||||
issues.change_title_at=muutti otsikon <b><strike>%s</strike></b> otsikoksi <b>%s</b> %s
|
||||
issues.delete_branch_at=poisti haaran <b>%s</b> %s
|
||||
issues.filter_label=Tunniste
|
||||
issues.filter_label_exclude=`Käytä <code>alt</code> + <code>klikkaus/rivinvaihto</code> poissulkeaksesi tunnisteita`
|
||||
issues.filter_label_exclude=Käytä <code>alt</code> + <code>klikkaus/rivinvaihto</code> poissulkeaksesi tunnisteita
|
||||
issues.filter_label_no_select=Kaikki tunnisteet
|
||||
issues.filter_milestone=Merkkipaalu
|
||||
issues.filter_project=Projekti
|
||||
@@ -888,7 +811,7 @@ issues.open_title=Avoinna
|
||||
issues.closed_title=Suljettu
|
||||
issues.draft_title=Työversio
|
||||
issues.num_comments=%d kommenttia
|
||||
issues.commented_at=`kommentoi <a href="#%s">%s</a>`
|
||||
issues.commented_at=kommentoi <a href="#%s">%s</a>
|
||||
issues.delete_comment_confirm=Haluatko varmasti poistaa tämän kommentin?
|
||||
issues.context.copy_link=Kopioi linkki
|
||||
issues.context.quote_reply=Vastaa lainaamalla
|
||||
@@ -899,9 +822,9 @@ issues.close_comment_issue=Kommentoi ja sulje
|
||||
issues.reopen_issue=Avaa uudelleen
|
||||
issues.reopen_comment_issue=Kommentoi ja avaa uudelleen
|
||||
issues.create_comment=Kommentoi
|
||||
issues.closed_at=`sulki tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`uudelleenavasi tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`viittasi tähän ongelmaan commitissa <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=sulki tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.reopened_at=uudelleenavasi tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.commit_ref_at=viittasi tähän ongelmaan commitissa <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.author=Tekijä
|
||||
issues.role.owner=Omistaja
|
||||
issues.role.member=Jäsen
|
||||
@@ -939,18 +862,18 @@ issues.delete=Poista
|
||||
issues.tracker=Ajan seuranta
|
||||
issues.start_tracking_short=Aloita ajanotto
|
||||
issues.start_tracking=Aloita ajan seuranta
|
||||
issues.start_tracking_history=`aloitti työskentelyn %s`
|
||||
issues.start_tracking_history=aloitti työskentelyn %s
|
||||
issues.tracker_auto_close=Ajan seuranta pysähtyy automaattisesti kun tämä ongelma on suljettu
|
||||
issues.stop_tracking=Pysäytä ajanotto
|
||||
issues.stop_tracking_history=`lopetti työskentelyn %s`
|
||||
issues.stop_tracking_history=lopetti työskentelyn %s
|
||||
issues.add_time=Lisää aika käsin
|
||||
issues.add_time_short=Lisää aika
|
||||
issues.add_time_cancel=Peruuta
|
||||
issues.add_time_history=`lisäsi käytetyn ajan %s`
|
||||
issues.add_time_history=lisäsi käytetyn ajan %s
|
||||
issues.add_time_hours=Tuntia
|
||||
issues.add_time_minutes=Minuuttia
|
||||
issues.add_time_sum_to_small=Aikaa ei syötetty.
|
||||
issues.time_spent_from_all_authors=`Käytetty kokonaisaika: %s`
|
||||
issues.time_spent_from_all_authors=Käytetty kokonaisaika: %s
|
||||
issues.due_date=Määräpäivä
|
||||
issues.push_commit_1=lisäsi %d commitin %s
|
||||
issues.push_commits_n=lisäsi %d committia %s
|
||||
@@ -977,8 +900,6 @@ issues.reference_issue.body=Kuvaus
|
||||
issues.content_history.deleted=poistettu
|
||||
issues.content_history.edited=muokattu
|
||||
issues.content_history.created=luotu
|
||||
|
||||
|
||||
pulls.new=Uusi vetopyyntö
|
||||
pulls.compare_changes=Uusi vetopyyntö
|
||||
pulls.has_viewed_file=Katsottu
|
||||
@@ -988,7 +909,7 @@ pulls.filter_branch=Suodata branch
|
||||
pulls.no_results=Tuloksia ei löytynyt.
|
||||
pulls.nothing_to_compare=Nämä haarat vastaavat toisiaan. Ei ole tarvetta luoda vetopyyntöä.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Nämä haarat vastaavat toisiaan. Vetopyyntö tulee olemaan tyhjä.
|
||||
pulls.has_pull_request=`Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.has_pull_request=Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>
|
||||
pulls.create=Luo Pull-pyyntö
|
||||
pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="branch_target">%[3]s</code>
|
||||
pulls.merged_title_desc=yhdistetty %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s
|
||||
@@ -996,19 +917,10 @@ pulls.tab_conversation=Keskustelu
|
||||
pulls.tab_commits=Commitit
|
||||
pulls.tab_files=Muuttuneet tiedostot
|
||||
pulls.merged=Yhdistetty
|
||||
pulls.title_wip_desc=`<a href="#">Aloita otsikko sanalla <strong>%s</strong></a> estääksesi vetopyynnön yhdistämisen vahingossa.`
|
||||
pulls.title_wip_desc=<a href="#">Aloita otsikko sanalla <strong>%s</strong></a> estääksesi vetopyynnön yhdistämisen vahingossa.
|
||||
pulls.add_prefix=Lisää <strong>%s</strong> etuliite
|
||||
pulls.remove_prefix=Poista <strong>%s</strong> etuliite
|
||||
pulls.can_auto_merge_desc=Tämä pull-pyyntö voidaan yhdistää automaattisesti.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
milestones.new=Uusi merkkipaalu
|
||||
milestones.closed=Suljettu %s
|
||||
milestones.no_due_date=Ei määräpäivää
|
||||
@@ -1024,9 +936,6 @@ milestones.cancel=Peruuta
|
||||
milestones.modify=Päivitä merkkipaalu
|
||||
milestones.filter_sort.most_issues=Eniten ongelmia
|
||||
milestones.filter_sort.least_issues=Vähiten ongelmia
|
||||
|
||||
|
||||
|
||||
wiki=Wiki
|
||||
wiki.welcome=Tervetuloa Wikiin.
|
||||
wiki.welcome_desc=Wikissä voit kirjoittaa ja jakaa dokumentaatiota käyttäjien kesken.
|
||||
@@ -1043,7 +952,6 @@ wiki.delete_page_button=Poista sivu
|
||||
wiki.page_already_exists=Wiki-sivu, jolla on sama nimi on jo olemassa.
|
||||
wiki.pages=Sivut
|
||||
wiki.last_updated=Viimeksi päivitetty: %s
|
||||
|
||||
activity=Toiminta
|
||||
activity.period.filter_label=Aikajakso:
|
||||
activity.period.daily=1 päivä
|
||||
@@ -1076,11 +984,9 @@ activity.git_stats_addition_n=%d lisäystä
|
||||
activity.git_stats_and_deletions=ja
|
||||
activity.git_stats_deletion_1=%d poisto
|
||||
activity.git_stats_deletion_n=%d poistoa
|
||||
|
||||
search=Haku
|
||||
search.match=Osuma
|
||||
search.code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
|
||||
|
||||
settings=Asetukset
|
||||
settings.options=Repo
|
||||
settings.collaboration.admin=Ylläpitäjä
|
||||
@@ -1092,7 +998,6 @@ settings.hooks=Webkoukut
|
||||
settings.githooks=Git koukut
|
||||
settings.basic_settings=Perusasetukset
|
||||
settings.mirror_settings=Peilauksen asetukset
|
||||
|
||||
settings.site=Nettisivu
|
||||
settings.update_settings=Päivitä asetukset
|
||||
settings.advanced_settings=Lisäasetukset
|
||||
@@ -1249,7 +1154,6 @@ settings.lfs_pointers.oid=OID
|
||||
settings.lfs_pointers.inRepo=Repossa
|
||||
settings.lfs_pointers.exists=Löytyy varastosta
|
||||
settings.lfs_pointers.accessible=Saatavilla käyttäjälle
|
||||
|
||||
diff.browse_source=Selaa lähdekoodia
|
||||
diff.parent=vanhempi
|
||||
diff.commit=commit
|
||||
@@ -1278,7 +1182,6 @@ diff.review.placeholder=Tarkistuksen kommentti
|
||||
diff.review.comment=Kommentoi
|
||||
diff.review.approve=Hyväksy
|
||||
diff.review.reject=Pyydä muutoksia
|
||||
|
||||
release.releases=Julkaisut
|
||||
release.tags=Tagit
|
||||
release.new_release=Uusi julkaisu
|
||||
@@ -1305,18 +1208,12 @@ release.deletion_tag_desc=Poistetaanko tämä tagi reposta? Repon sisältö ja h
|
||||
release.deletion_tag_success=Tagi on poistettu.
|
||||
release.tag_name_invalid=Tagin nimi ei ole kelvollinen.
|
||||
release.downloads=Lataukset
|
||||
|
||||
branch.name=Haaran nimi
|
||||
branch.delete_head=Poista
|
||||
branch.create_branch=Luo haara <strong>%s</strong>
|
||||
|
||||
|
||||
|
||||
topic.manage_topics=Hallitse aiheita
|
||||
topic.done=Valmis
|
||||
|
||||
|
||||
|
||||
[org]
|
||||
org_name_holder=Organisaatio
|
||||
org_full_name_holder=Organisaation täydellinen nimi
|
||||
@@ -1336,8 +1233,6 @@ team_name_helper=Tiimin nimen tulisi olla lyhyt ja mieleenpainuva.
|
||||
team_desc_helper=Kuvaile tiimin tarkoitusta tai roolia.
|
||||
team_permission_desc=Käyttöoikeus
|
||||
team_unit_desc=Salli pääsy repon osioihin
|
||||
|
||||
|
||||
settings=Asetukset
|
||||
settings.options=Organisaatio
|
||||
settings.full_name=Kokonimi
|
||||
@@ -1350,7 +1245,6 @@ settings.visibility.public=Julkinen
|
||||
settings.visibility.limited_shortname=Rajattu
|
||||
settings.visibility.private=Yksityinen (näkyvä vain organisaation jäsenille)
|
||||
settings.visibility.private_shortname=Yksityinen
|
||||
|
||||
settings.update_settings=Päivitä asetukset
|
||||
settings.delete=Poista organisaatio
|
||||
settings.delete_account=Poista tämä organisaatio
|
||||
@@ -1358,8 +1252,6 @@ settings.delete_prompt=Organisaatio poistetaan pysyvästi, ja tätä <strong>EI
|
||||
settings.confirm_delete_account=Vahvista poisto
|
||||
settings.delete_org_title=Poista organisaatio
|
||||
settings.hooks_desc=Lisää webkoukkuja, jotka suoritetaan <strong>kaikissa repoissa</strong> tässä organisaatiossa.
|
||||
|
||||
|
||||
members.membership_visibility=Jäsenyyden näkyvyys:
|
||||
members.public=Näkyvä
|
||||
members.public_helper=tee piilotettu
|
||||
@@ -1372,7 +1264,6 @@ members.remove=Poista
|
||||
members.leave=Poistu
|
||||
members.invite_desc=Lisää uusi jäsen %s:
|
||||
members.invite_now=Kutsu nyt
|
||||
|
||||
teams.join=Liity
|
||||
teams.leave=Poistu
|
||||
teams.read_access=Luettu
|
||||
@@ -1410,7 +1301,6 @@ monitor=Valvonta
|
||||
first_page=Ensimmäinen
|
||||
last_page=Viimeisin
|
||||
total=Yhteensä: %d
|
||||
|
||||
dashboard.statistic=Yhteenveto
|
||||
dashboard.operations=Huoltotoimet
|
||||
dashboard.system_status=Järjestelmän tila
|
||||
@@ -1446,7 +1336,6 @@ dashboard.total_gc_time=Yhteensä GC tauko
|
||||
dashboard.total_gc_pause=Yhteensä GC tauko
|
||||
dashboard.last_gc_pause=Viime GC tauko
|
||||
dashboard.gc_times=GC aikoja
|
||||
|
||||
users.user_manage_panel=Tilien hallinta
|
||||
users.new_account=Luo käyttäjätili
|
||||
users.name=Käyttäjätunnus
|
||||
@@ -1486,7 +1375,6 @@ users.list_status_filter.is_prohibit_login=Kirjautuminen estetty
|
||||
users.list_status_filter.not_prohibit_login=Kirjautuminen sallittu
|
||||
users.list_status_filter.is_2fa_enabled=2FA käytössä
|
||||
users.list_status_filter.not_2fa_enabled=2FA ei käytössä
|
||||
|
||||
emails.email_manage_panel=Käyttäjien sähköpostien hallinta
|
||||
emails.primary=Ensisijainen
|
||||
emails.activated=Aktivoitu
|
||||
@@ -1495,13 +1383,11 @@ emails.filter_sort.email_reverse=Sähköposti (käänteinen)
|
||||
emails.filter_sort.name=Käyttäjänimi
|
||||
emails.filter_sort.name_reverse=Käyttäjänimi (käänteinen)
|
||||
emails.duplicate_active=Tämä sähköpostiosoite on jo käytössä toisella käyttäjällä.
|
||||
|
||||
orgs.org_manage_panel=Organisaatioiden hallinta
|
||||
orgs.name=Nimi
|
||||
orgs.teams=Tiimit
|
||||
orgs.members=Jäsenet
|
||||
orgs.new_orga=Uusi organisaatio
|
||||
|
||||
repos.repo_manage_panel=Repojen hallinta
|
||||
repos.owner=Omistaja
|
||||
repos.name=Nimi
|
||||
@@ -1511,15 +1397,11 @@ repos.stars=Tähdet
|
||||
repos.forks=Haarat
|
||||
repos.issues=Ongelmat
|
||||
repos.size=Koko
|
||||
|
||||
packages.owner=Omistaja
|
||||
packages.name=Nimi
|
||||
packages.type=Tyyppi
|
||||
packages.repository=Repo
|
||||
packages.size=Koko
|
||||
|
||||
|
||||
|
||||
auths.new=Lisää todennuslähde
|
||||
auths.name=Nimi
|
||||
auths.type=Tyyppi
|
||||
@@ -1556,7 +1438,6 @@ auths.delete=Poista todennuslähde
|
||||
auths.delete_auth_title=Todennuslähteen poisto
|
||||
auths.delete_auth_desc=Todennuslähteen poisto estää käyttäjiä käyttämästä sitä kirjautumiseen. Jatketaanko?
|
||||
auths.deletion_success=Todennuslähde on poistettu.
|
||||
|
||||
config.server_config=Palvelin asetukset
|
||||
config.app_name=Sivuston otsikko
|
||||
config.app_ver=Gitea versio
|
||||
@@ -1566,7 +1447,6 @@ config.git_version=Git versio
|
||||
config.repo_root_path=Repon juuren polku
|
||||
config.script_type=Komentosarjan tyyppi
|
||||
config.reverse_auth_user=Käänteinen todennus käyttäjä
|
||||
|
||||
config.ssh_config=SSH asetukset
|
||||
config.ssh_enabled=Käytössä
|
||||
config.ssh_port=Portti
|
||||
@@ -1576,9 +1456,7 @@ config.ssh_key_test_path=Polku jossa avaimet testataan
|
||||
config.ssh_keygen_path=Keygen ('ssh-keygen') polku
|
||||
config.ssh_minimum_key_size_check=Avaimen vähimmäiskoko tarkistus
|
||||
config.ssh_minimum_key_sizes=Avaimen vähimmäiskoot
|
||||
|
||||
config.lfs_enabled=Käytössä
|
||||
|
||||
config.db_config=Tietokannan asetukset
|
||||
config.db_type=Tyyppi
|
||||
config.db_host=Isäntä
|
||||
@@ -1586,7 +1464,6 @@ config.db_name=Nimi
|
||||
config.db_user=Käyttäjätunnus
|
||||
config.db_ssl_mode=SSL
|
||||
config.db_path=Polku
|
||||
|
||||
config.service_config=Palvelu asetukset
|
||||
config.show_registration_button=Näytä rekisteröidy painike
|
||||
config.disable_key_size_check=Poista käytöstä avaimen vähimmäiskoko tarkistus
|
||||
@@ -1594,25 +1471,20 @@ config.enable_captcha=Ota CAPTCHA käyttöön
|
||||
config.active_code_lives=Aktiivinen koodi elämät ennen vanhenemista
|
||||
config.default_keep_email_private=Piilota sähköpostiosoitteet oletuksena
|
||||
config.default_visibility_organization=Uuden organisaation oletusnäkyvyys
|
||||
|
||||
config.webhook_config=Webkoukku asetukset
|
||||
config.queue_length=Jonon pituus
|
||||
config.deliver_timeout=Toimitus aikakatkaisu
|
||||
|
||||
config.mailer_enabled=Käytössä
|
||||
config.mailer_name=Nimi
|
||||
config.mailer_smtp_addr=SMTP osoite
|
||||
config.mailer_smtp_port=SMTP portti
|
||||
config.mailer_user=Käyttäjä
|
||||
|
||||
config.oauth_config=OAuth asetukset
|
||||
config.oauth_enabled=Käytössä
|
||||
|
||||
config.cache_config=Välimuistin asetukset
|
||||
config.cache_adapter=Välimuistin sovitin
|
||||
config.cache_interval=Välimuistin aikaväli
|
||||
config.cache_conn=Välimuistin yhteys merkkijono
|
||||
|
||||
config.session_config=Istunnon asetukset
|
||||
config.session_provider=Istunnon toimittaja
|
||||
config.provider_config=Toimittajan asetukset
|
||||
@@ -1621,21 +1493,15 @@ config.gc_interval_time=GC aikaväli aika
|
||||
config.session_life_time=Istunnon elinikä
|
||||
config.https_only=Vain HTTPS
|
||||
config.cookie_life_time=Evästeen elinikä
|
||||
|
||||
config.picture_service=Kuva palvelu
|
||||
config.disable_gravatar=Poista käytöstä Gravatar
|
||||
|
||||
config.git_gc_args=Roskienkeruun parametrit
|
||||
config.git_migrate_timeout=Migraatio aikakatkaistiin
|
||||
config.git_mirror_timeout=Peilauspäivitys aikakatkaistiin
|
||||
config.git_clone_timeout=Kloonaus aikakatkaistiin
|
||||
config.git_gc_timeout=Roskienkeruu aikakatkaistiin
|
||||
|
||||
config.log_config=Loki asetukset
|
||||
config.disabled_logger=Pois käytöstä
|
||||
|
||||
|
||||
|
||||
monitor.cron=Cron tehtävät
|
||||
monitor.name=Nimi
|
||||
monitor.schedule=Aikataulu
|
||||
@@ -1645,13 +1511,11 @@ monitor.process=Käynnissä olevat prosessit
|
||||
monitor.desc=Kuvaus
|
||||
monitor.start=Alkamisaika
|
||||
monitor.execute_time=Suoritusaika
|
||||
|
||||
monitor.queues=Jonot
|
||||
monitor.queue=Jono: %s
|
||||
monitor.queue.name=Nimi
|
||||
monitor.queue.type=Tyyppi
|
||||
monitor.queue.settings.submit=Päivitä asetukset
|
||||
|
||||
notices.system_notice_list=Järjestelmän ilmoitukset
|
||||
notices.select_all=Valitse kaikki
|
||||
notices.deselect_all=Poista kaikki valinnat
|
||||
@@ -1730,22 +1594,14 @@ owner.settings.cleanuprules.enabled=Käytössä
|
||||
[secrets]
|
||||
|
||||
[actions]
|
||||
|
||||
|
||||
|
||||
runners.name=Nimi
|
||||
runners.owner_type=Tyyppi
|
||||
runners.description=Kuvaus
|
||||
runners.task_list.run=Suorita
|
||||
runners.task_list.repository=Repo
|
||||
runners.task_list.commit=Commit
|
||||
|
||||
runs.commit=Commit
|
||||
|
||||
|
||||
|
||||
|
||||
[projects]
|
||||
|
||||
[git.filemode]
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -20,7 +20,6 @@ signed_in_as=Bejelentkezve mint
|
||||
toc=Tartalomjegyzék
|
||||
licenses=Licencek
|
||||
return_to_gitea=Vissza a Gitea-hoz
|
||||
|
||||
username=Felhasználónév
|
||||
email=E-mail cím
|
||||
password=Jelszó
|
||||
@@ -29,8 +28,6 @@ captcha=CAPTCHA
|
||||
twofa=Kétlépcsős hitelesítés
|
||||
twofa_scratch=Kétlépcsős bejelentkezés egyszer használatos kódja
|
||||
passcode=Jelkód
|
||||
|
||||
|
||||
repository=Tároló
|
||||
organization=Szervezet
|
||||
mirror=Tükör
|
||||
@@ -47,18 +44,15 @@ settings=Beállítások
|
||||
your_profile=Profil
|
||||
your_starred=Csillagozott
|
||||
your_settings=Beállítások
|
||||
|
||||
all=Összes
|
||||
sources=Saját
|
||||
mirrors=Tükör
|
||||
collaborative=Közreműködő
|
||||
forks=Másolat
|
||||
|
||||
activities=Tevékenységek
|
||||
pull_requests=Egyesítési Kérések
|
||||
issues=Hibajegyek
|
||||
milestones=Mérföldkövek
|
||||
|
||||
cancel=Mégse
|
||||
save=Mentés
|
||||
add=Hozzáadás
|
||||
@@ -66,30 +60,18 @@ add_all=Összes hozzáadása
|
||||
remove=Eltávolítás
|
||||
remove_all=Összes eltávolítása
|
||||
edit=Szerkesztés
|
||||
|
||||
enabled=Engedélyezett
|
||||
disabled=Letiltva
|
||||
|
||||
|
||||
write=Írás
|
||||
preview=Előnézet
|
||||
loading=Betöltés…
|
||||
|
||||
step1=1. lépés:
|
||||
step2=2. lépés:
|
||||
|
||||
error404=Az elérni kívánt oldal vagy <strong>nem létezik</strong>, vagy <strong>nincs jogosultsága</strong> a megtekintéséhez.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
concept_code_repository=Tároló
|
||||
concept_user_organization=Szervezet
|
||||
|
||||
|
||||
|
||||
name=Név
|
||||
archived=Archivált
|
||||
|
||||
[aria]
|
||||
|
||||
@@ -130,7 +112,6 @@ err_empty_admin_password=A rendszergazdai jelszó nem lehet üres.
|
||||
err_empty_admin_email=A rendszergazdai jelszó nem lehet üres.
|
||||
err_admin_name_is_reserved=Az rendszergazda felhasználóneve helytelen, vagy foglalt
|
||||
err_admin_name_is_invalid=Az rendszergazda felhasználói neve helytelen
|
||||
|
||||
general_title=Általános beállítások
|
||||
app_name=Webhely címe
|
||||
app_name_helper=Itt megadhatja a vállalata nevét.
|
||||
@@ -147,7 +128,6 @@ app_url=Az oldal alapértelmezett címe
|
||||
app_url_helper=Alapcím HTTP(S) klón címekhez és e-mail értesítésekhez.
|
||||
log_root_path=Naplófájl elérési útja
|
||||
log_root_path_helper=A naplófájlok ebbe a mappába fognak íródni.
|
||||
|
||||
optional_title=További beállítások
|
||||
email_title=E-mail beállítások
|
||||
smtp_addr=SMTP kiszolgáló
|
||||
@@ -209,15 +189,12 @@ my_orgs=Szervezeteim
|
||||
my_mirrors=Tükreim
|
||||
view_home=Nézet %s
|
||||
search_repos=Tároló keresés…
|
||||
|
||||
show_archived=Archivált
|
||||
archived=Archivált
|
||||
|
||||
show_private=Privát
|
||||
show_both_private_public=Publikus és privát mutatása
|
||||
show_only_private=Csak privát mutatása
|
||||
show_only_public=Csak publikus mutatása
|
||||
|
||||
issues.in_your_repos=A tárolóidban
|
||||
|
||||
[explore]
|
||||
@@ -232,7 +209,6 @@ org_no_results=Nincs ilyen szervezet.
|
||||
code_no_results=Nincs találat a keresési kifejezésedre.
|
||||
code_last_indexed_at=Utoljára indexelve: %s
|
||||
|
||||
|
||||
[auth]
|
||||
create_new_account=Regisztráció
|
||||
register_helper_msg=Van már felhasználói fiókja? Jelentkezzen be!
|
||||
@@ -287,23 +263,12 @@ authorization_failed=Az engedélyezés nem sikerült
|
||||
sspi_auth_failed=SSPI hitelesítés sikertelen
|
||||
|
||||
[mail]
|
||||
|
||||
activate_account=Kérjük aktiválja a fiókját
|
||||
|
||||
activate_email=E-mail cím megerősítése
|
||||
|
||||
register_notify=A Gitea üdvözli
|
||||
|
||||
reset_password=Fiókjának visszaállítása
|
||||
|
||||
register_success=Sikeres regisztráció
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[modal]
|
||||
yes=Igen
|
||||
no=Nem
|
||||
@@ -322,30 +287,26 @@ PayloadUrl=Tartalom URL-címe
|
||||
TeamName=Csoport neve
|
||||
AuthName=Engedélyezési név
|
||||
AdminEmail=Rendszergazdai e-mail
|
||||
|
||||
NewBranchName=Új ág neve
|
||||
CommitSummary=Commit áttekintő
|
||||
CommitMessage=Commit üzenet
|
||||
CommitChoice=Commit választás
|
||||
TreeName=Elérési útvonal
|
||||
Content=Tartalom
|
||||
|
||||
SSPISeparatorReplacement=Elválasztó
|
||||
SSPIDefaultLanguage=Alapértelmezett nyelv
|
||||
|
||||
require_error=` nem lehet üres`
|
||||
alpha_dash_error=` csak alfanumerikus, kötőjel("-") és alsóvonal("_") karaktert használhat.`
|
||||
alpha_dash_dot_error=` csak alfanumerikus, kötőjel("-") malsóvonal("_") és pont(".") karaktert tartalmazhat.`
|
||||
git_ref_name_error=` egy jól formált git referenciának kell lennie.`
|
||||
size_error=` %s méretűnek kell lennie.`
|
||||
min_size_error=` legalább %s karaktert kell tartalmaznia.`
|
||||
max_size_error=` legfeljebb %s karaktert tartalmazhat.`
|
||||
email_error=` nem valódi e-mail cím.`
|
||||
require_error=" nem lehet üres"
|
||||
alpha_dash_error=" csak alfanumerikus, kötőjel("-") és alsóvonal("_") karaktert használhat."
|
||||
alpha_dash_dot_error=" csak alfanumerikus, kötőjel("-") malsóvonal("_") és pont(".") karaktert tartalmazhat."
|
||||
git_ref_name_error=" egy jól formált git referenciának kell lennie."
|
||||
size_error=" %s méretűnek kell lennie."
|
||||
min_size_error=" legalább %s karaktert kell tartalmaznia."
|
||||
max_size_error=" legfeljebb %s karaktert tartalmazhat."
|
||||
email_error=" nem valódi e-mail cím."
|
||||
unknown_error=Ismeretlen hiba:
|
||||
captcha_incorrect=Helytelen kódot adtál meg.
|
||||
password_not_match=A jelszavak nem egyeznek.
|
||||
lang_select_error=Nyelv kiválasztása a listából.
|
||||
|
||||
username_been_taken=A felhasználói név már foglalt.
|
||||
repo_name_been_taken=A tároló neve már használatban van.
|
||||
org_name_been_taken=Sajnáljuk, ezt a szervezetnevet már más használja.
|
||||
@@ -364,12 +325,9 @@ enterred_invalid_password=A megadott jelszó érvénytelen.
|
||||
user_not_exist=A fiók nem létezik.
|
||||
team_not_exist=Ez a csapat nem létezik.
|
||||
cannot_add_org_to_team=Egy szervezet nem adható hozzá egy csoporthoz tagként.
|
||||
|
||||
invalid_ssh_key=Nem tudtuk ellenőrizni az SSH kulcsodat: %s
|
||||
invalid_gpg_key=Nem tudtuk ellenőrizni a GPG kulcsodat: %s
|
||||
auth_failed=A hitelesítés sikertelen: %v
|
||||
|
||||
|
||||
target_branch_not_exist=Cél ág nem létezik.
|
||||
|
||||
[user]
|
||||
@@ -385,7 +343,6 @@ follow=Követés
|
||||
unfollow=Követés törlése
|
||||
user_bio=Életrajz
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Fiók
|
||||
@@ -401,7 +358,6 @@ delete=Fiók törlése
|
||||
twofa=Kétlépcsős hitelesítés
|
||||
account_link=Kapcsolt fiókok
|
||||
organization=Szervezetek
|
||||
|
||||
public_profile=Nyilvános profil
|
||||
password_username_disabled=A nem helyi felhasználóknak nem engedélyezett, hogy megváltoztassák a felhasználói nevüket. Kérjük lépjen kapcsolatba a helyi rendszergazdájával további információkért.
|
||||
full_name=Teljes név
|
||||
@@ -417,7 +373,6 @@ language=Nyelv
|
||||
ui=Téma
|
||||
comment_type_group_title=Cím
|
||||
privacy=Adatvédelem
|
||||
|
||||
lookup_avatar_by_mail=Avatar mutatása email cím alapján
|
||||
federated_avatar_lookup=Összevont profilkép keresés
|
||||
enable_custom_avatar=Egyéni profilkép használata
|
||||
@@ -426,14 +381,12 @@ update_avatar=Profilkép Frissítése
|
||||
delete_current_avatar=Jelenlegi profilkép törlése
|
||||
uploaded_avatar_not_a_image=A feltöltött fájl nem kép.
|
||||
update_avatar_success=A profilképe frissítve lett.
|
||||
|
||||
change_password=Jelszó frissítése
|
||||
old_password=Jelenlegi jelszó
|
||||
new_password=Új jelszó
|
||||
password_incorrect=A megadott jelenlegi jelszó helytelen.
|
||||
change_password_success=A jelszava frissítve lett. Mostantól ezzel jelentkezhet be.
|
||||
password_change_disabled=A nem helyi felhasználók nem frissíthetik jelszavukat a webes felületen keresztül.
|
||||
|
||||
emails=E-mail címek
|
||||
manage_emails=E-mail címek kezelése
|
||||
manage_themes=Válassza ki az alapértelmezett témát
|
||||
@@ -460,7 +413,6 @@ add_openid=OpenID URI hozzáadása
|
||||
add_email_success=Új email cím hozzáadva.
|
||||
add_openid_success=Új OpenID cím hozzáadva.
|
||||
keep_email_private=E-mail cím elrejtése
|
||||
|
||||
manage_ssh_keys=SSH kulcsok kezelése
|
||||
manage_gpg_keys=GPG kulcsok kezelése
|
||||
add_key=Kulcs hozzáadása
|
||||
@@ -498,7 +450,6 @@ hide_openid=Elrejtés a profilról
|
||||
ssh_disabled=SSH kikapcsolva
|
||||
manage_social=Kapcsolódó fiókok kezelése
|
||||
unbind=Szétválasztás
|
||||
|
||||
manage_access_token=Hozzáférési Token kezelése
|
||||
generate_new_token=Új token generálása
|
||||
tokens_desc=Ezek a tokenek hozzáférést nyújtanak a fiókodhoz a Gitea API használatával.
|
||||
@@ -512,7 +463,6 @@ access_token_deletion_cancel_action=Mégse
|
||||
access_token_deletion_confirm_action=Törlés
|
||||
delete_token_success=A token törölve lett. Az ezt használó alkalmazásoknak többé nincs hozzáférése a fiókodhoz.
|
||||
permission_read=Olvasott
|
||||
|
||||
manage_oauth2_applications=OAuth2 alkalmazások kezelése
|
||||
edit_oauth2_application=OAuth2 alkalmazások szerkesztése
|
||||
remove_oauth2_application=OAuth2 alkalmazások etávolítása
|
||||
@@ -526,11 +476,9 @@ oauth2_client_secret=Titkos kliens kulcs
|
||||
oauth2_regenerate_secret=Titok újragenerálása
|
||||
oauth2_regenerate_secret_hint=Elvesztette a titkát?
|
||||
oauth2_application_edit=Szerkesztés
|
||||
|
||||
authorized_oauth2_applications=Engedélyezett OAuth2 alkalmazások
|
||||
revoke_key=Visszavonás
|
||||
revoke_oauth2_grant=Hozzáférés megvonása
|
||||
|
||||
twofa_desc=A kétlépcsős hitelesítés növeli a fiók biztonságát.
|
||||
twofa_is_enrolled=A fiókja jelenleg <strong>használ</strong> kétlépcsős hitelesítést.
|
||||
twofa_not_enrolled=A fiókja jelenleg nem használ kétlépcsős hitelesítést.
|
||||
@@ -543,28 +491,21 @@ twofa_disabled=Kétlépcsős hitelesítés letiltva.
|
||||
scan_this_image=Olvassa be ezt a hitelesítő alkalmazásával:
|
||||
or_enter_secret=Vagy adja meg a titkot: %s
|
||||
passcode_invalid=A jelszava helytelen. Próbálja újra.
|
||||
|
||||
|
||||
manage_account_links=Kapcsolt fiókok kezelése
|
||||
link_account=Fiók kapcsolása
|
||||
remove_account_link=Csatolt fiók eltávolítása
|
||||
remove_account_link_desc=Egy kapcsolt fiók törlésével visszavonja a hozzáférését a fiókjához. Folytatja?
|
||||
remove_account_link_success=A kapcsolt fiók törölve lett.
|
||||
|
||||
|
||||
orgs_none=Nem tagja egy szervezetnek sem.
|
||||
|
||||
delete_account=Fiókod törlése
|
||||
delete_prompt=Ezzel véglegesen törli a fiókját. Ezt <strong>NEM LEHET</strong> visszacsinálni.
|
||||
confirm_delete_account=Törlés megerősítése
|
||||
delete_account_title=Fiók törlése
|
||||
delete_account_desc=Biztosan véglegesen törölni szeretné ezt a fiókot?
|
||||
|
||||
email_notifications.enable=Email értesítés engedélyezése
|
||||
email_notifications.onmention=Email küldése csak megjelölés esetén
|
||||
email_notifications.disable=Email értesítés kikapcsolása
|
||||
email_notifications.submit=E-mail beállítások megadása
|
||||
|
||||
visibility.public=Nyilvános
|
||||
visibility.private=Privát
|
||||
|
||||
@@ -607,15 +548,12 @@ forks=Másolások
|
||||
reactions_more=és további %d
|
||||
language_other=Egyéb
|
||||
delete_preexisting_label=Törlés
|
||||
|
||||
|
||||
desc.private=Privát
|
||||
desc.public=Nyilvános
|
||||
desc.private_template=Privát sablon
|
||||
desc.public_template=Sablon
|
||||
desc.internal=Belső
|
||||
desc.archived=Archivált
|
||||
|
||||
template.items=Sablon elemek
|
||||
template.git_content=Git tartalom (alapértelmezett branch)
|
||||
template.git_hooks=Git Hook-ok
|
||||
@@ -625,11 +563,8 @@ template.avatar=Avatar
|
||||
template.issue_labels=Hibajegy címkék
|
||||
template.one_item=Legalább egy sablonelemet ki kell választani
|
||||
template.invalid=Ki kell választani egy sablon tárolót
|
||||
|
||||
archive.issue.nocomment=Ez a tároló archiválva van. Nem szólhat hozzá ehhez a problémához.
|
||||
archive.pull.nocomment=Ez a tároló archíválva van. Nem szólhat hozzá ehhez az egyesítési kéréshez.
|
||||
|
||||
|
||||
migrate_items_wiki=Wiki
|
||||
migrate_items_milestones=Mérföldkövek
|
||||
migrate_items_labels=Címkék
|
||||
@@ -644,7 +579,6 @@ migrate.permission_denied=Nem engedélyezett számodra a helyi tárolók import
|
||||
migrate.failed=A migráció sikertelen: %v
|
||||
migrated_from=Migrálva innen: <a href="%[1]s">%[2]s</a>
|
||||
migrated_from_fake=Migrálva innen: %[1]s
|
||||
|
||||
mirror_from=tükörképe a:
|
||||
forked_from=tükrözve innen:
|
||||
fork_from_self=Nem tükrözhet önmaga által birtokolt tárolót.
|
||||
@@ -655,14 +589,12 @@ unstar=Csillag törlése
|
||||
star=Csillagozás
|
||||
fork=Tükrözés
|
||||
download_archive=Tároló letöltése
|
||||
|
||||
no_desc=Nincs leírás
|
||||
quick_guide=Gyors útmutató
|
||||
clone_this_repo=Tároló klónozása
|
||||
create_new_repo_command=Egy új tároló létrehozása a parancssorból
|
||||
push_exist_repo=Meglévő tároló feltöltése parancssorból
|
||||
empty_message=A tároló nem tartalmaz semmit.
|
||||
|
||||
code=Kód
|
||||
branch=Ág
|
||||
tree=Fa
|
||||
@@ -674,7 +606,6 @@ pulls=Egyesítési kérések
|
||||
project_board=Projektek
|
||||
labels=Címkék
|
||||
org_labels_desc_manage=kezelés
|
||||
|
||||
milestones=Mérföldkövek
|
||||
commits=Commit-ok
|
||||
commit=Commit
|
||||
@@ -686,7 +617,6 @@ file_history=Előzmények
|
||||
file_view_raw=Nyers fájl megtekintése
|
||||
file_permalink=Állandó hivatkozás
|
||||
file_too_large=Ez a fájl túl nagy ahhoz, hogy megjelenítsük.
|
||||
|
||||
video_not_supported_in_browser=A böngésző nem támogatja a HTML5 video tag-et.
|
||||
audio_not_supported_in_browser=A böngésző nem támogatja a HTML5 audio tag-et.
|
||||
stored_lfs=Git LFS-el eltárolva
|
||||
@@ -696,7 +626,6 @@ commit_graph.hide_pr_refs=Pull request-ek elrejtése
|
||||
normal_view=Normál nézet
|
||||
line=sor
|
||||
lines=sor
|
||||
|
||||
editor.new_file=Új fájl
|
||||
editor.upload_file=Fájl feltöltése
|
||||
editor.edit_file=Fájl szerkesztése
|
||||
@@ -722,7 +651,6 @@ editor.filename_cannot_be_empty=A fájl neve nem lehet üres.
|
||||
editor.commit_empty_file_header=Egy üres fájl commitolása
|
||||
editor.no_changes_to_show=Nincsen megjeleníthető változás.
|
||||
editor.add_subdir=Mappa hozzáadása…
|
||||
|
||||
commits.commits=Commit-ok
|
||||
commits.search=Commit-ok keresése…
|
||||
commits.find=Keresés
|
||||
@@ -734,12 +662,8 @@ commits.older=Régebbi
|
||||
commits.newer=Újabb
|
||||
commits.signed_by=Aláírta
|
||||
commits.gpg_key_id=GPG kulcs azonosító
|
||||
|
||||
|
||||
commitstatus.pending=Függőben
|
||||
|
||||
ext_issues.desc=Külső hibakövető csatlakoztatás.
|
||||
|
||||
projects=Projektek
|
||||
projects.description_placeholder=Leírás
|
||||
projects.title=Cím
|
||||
@@ -747,7 +671,6 @@ projects.new=Új projekt
|
||||
projects.template.desc=Sablon
|
||||
projects.column.edit_title=Név
|
||||
projects.column.new_title=Név
|
||||
|
||||
issues.desc=Hibajelentések, feladatok és mérföldkövek elrendezése.
|
||||
issues.filter_milestones=Mérföldkövek szűrése
|
||||
issues.filter_labels=Címkék szűrése
|
||||
@@ -777,16 +700,16 @@ issues.label_templates.title=Előre definiált címkék betöltése
|
||||
issues.label_templates.info=Még nincsenek címkék. Új címke létrehozható az 'Új címke' vagy egy előre meghatározott címkekészlet használatával:
|
||||
issues.label_templates.helper=Címkekészlet választása
|
||||
issues.label_templates.use=Címke készlet használata
|
||||
issues.add_milestone_at=`A hibajegy hozzá lett adva a <b>%s</b> mérföldkőhöz %s`
|
||||
issues.change_milestone_at=`módosítva lett a mérföldkő <b>%s</b>-ról/ről <b>%s</b>-ra/re %s`
|
||||
issues.remove_milestone_at=`eltávolítva a <b>%s</b> mérföldkőből %s`
|
||||
issues.deleted_milestone=`(törölt)`
|
||||
issues.deleted_project=`(törölt)`
|
||||
issues.self_assign_at=`önmagához rendelte %s`
|
||||
issues.add_assignee_at=`hozzárendelve <b>%s</b> által %s`
|
||||
issues.remove_assignee_at=`hozzárendelés törlése <b>%s</b> által %s`
|
||||
issues.remove_self_assignment=`eltávolította a hozzárendelést %s`
|
||||
issues.delete_branch_at=`letörölte a(z) <b>%s</b> ágat %s`
|
||||
issues.add_milestone_at=A hibajegy hozzá lett adva a <b>%s</b> mérföldkőhöz %s
|
||||
issues.change_milestone_at=módosítva lett a mérföldkő <b>%s</b>-ról/ről <b>%s</b>-ra/re %s
|
||||
issues.remove_milestone_at=eltávolítva a <b>%s</b> mérföldkőből %s
|
||||
issues.deleted_milestone=(törölt)
|
||||
issues.deleted_project=(törölt)
|
||||
issues.self_assign_at=önmagához rendelte %s
|
||||
issues.add_assignee_at=hozzárendelve <b>%s</b> által %s
|
||||
issues.remove_assignee_at=hozzárendelés törlése <b>%s</b> által %s
|
||||
issues.remove_self_assignment=eltávolította a hozzárendelést %s
|
||||
issues.delete_branch_at=letörölte a(z) <b>%s</b> ágat %s
|
||||
issues.filter_label=Címke
|
||||
issues.filter_label_no_select=Minden címke
|
||||
issues.filter_milestone=Mérföldkő
|
||||
@@ -825,7 +748,7 @@ issues.open_title=Nyitott
|
||||
issues.closed_title=Lezárt
|
||||
issues.draft_title=Piszkozat
|
||||
issues.num_comments=%d hozzászólás
|
||||
issues.commented_at=`hozzászólt <a href="#%s">%s</a>`
|
||||
issues.commented_at=hozzászólt <a href="#%s">%s</a>
|
||||
issues.delete_comment_confirm=Biztos vagy benne, hogy törölni akarod ezt a hozzászólást?
|
||||
issues.context.copy_link=Hivatkozás másolása
|
||||
issues.context.quote_reply=Válasz idézettel
|
||||
@@ -835,7 +758,7 @@ issues.close_comment_issue=Hozzászólás és lezárás
|
||||
issues.reopen_issue=Újranyitás
|
||||
issues.reopen_comment_issue=Hozzászólás és újranyitás
|
||||
issues.create_comment=Hozzászólás
|
||||
issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=hivatkozott erre a hibajegyre egy commit-ból <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.role.owner=Tulajdonos
|
||||
issues.role.member=Tag
|
||||
issues.re_request_review=Véleményezés újrakérése
|
||||
@@ -859,8 +782,8 @@ issues.label.filter_sort.reverse_alphabetically=Fordított betűrendben
|
||||
issues.label.filter_sort.by_size=Legkisebb méret
|
||||
issues.label.filter_sort.reverse_by_size=Legnagyobb méret
|
||||
issues.num_participants=%d Résztvevő
|
||||
issues.attachment.open_tab=`A(z) "%s" megnyitása új fülön`
|
||||
issues.attachment.download=`Kattintson a(z) "%s" letöltéséhez`
|
||||
issues.attachment.open_tab=A(z) "%s" megnyitása új fülön
|
||||
issues.attachment.download=Kattintson a(z) "%s" letöltéséhez
|
||||
issues.subscribe=Feliratkozás
|
||||
issues.unsubscribe=Leiratkozás
|
||||
issues.lock=Beszélgetés lezárása
|
||||
@@ -878,17 +801,17 @@ issues.comment_on_locked=Egy zárolt hibajegyhez nem lehet hozzászólni.
|
||||
issues.delete=Törlés
|
||||
issues.tracker=Időzítő
|
||||
issues.start_tracking=Időmérés elkezdése
|
||||
issues.start_tracking_history=`elkezdett dolgozni %s`
|
||||
issues.stop_tracking_history=`abbahagyta a %s`
|
||||
issues.start_tracking_history=elkezdett dolgozni %s
|
||||
issues.stop_tracking_history=abbahagyta a %s
|
||||
issues.add_time=Idő kézi hozzáadása
|
||||
issues.add_time_short=Idő hozzáadása
|
||||
issues.add_time_cancel=Megszakítva
|
||||
issues.add_time_history=`hozzáadta %s`
|
||||
issues.add_time_history=hozzáadta %s
|
||||
issues.add_time_hours=Óra
|
||||
issues.add_time_minutes=Perc
|
||||
issues.add_time_sum_to_small=Nem volt idő megadva.
|
||||
issues.time_spent_total=Teljes ráfordított idő
|
||||
issues.time_spent_from_all_authors=`Teljes ráfordított idő: %s`
|
||||
issues.time_spent_from_all_authors=Teljes ráfordított idő: %s
|
||||
issues.due_date=Határidő
|
||||
issues.invalid_due_date_format=A határidőt 'éééé-hh-nn' formátumban kell megadni.
|
||||
issues.error_modifying_due_date=Határidő módosítása sikertelen.
|
||||
@@ -924,8 +847,6 @@ issues.review.reviewers=Véleményezők
|
||||
issues.review.show_outdated=Elavultak mutatása
|
||||
issues.review.hide_outdated=Elavultak elrejtése
|
||||
issues.assignee.error=Nem minden megbízott lett hozzáadva egy nem várt hiba miatt.
|
||||
|
||||
|
||||
pulls.new=Egyesítési kérés
|
||||
pulls.compare_changes=Új egyesítési kérés
|
||||
pulls.compare_base=egyesítés ide
|
||||
@@ -943,17 +864,8 @@ pulls.reopen_to_merge=Kérjük, nyissa újra az egyesítési kérést.
|
||||
pulls.cant_reopen_deleted_branch=Ez a pull request nem nyitható meg újra, mivel az ág törölve lett.
|
||||
pulls.merged=Egyesítve
|
||||
pulls.can_auto_merge_desc=Ez az egyesítési kérés automatikusan végrehajtható.
|
||||
|
||||
|
||||
pulls.status_checking=Néhány ellenőrzés függőben van
|
||||
pulls.status_checks_success=Minden ellenőrzés sikeres volt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
milestones.new=Új mérföldkő
|
||||
milestones.closed=Lezárva: %s
|
||||
milestones.no_due_date=Nincs határidő
|
||||
@@ -977,10 +889,7 @@ milestones.filter_sort.least_complete=Legkevésbé befejezve
|
||||
milestones.filter_sort.most_complete=Leginkább befejezve
|
||||
milestones.filter_sort.most_issues=Legtöbb hibajegy
|
||||
milestones.filter_sort.least_issues=Legkevesebb hibajegy
|
||||
|
||||
|
||||
ext_wiki.desc=Külső wiki csatolása.
|
||||
|
||||
wiki=Wiki
|
||||
wiki.welcome=Üdvözöljük a Wiki-ben.
|
||||
wiki.welcome_desc=A wiki lehetővé teszi, hogy dokumentációt írjon és osszon meg a közreműködőkkel.
|
||||
@@ -1001,7 +910,6 @@ wiki.delete_page_button=Oldal törlése
|
||||
wiki.page_already_exists=Már létezik azonos nevű Wiki oldal.
|
||||
wiki.pages=Oldalak
|
||||
wiki.last_updated=Utoljára módosítva: %s
|
||||
|
||||
activity=Tevékenység
|
||||
activity.period.filter_label=Időtartam:
|
||||
activity.period.daily=1 nappal
|
||||
@@ -1055,18 +963,15 @@ activity.git_stats_addition_n=%d kiegészítés
|
||||
activity.git_stats_and_deletions=és
|
||||
activity.git_stats_deletion_1=%d törlés
|
||||
activity.git_stats_deletion_n=%d törlés
|
||||
|
||||
search=Keresés
|
||||
search.search_repo=Tároló keresés
|
||||
search.results=`"%s" találatok keresése itt: <a href="%s">%s</a>`
|
||||
search.results="%s" találatok keresése itt: <a href="%s">%s</a>
|
||||
search.code_no_results=Nincs találat a keresési kifejezésedre.
|
||||
|
||||
settings=Beállítások
|
||||
settings.options=Tároló
|
||||
settings.collaboration.read=Olvasott
|
||||
settings.collaboration.owner=Tulajdonos
|
||||
settings.githooks=Git Hook-ok
|
||||
|
||||
settings.site=Webhely
|
||||
settings.update_settings=Beállítások frissítése
|
||||
settings.enable_timetracker=Időmérés bekapcsolása
|
||||
@@ -1120,7 +1025,6 @@ settings.lfs_lock=Zárolás
|
||||
settings.lfs_locks_no_locks=Nincsenek zárolások
|
||||
settings.lfs_force_unlock=Kényszerített zárolás
|
||||
settings.lfs_pointers.oid=OID
|
||||
|
||||
diff.browse_source=Forráskód böngészése
|
||||
diff.parent=szülő
|
||||
diff.commit=commit
|
||||
@@ -1139,7 +1043,6 @@ diff.comment.markdown_info=Támogatja a markdown formázást.
|
||||
diff.comment.add_single_comment=Egyszerű hozzászólás hozzáadása
|
||||
diff.comment.reply=Válasz
|
||||
diff.review.comment=Hozzászólás
|
||||
|
||||
release.releases=Kiadások
|
||||
release.new_release=Új kiadás
|
||||
release.draft=Piszkozat
|
||||
@@ -1158,20 +1061,14 @@ release.deletion_tag_success=A cimke törölve lett.
|
||||
release.tag_name_invalid=Ez a címkenév érvénytelen.
|
||||
release.downloads=Letöltések
|
||||
release.download_count=Letöltések: %s
|
||||
|
||||
branch.search=Ág keresése
|
||||
branch.delete_head=Törlés
|
||||
branch.delete_html=Ág törlése
|
||||
branch.create_branch=Ág <strong>%s</strong> létrehozása
|
||||
branch.deleted_by=Törölve %s által
|
||||
|
||||
|
||||
|
||||
topic.manage_topics=Témák kezelése
|
||||
topic.done=Kész
|
||||
|
||||
|
||||
|
||||
[org]
|
||||
org_name_holder=Szervezet neve
|
||||
org_full_name_holder=Szervezet teljes neve
|
||||
@@ -1192,8 +1089,6 @@ team_desc_helper=A csapat céljának vagy szerepkörének leírása.
|
||||
team_access_desc=Tároló hozzáférés
|
||||
team_permission_desc=Engedély
|
||||
team_unit_disabled=(Letiltva)
|
||||
|
||||
|
||||
settings=Beállítások
|
||||
settings.options=Szervezet
|
||||
settings.full_name=Teljes név
|
||||
@@ -1204,7 +1099,6 @@ settings.visibility=Láthatóság
|
||||
settings.visibility.public=Nyilvános
|
||||
settings.visibility.private=Privát (csak a szervezet tagjai láthatják)
|
||||
settings.visibility.private_shortname=Privát
|
||||
|
||||
settings.update_settings=Beállítások frissítése
|
||||
settings.update_setting_success=A szervezet beállításai frissültek.
|
||||
settings.update_avatar_success=A szervezet avatarja frissítve.
|
||||
@@ -1215,8 +1109,6 @@ settings.confirm_delete_account=Törlés megerősítése
|
||||
settings.delete_org_title=Szervezet törlése
|
||||
settings.delete_org_desc=Ez a szervezet véglegesen törölve lesz. Folytatható?
|
||||
settings.hooks_desc=Webhook hozzáadása a szervezet <strong>összes tárolójához</strong>.
|
||||
|
||||
|
||||
members.membership_visibility=Tagság láthatósága:
|
||||
members.public=Látható
|
||||
members.private=Rejtett
|
||||
@@ -1227,7 +1119,6 @@ members.remove=Eltávolítás
|
||||
members.leave=Távozás
|
||||
members.invite_desc=Tag hozzáadása a(z) %s szervezethez:
|
||||
members.invite_now=Meghívás most
|
||||
|
||||
teams.join=Csatlakozás
|
||||
teams.leave=Távozás
|
||||
teams.can_create_org_repo=Tárolók létrehozása
|
||||
@@ -1270,7 +1161,6 @@ monitor=Figyelés
|
||||
first_page=Első
|
||||
last_page=Utolsó
|
||||
total=Összesen: %d
|
||||
|
||||
dashboard.statistic=Összefoglaló
|
||||
dashboard.operations=Karbantartási műveletek
|
||||
dashboard.system_status=Rendszer Állapota
|
||||
@@ -1310,7 +1200,6 @@ dashboard.total_gc_time=Teljes GC szünet
|
||||
dashboard.total_gc_pause=Teljes GC szünet
|
||||
dashboard.last_gc_pause=Utolsó GC szünet
|
||||
dashboard.gc_times=GC Idők
|
||||
|
||||
users.new_account=Felhasználó létrehozása
|
||||
users.name=Felhasználónév
|
||||
users.full_name=Teljes név
|
||||
@@ -1335,18 +1224,15 @@ users.still_has_org=Ez a felhasználó tagja egy szervezetnek. Először el kell
|
||||
users.list_status_filter.is_active=Aktív
|
||||
users.list_status_filter.is_admin=Rendszergazda
|
||||
users.list_status_filter.is_restricted=Korlátozott
|
||||
|
||||
emails.primary=Elsődleges
|
||||
emails.activated=Aktivált
|
||||
emails.filter_sort.email=Email
|
||||
emails.filter_sort.name=Felhasználónév
|
||||
|
||||
orgs.org_manage_panel=Szervezetek Kezelése
|
||||
orgs.name=Név
|
||||
orgs.teams=Csoportok
|
||||
orgs.members=Tagok
|
||||
orgs.new_orga=Új szervezet
|
||||
|
||||
repos.repo_manage_panel=Tárolók Kezelése
|
||||
repos.owner=Tulajdonos
|
||||
repos.name=Név
|
||||
@@ -1355,15 +1241,11 @@ repos.watches=Figyelők
|
||||
repos.stars=Csillagok
|
||||
repos.issues=Hibajegyek
|
||||
repos.size=Méret
|
||||
|
||||
packages.owner=Tulajdonos
|
||||
packages.name=Név
|
||||
packages.type=Típus
|
||||
packages.repository=Tároló
|
||||
packages.size=Méret
|
||||
|
||||
|
||||
|
||||
auths.new=Hitelesítési forrás hozzáadása
|
||||
auths.name=Név
|
||||
auths.type=Típus
|
||||
@@ -1418,8 +1300,8 @@ auths.tip.gitlab=Vegyen fel új alkalmazást itt: https://gitlab.com/profile/app
|
||||
auths.tip.google_plus=Szerezzen OAuth2 kliens hitelesítési adatokat a Google API konzolban (https://console.developers.google.com/)
|
||||
auths.tip.openid_connect=Használja az OpenID kapcsolódás felfedező URL-t (<kiszolgáló>/.well-known/openid-configuration) a végpontok beállításához
|
||||
auths.tip.twitter=Menyjen ide: https://dev.twitter.com/apps, hozzon létre egy alkalmazást és győződjön meg róla, hogy az “Allow this application to be used to Sign in with Twitter” opció be van kapcsolva
|
||||
auths.tip.discord=Vegyen fel új alkalmazást itt:
|
||||
https://discordapp.com/developers/applications/me
|
||||
auths.tip.discord=Vegyen fel új alkalmazást itt:
|
||||
https=//discordapp.com/developers/applications/me
|
||||
auths.edit=Hitelesítési forrás szerkesztése
|
||||
auths.activated=A hitelesítési forrás aktiválva lett
|
||||
auths.update_success=A hitelesítési forrás frissítve lett.
|
||||
@@ -1429,7 +1311,6 @@ auths.delete_auth_title=Hitelesítési forrás törlése
|
||||
auths.delete_auth_desc=Egy hitelesítési forrás törlésével letiltja az ezzel való bejelentkezés lehetőségét. Folytatja?
|
||||
auths.still_in_used=A hitelesítési forrás még használatban van. Álítsa át vagy törölje azokat a fiókokat, amik ezt használják.
|
||||
auths.deletion_success=A hitelesítési forrás törölve lett.
|
||||
|
||||
config.server_config=Szerver Konfiguráció
|
||||
config.app_name=Webhely címe
|
||||
config.app_ver=Gitea Verzió
|
||||
@@ -1446,7 +1327,6 @@ config.lfs_root_path=LFS Gyökérkönyvtár
|
||||
config.log_file_root_path=Naplófájl elérési útja
|
||||
config.script_type=Szkript Típus
|
||||
config.reverse_auth_user=Visszafelé hitelesítés felhasználója
|
||||
|
||||
config.ssh_config=SSH Konfiguráció
|
||||
config.ssh_enabled=Engedélyezett
|
||||
config.ssh_start_builtin_server=Beépített szerver használata
|
||||
@@ -1457,11 +1337,9 @@ config.ssh_key_test_path=Kulcs ellenőrzés útvonala
|
||||
config.ssh_keygen_path=Kulcsgeneráló ('ssh-keygen') elérési útja
|
||||
config.ssh_minimum_key_size_check=Kulcsok minimum méretének ellenőrzése
|
||||
config.ssh_minimum_key_sizes=Minimális kulcsok méretek
|
||||
|
||||
config.lfs_config=LFS Beállítások
|
||||
config.lfs_enabled=Engedélyezve
|
||||
config.lfs_content_path=LFS tartalom útvonala
|
||||
|
||||
config.db_config=Adatbázis Konfiguráció
|
||||
config.db_type=Típus
|
||||
config.db_host=Kiszolgáló
|
||||
@@ -1470,7 +1348,6 @@ config.db_user=Felhasználónév
|
||||
config.db_schema=Séma
|
||||
config.db_ssl_mode=SSL
|
||||
config.db_path=Elérési út
|
||||
|
||||
config.service_config=Szolgáltatás konfiguráció
|
||||
config.register_email_confirm=A regisztrációhoz e-mail visszaigazolás szükséges
|
||||
config.disable_register=Ön-regisztráció kikapcsolása
|
||||
@@ -1490,12 +1367,10 @@ config.enable_timetracking=Időmérés bekapcsolása
|
||||
config.default_enable_timetracking=Időmérés bekapcsolása alapértelmezetten
|
||||
config.no_reply_address=Rejtett e-mail tartomány
|
||||
config.default_visibility_organization=Alapértelmezett láthatóság új szervezeteknek
|
||||
|
||||
config.webhook_config=Webhook Beállítása
|
||||
config.queue_length=Várakozási Sor Hossza
|
||||
config.deliver_timeout=Kézbesítési Időtúllépés
|
||||
config.skip_tls_verify=A TLS Hitelesítés Kihagyása
|
||||
|
||||
config.mailer_enabled=Engedélyezett
|
||||
config.mailer_name=Név
|
||||
config.mailer_smtp_port=SMTP port
|
||||
@@ -1504,15 +1379,12 @@ config.mailer_use_sendmail=Sendmail Használata
|
||||
config.mailer_sendmail_path=Sendmail Elérési Útja
|
||||
config.mailer_sendmail_args=Extra Sendmail argumentumok
|
||||
config.send_test_mail=Teszt e-mail küldése
|
||||
|
||||
config.oauth_config=OAuth Konfiguráció
|
||||
config.oauth_enabled=Engedélyezett
|
||||
|
||||
config.cache_config=Gyorsítótár Beállítások
|
||||
config.cache_adapter=Gyorsítótár Adapter
|
||||
config.cache_interval=Gyorsítótár Intervallum
|
||||
config.cache_conn=Gyorsítótár Kapcsolat
|
||||
|
||||
config.session_config=Munkamenet Beállítások
|
||||
config.session_provider=Munkamenet Szolgáltató
|
||||
config.provider_config=Szolgáltató Beállítás
|
||||
@@ -1521,12 +1393,10 @@ config.gc_interval_time=GC Intervallum Idő
|
||||
config.session_life_time=Munkamenet Élettartama
|
||||
config.https_only=Csak HTTPS
|
||||
config.cookie_life_time=Süti Élettartam
|
||||
|
||||
config.picture_config=Kép és Avatár Konfiguráció
|
||||
config.picture_service=Kép Szolgáltatás
|
||||
config.disable_gravatar=Gravatar Kikapcsolása
|
||||
config.enable_federated_avatar=Összevont profilkép lekérés engedélyezése
|
||||
|
||||
config.git_config=Git Beállítás
|
||||
config.git_disable_diff_highlight=Különbségi nézetben a szintakszis kiemelés kikapcsolása
|
||||
config.git_max_diff_lines=Maximális sorok száma különbségi nézetben (egy fájl esetén)
|
||||
@@ -1538,13 +1408,9 @@ config.git_mirror_timeout=Tükör Frissítési Időtúllépés
|
||||
config.git_clone_timeout=Klónozási időtúllépés
|
||||
config.git_pull_timeout=Frissítési Időtúllépés
|
||||
config.git_gc_timeout=Szemétgyűjtési (GC) Időtúllépés
|
||||
|
||||
config.log_config=Naplózási Beállítások
|
||||
config.disabled_logger=Letiltva
|
||||
config.xorm_log_sql=SQL naplózása
|
||||
|
||||
|
||||
|
||||
monitor.cron=Ütemezett Feladatok
|
||||
monitor.name=Név
|
||||
monitor.schedule=Ütemezés
|
||||
@@ -1558,11 +1424,9 @@ monitor.execute_time=Végrehajtási Idő
|
||||
monitor.process.cancel=Folyamat megszakítása
|
||||
monitor.process.cancel_desc=Egy folyamat megszakítása adatvesztést okozhat
|
||||
monitor.process.cancel_notices=Megszakítás: <strong>%s</strong>?
|
||||
|
||||
monitor.queue.name=Név
|
||||
monitor.queue.type=Típus
|
||||
monitor.queue.settings.submit=Beállítások frissítése
|
||||
|
||||
notices.system_notice_list=Rendszer Értesítések
|
||||
notices.view_detail_header=Értesítés Részletei
|
||||
notices.select_all=Összes Kijelölése
|
||||
@@ -1640,9 +1504,6 @@ owner.settings.cleanuprules.enabled=Engedélyezett
|
||||
[secrets]
|
||||
|
||||
[actions]
|
||||
|
||||
|
||||
|
||||
runners.name=Név
|
||||
runners.owner_type=Típus
|
||||
runners.description=Leírás
|
||||
@@ -1650,14 +1511,9 @@ runners.task_list.run=Futtatás
|
||||
runners.task_list.repository=Tároló
|
||||
runners.task_list.commit=Commit
|
||||
runners.status.active=Aktív
|
||||
|
||||
runs.commit=Commit
|
||||
|
||||
|
||||
|
||||
|
||||
[projects]
|
||||
|
||||
[git.filemode]
|
||||
symbolic_link=Szimbolikus hivatkozás
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ create_new=Buat…
|
||||
user_profile_and_more=Profil dan Pengaturan…
|
||||
signed_in_as=Masuk sebagai
|
||||
toc=Daftar Isi
|
||||
|
||||
username=Nama Pengguna
|
||||
email=Alamat Email
|
||||
password=Kata Sandi
|
||||
@@ -26,8 +25,6 @@ captcha=CAPTCHA
|
||||
twofa=Otentikasi Dua Faktor
|
||||
twofa_scratch=Kode Awal Dua Faktor
|
||||
passcode=Kode Akses
|
||||
|
||||
|
||||
repository=Repositori
|
||||
organization=Organisasi
|
||||
mirror=Duplikat
|
||||
@@ -43,18 +40,15 @@ settings=Pengaturan
|
||||
your_profile=Profil
|
||||
your_starred=Dibintangi
|
||||
your_settings=Pengaturan
|
||||
|
||||
all=Semua
|
||||
sources=Sumber
|
||||
mirrors=Duplikat
|
||||
collaborative=Kolaboratif
|
||||
forks=Garpu
|
||||
|
||||
activities=Aktivitas
|
||||
pull_requests=Tarik Permintaan
|
||||
issues=Masalah
|
||||
milestones=Tonggak
|
||||
|
||||
cancel=Batal
|
||||
save=Simpan
|
||||
add=Tambah
|
||||
@@ -62,25 +56,12 @@ add_all=Tambah Semua
|
||||
remove=Buang
|
||||
remove_all=Buang Semua
|
||||
edit=Edit
|
||||
|
||||
enabled=Aktif
|
||||
disabled=Nonaktif
|
||||
|
||||
|
||||
write=Tulis
|
||||
preview=Pratinjau
|
||||
loading=Memuat…
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
concept_code_repository=Repositori
|
||||
|
||||
|
||||
|
||||
name=Nama
|
||||
|
||||
[aria]
|
||||
@@ -110,9 +91,7 @@ password=Kata Sandi
|
||||
db_schema=Schema
|
||||
ssl_mode=SSL
|
||||
path=Jalur
|
||||
|
||||
repo_path=Jalur akar repositori
|
||||
|
||||
smtp_addr=Host SMTP
|
||||
smtp_port=Port SMTP
|
||||
register_confirm=Perlu Konfirmasi Email Saat Pendaftaran
|
||||
@@ -135,10 +114,7 @@ my_orgs=Organisasi Saya
|
||||
my_mirrors=Duplikat Saya
|
||||
view_home=Lihat %s
|
||||
search_repos=Cari repositori…
|
||||
|
||||
|
||||
show_private=Pribadi
|
||||
|
||||
issues.in_your_repos=Dalam repositori anda
|
||||
|
||||
[explore]
|
||||
@@ -152,7 +128,6 @@ user_no_results=Tidak ditemukan pengguna yang cocok.
|
||||
org_no_results=Tidak ada organisasi yang cocok ditemukan.
|
||||
code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
|
||||
|
||||
|
||||
[auth]
|
||||
create_new_account=Daftar Akun
|
||||
register_helper_msg=Sudah memiliki akun? Masuk sekarang!
|
||||
@@ -207,23 +182,12 @@ authorization_failed=Otorisasi gagal
|
||||
sspi_auth_failed=Autentikasi SSPI gagal
|
||||
|
||||
[mail]
|
||||
|
||||
activate_account=Silakan aktifkan akun anda
|
||||
|
||||
activate_email=Verifikasi alamat surel anda
|
||||
|
||||
register_notify=Selamat Datang di Gitea
|
||||
|
||||
reset_password=Pulihkan akun Anda
|
||||
|
||||
register_success=Pendaftaran berhasil
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[modal]
|
||||
yes=Ya
|
||||
no=Tidak
|
||||
@@ -241,31 +205,27 @@ PayloadUrl=Muatan URL
|
||||
TeamName=Nama tim
|
||||
AuthName=Nama otorisasi
|
||||
AdminEmail=Surel admin
|
||||
|
||||
NewBranchName=Nama cabang baru
|
||||
CommitSummary=Ringkasan Commit
|
||||
CommitMessage=Pesan Commit
|
||||
CommitChoice=Pilihan Commit
|
||||
TreeName=Jalur berkas
|
||||
Content=Konten
|
||||
|
||||
SSPISeparatorReplacement=Pemisah
|
||||
SSPIDefaultLanguage=Bahasa Utama
|
||||
|
||||
require_error=` tidak boleh kosong.`
|
||||
alpha_dash_error=` seharusnya hanya mengandung karakter alfanumerik, tanda pisah ('-'), dan tanda garis bawah ('_').`
|
||||
alpha_dash_dot_error=` seharusnya hanya mengandung karakter alfanumerik, tanda pisah ('-'), tanda garis bawah ('_'), dan titik ('.')`
|
||||
git_ref_name_error=` harus berupa nama referensi Git yang baik dan benar.`
|
||||
size_error=` harus berukuran %s.`
|
||||
min_size_error=` harus berisi karakter %s setidaknya.`
|
||||
max_size_error=` harus mengandung paling banyak %s karakter.`
|
||||
email_error=` bukan alamat surel yang valid. `
|
||||
glob_pattern_error=` pola glob salah: %s.`
|
||||
require_error=" tidak boleh kosong."
|
||||
alpha_dash_error=" seharusnya hanya mengandung karakter alfanumerik, tanda pisah ('-'), dan tanda garis bawah ('_')."
|
||||
alpha_dash_dot_error=" seharusnya hanya mengandung karakter alfanumerik, tanda pisah ('-'), tanda garis bawah ('_'), dan titik ('.')"
|
||||
git_ref_name_error=" harus berupa nama referensi Git yang baik dan benar."
|
||||
size_error=" harus berukuran %s."
|
||||
min_size_error=" harus berisi karakter %s setidaknya."
|
||||
max_size_error=" harus mengandung paling banyak %s karakter."
|
||||
email_error=" bukan alamat surel yang valid. "
|
||||
glob_pattern_error=" pola glob salah: %s."
|
||||
unknown_error=Kesalahan yang tidak diketahui:
|
||||
captcha_incorrect=Kode CAPTCHA salah.
|
||||
password_not_match=Kata sandi tidak cocok.
|
||||
lang_select_error=Pilih bahasa dari daftar.
|
||||
|
||||
username_been_taken=Nama pengguna sudah terambil.
|
||||
repo_name_been_taken=Nama repositori sudah digunakan.
|
||||
visit_rate_limit=Kunjungan remot mengatasi batasan laju.
|
||||
@@ -286,12 +246,9 @@ enterred_invalid_password=Kata sandi yang Anda masukkan salah.
|
||||
user_not_exist=Pengguna tidak ada.
|
||||
team_not_exist=Tim tidak ada.
|
||||
cannot_add_org_to_team=Sebuah organisasi tidak dapat ditambahkan sebagai anggota tim.
|
||||
|
||||
invalid_ssh_key=Tidak dapat memverifikasi kunci SSH Anda: %s
|
||||
invalid_gpg_key=Tidak dapat memverifikasi kunci GPG Anda: %s
|
||||
auth_failed=Otentikasi gagal: %v
|
||||
|
||||
|
||||
target_branch_not_exist=Target cabang tidak ada.
|
||||
|
||||
[user]
|
||||
@@ -306,7 +263,6 @@ follow=Ikuti
|
||||
unfollow=Berhenti Mengikuti
|
||||
user_bio=Biografi
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Profil
|
||||
account=Akun
|
||||
@@ -322,7 +278,6 @@ delete=Hapus Akun
|
||||
twofa=Otentikasi Dua-Faktor
|
||||
account_link=Akun Tertaut
|
||||
organization=Organisasi
|
||||
|
||||
public_profile=Profil Publik
|
||||
password_username_disabled=Pengguna non-lokal tidak diizinkan untuk mengubah nama pengguna mereka. Silakan hubungi administrator sistem anda untuk lebih lanjut.
|
||||
full_name=Nama Lengkap
|
||||
@@ -337,7 +292,6 @@ cancel=Batalkan
|
||||
language=Bahasa
|
||||
ui=Tema
|
||||
comment_type_group_title=Judul
|
||||
|
||||
lookup_avatar_by_mail=Cari Avatar melalui Alamat Email
|
||||
federated_avatar_lookup=Aktifkan Pencarian Avatar Representasi
|
||||
enable_custom_avatar=Gunakan Avatar Pilihan
|
||||
@@ -346,14 +300,12 @@ update_avatar=Perbarui Avatar
|
||||
delete_current_avatar=Hapus Avatar Saat Ini
|
||||
uploaded_avatar_not_a_image=Berkas yang diunggah bukanlah gambar.
|
||||
update_avatar_success=Avatar Anda telah diperbarui.
|
||||
|
||||
change_password=Perbarui kata sandi
|
||||
old_password=Kata Sandi Saat Ini
|
||||
new_password=Kata Sandi Baru
|
||||
password_incorrect=Kata sandi saat ini salah.
|
||||
change_password_success=Sandi Anda telah diperbarui. Mulai dari sekarang gunakan kata sandi yang baru.
|
||||
password_change_disabled=Pengguna non-lokal tidak dapat mengganti kata sandi mereka melalui antarmuka web Gitea.
|
||||
|
||||
emails=Alamat Surel
|
||||
manage_emails=Kelola Alamat Surel
|
||||
manage_themes=Pilih tema default
|
||||
@@ -379,7 +331,6 @@ add_email_success=Alamat surel telah ditambahkan.
|
||||
add_openid_success=Alamat OpenID telah ditambahkan.
|
||||
keep_email_private=Sembunyikan Alamat Surel
|
||||
openid_desc=OpenID memungkinkan anda melimpahkan autentikasi kepada penyedia eksternal.
|
||||
|
||||
manage_ssh_keys=Mengelola Kunci SSH
|
||||
manage_gpg_keys=Mengelola Kunci GPG
|
||||
add_key=Tambahkan Kunci
|
||||
@@ -419,7 +370,6 @@ hide_openid=Sembunyikan dari profil
|
||||
ssh_disabled=SSH Dimatikan
|
||||
manage_social=Kelola Akun Sosial Yang Terhubung
|
||||
unbind=Putuskan
|
||||
|
||||
manage_access_token=Kelola Token Akses
|
||||
generate_new_token=Hasilkan Token Baru
|
||||
tokens_desc=Token berikut akan memberikan akses ke Akun Anda menggunakan API Gitea.
|
||||
@@ -432,7 +382,6 @@ access_token_deletion_cancel_action=Membatalkan
|
||||
access_token_deletion_confirm_action=Hapus
|
||||
delete_token_success=Token telah dihapus. Aplikasi yang menggunakannya tidak lagi memiliki akses ke akun Anda.
|
||||
permission_read=Dibaca
|
||||
|
||||
manage_oauth2_applications=Kelola Aplikasi OAuth2
|
||||
edit_oauth2_application=Sunting Aplikasi OAuth2
|
||||
oauth2_applications_desc=Aplikasi OAuth2 memungkinkan aplikasi pihak ketiga Anda untuk autentikasi pengguna pada instans Gitea ini dengan aman.
|
||||
@@ -449,12 +398,10 @@ oauth2_regenerate_secret=Buat Ulang Rahasia
|
||||
oauth2_regenerate_secret_hint=Anda kehilangan rahasia?
|
||||
oauth2_application_edit=Sunting
|
||||
oauth2_application_create_description=Aplikasi OAuth2 memberikan aplikasi pihak ketiga Anda akses akun pengguna pada instans ini.
|
||||
|
||||
authorized_oauth2_applications=Aplikasi OAuth2 Terotorisasi
|
||||
revoke_key=Cabut
|
||||
revoke_oauth2_grant=Cabut Akses
|
||||
revoke_oauth2_grant_description=Mencabut akses untuk aplikasi pihak ketiga ini akan mencegahnya mengakses data Anda. Lanjutkan?
|
||||
|
||||
twofa_desc=Autentikasi dua faktor menambah keamanan akun Anda.
|
||||
twofa_is_enrolled=Akun anda saat ini <strong>terdaftar</strong> dalam otentikasi dua-faktor.
|
||||
twofa_not_enrolled=Akun anda saat ini tidak terdaftar dalam otentikasi dua-faktor.
|
||||
@@ -468,8 +415,6 @@ twofa_disabled=Otentikasi dua-faktor telah dinonaktifkan.
|
||||
scan_this_image=Pindai gambar ini dengan aplikasi otentikasi:
|
||||
or_enter_secret=Atau masukkan rahasia: %s
|
||||
passcode_invalid=Kode sandi salah. Coba lagi.
|
||||
|
||||
|
||||
manage_account_links=Kelola akun tertaut
|
||||
manage_account_links_desc=Semua akun eksternal ini sementara tertaut dengan akun Gitea Anda.
|
||||
account_links_not_available=Saat ini tidak ada akun eksternal yang tertaut ke akun Gitea ini.
|
||||
@@ -477,20 +422,15 @@ link_account=Tautan Akun
|
||||
remove_account_link=Hapus Akun Tertaut
|
||||
remove_account_link_desc=Menghapus akun tertaut akan membuat akun itu tidak bisa mengakses akun Gitea Anda. Lanjutkan?
|
||||
remove_account_link_success=Akun tertaut sudah dihapus.
|
||||
|
||||
|
||||
orgs_none=Anda bukan anggota dari organisasi apapun.
|
||||
|
||||
delete_account=Hapus Akun Anda
|
||||
delete_prompt=Langkah ini akan menghapus akun Anda secara permanen. <strong>Anda yakin?</strong>.
|
||||
confirm_delete_account=Konfirmasi Penghapusan
|
||||
delete_account_title=Hapus Akun Pengguna
|
||||
delete_account_desc=Apakah Anda yakin ingin menghapus secara permanen akun pengguna ini?
|
||||
|
||||
email_notifications.enable=Aktifkan Pemberitahuan Surel
|
||||
email_notifications.disable=Nonaktifkan Email Notifikasi
|
||||
email_notifications.submit=Pasang Pengaturan Email
|
||||
|
||||
visibility.private=Pribadi
|
||||
|
||||
[repo]
|
||||
@@ -529,20 +469,14 @@ forks=Garpu
|
||||
reactions_more=dan %d lainnya
|
||||
unit_disabled=Administrator web menonaktifkan bagian repositori ini.
|
||||
delete_preexisting_label=Hapus
|
||||
|
||||
|
||||
desc.private=Pribadi
|
||||
desc.public_template=Contoh
|
||||
|
||||
template.webhooks=Webhooks
|
||||
template.topics=Topik
|
||||
template.avatar=Avatar
|
||||
template.issue_labels=Label Masalah
|
||||
|
||||
archive.issue.nocomment=Repositori ini diarsipkan. Anda tidak dapat mengomentari masalah.
|
||||
archive.pull.nocomment=Repositori ini diarsipkan. Anda tidak dapat mengomentari permintaan tarik.
|
||||
|
||||
|
||||
migrate_items=Ihwal Migrasi
|
||||
migrate_items_wiki=Wiki
|
||||
migrate_items_milestones=Tonggak
|
||||
@@ -556,7 +490,6 @@ migrated_from=Termigrasi dari <a href="%[1]s">%[2]s</a>
|
||||
migrated_from_fake=Termigrasi Dari %[1]s
|
||||
migrate.migrating=Memigrasi dari <b>%s</b> ...
|
||||
migrate.migrating_failed=Migrasi dari <b>%s</b> gagal.
|
||||
|
||||
mirror_from=duplikat dari
|
||||
forked_from=fork dari
|
||||
generated_from=terbangkit dari
|
||||
@@ -568,13 +501,11 @@ unstar=Hapus Bintang
|
||||
star=Bintang
|
||||
fork=Garpu
|
||||
download_archive=Unduh Repositori
|
||||
|
||||
no_desc=Tidak ada Deskripsi
|
||||
quick_guide=Panduan Cepat
|
||||
clone_this_repo=Klon repositori ini
|
||||
create_new_repo_command=Membuat repositori baru pada baris perintah
|
||||
push_exist_repo=Mendorong sebuah repositori yang ada di baris perintah
|
||||
|
||||
code=Kode
|
||||
branch=Cabang
|
||||
tree=Pohon
|
||||
@@ -584,7 +515,6 @@ tags=Tag
|
||||
issues=Masalah
|
||||
pulls=Tarik Permintaan
|
||||
labels=Label
|
||||
|
||||
milestones=Tonggak
|
||||
commits=Melakukan
|
||||
commit=Memperbuat
|
||||
@@ -594,14 +524,12 @@ file_history=Riwayat
|
||||
file_view_raw=Lihat Mentah
|
||||
file_permalink=Permalink
|
||||
file_too_large=Berkas terlalu besar untuk ditampilkan.
|
||||
|
||||
stored_lfs=Tersimpan dengan GIT LFS
|
||||
commit_graph=Grafik Komit
|
||||
blame=Salahkan
|
||||
normal_view=Pandangan Normal
|
||||
line=baris
|
||||
lines=baris
|
||||
|
||||
editor.new_file=Berkas Baru
|
||||
editor.upload_file=Unggah Berkas
|
||||
editor.edit_file=Sunting Berkas
|
||||
@@ -628,7 +556,6 @@ editor.propose_file_change=Usul perubahan berkas
|
||||
editor.new_branch_name_desc=Nama branch baru…
|
||||
editor.cancel=Membatalkan
|
||||
editor.no_changes_to_show=Tidak ada perubahan untuk ditampilkan.
|
||||
|
||||
commits.commits=Melakukan
|
||||
commits.find=Telusuri
|
||||
commits.author=Penulis
|
||||
@@ -637,16 +564,11 @@ commits.date=Tanggal
|
||||
commits.older=Lebih lama
|
||||
commits.newer=Terbaru
|
||||
commits.signed_by=Ditandai oleh
|
||||
|
||||
|
||||
|
||||
|
||||
projects.description_placeholder=Deskripsi
|
||||
projects.title=Judul
|
||||
projects.template.desc=Contoh
|
||||
projects.column.edit_title=Nama
|
||||
projects.column.new_title=Nama
|
||||
|
||||
issues.new=Masalah Baru
|
||||
issues.new.labels=Label
|
||||
issues.new.no_label=Tidak ada Label
|
||||
@@ -663,14 +585,14 @@ issues.new_label_desc_placeholder=Deskripsi
|
||||
issues.create_label=Buat Label
|
||||
issues.label_templates.title=Muat sebuah label yang telah ditentukan
|
||||
issues.label_templates.helper=Pilih set label
|
||||
issues.add_milestone_at=`telah menambahkan ini ke <b>%s</b> milestone %s`
|
||||
issues.change_milestone_at=`telah mengubah milestone dari <b>%s</b> ke <b>%s</b> %s`
|
||||
issues.remove_milestone_at=`telah menghapus ini dari <b>%s</b> milestone %s`
|
||||
issues.deleted_milestone=`(dihapus)`
|
||||
issues.deleted_project=`(dihapus)`
|
||||
issues.self_assign_at=`menugaskan diri %s`
|
||||
issues.add_assignee_at=`telah ditugaskan oleh <b>%s</b> %s`
|
||||
issues.delete_branch_at=`telah dihapus cabang <b>%s</b> %s`
|
||||
issues.add_milestone_at=telah menambahkan ini ke <b>%s</b> milestone %s
|
||||
issues.change_milestone_at=telah mengubah milestone dari <b>%s</b> ke <b>%s</b> %s
|
||||
issues.remove_milestone_at=telah menghapus ini dari <b>%s</b> milestone %s
|
||||
issues.deleted_milestone=(dihapus)
|
||||
issues.deleted_project=(dihapus)
|
||||
issues.self_assign_at=menugaskan diri %s
|
||||
issues.add_assignee_at=telah ditugaskan oleh <b>%s</b> %s
|
||||
issues.delete_branch_at=telah dihapus cabang <b>%s</b> %s
|
||||
issues.filter_label=Label
|
||||
issues.filter_milestone=Tonggak
|
||||
issues.filter_assignee=Menerima
|
||||
@@ -701,7 +623,7 @@ issues.open_title=Buka
|
||||
issues.closed_title=Tertutup
|
||||
issues.draft_title=Rancangan
|
||||
issues.num_comments=%d komentar
|
||||
issues.commented_at=`komentar <a href="#%s">%s</a>`
|
||||
issues.commented_at=komentar <a href="#%s">%s</a>
|
||||
issues.delete_comment_confirm=Apakah anda yakin anda ingin menghapus komentar ini?
|
||||
issues.context.copy_link=Salin tautan
|
||||
issues.context.quote_reply=Kutip Balasan
|
||||
@@ -711,7 +633,7 @@ issues.close_comment_issue=Komentar dan Tutup
|
||||
issues.reopen_issue=Buka kembali
|
||||
issues.reopen_comment_issue=Komentar dan Buka Kembali
|
||||
issues.create_comment=Komentar
|
||||
issues.commit_ref_at=`merujuk masalah dari komit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=merujuk masalah dari komit <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.role.owner=Pemilik
|
||||
issues.role.member=Anggota
|
||||
issues.sign_in_require_desc=<a href="%s">Masuk</a> untuk bergabung dengan percakapan ini.
|
||||
@@ -728,23 +650,21 @@ issues.label_delete=Hapus
|
||||
issues.label.filter_sort.alphabetically=Urutan abjad
|
||||
issues.label.filter_sort.reverse_alphabetically=Membalikkan menurut abjad
|
||||
issues.num_participants=%d peserta
|
||||
issues.attachment.open_tab=`Klik untuk melihat "%s" di tab baru`
|
||||
issues.attachment.download=`Klik untuk mengunduh "%s"`
|
||||
issues.attachment.open_tab=Klik untuk melihat "%s" di tab baru
|
||||
issues.attachment.download=Klik untuk mengunduh "%s"
|
||||
issues.subscribe=Berlangganan
|
||||
issues.unsubscribe=Berhenti berlangganan
|
||||
issues.delete=Hapus
|
||||
issues.start_tracking_history=`mulai bekerja %s`
|
||||
issues.stop_tracking_history=`berhenti bekerja %s`
|
||||
issues.start_tracking_history=mulai bekerja %s
|
||||
issues.stop_tracking_history=berhenti bekerja %s
|
||||
issues.add_time_cancel=Batalkan
|
||||
issues.add_time_history=`tambah menghabiskan waktu %s`
|
||||
issues.add_time_history=tambah menghabiskan waktu %s
|
||||
issues.add_time_hours=Jam
|
||||
issues.add_time_minutes=Menit
|
||||
issues.due_date_form_edit=Edit
|
||||
issues.due_date_form_remove=Menghapus
|
||||
issues.dependency.cancel=Membatalkan
|
||||
issues.dependency.remove=Menghapus
|
||||
|
||||
|
||||
pulls.new=Permintaan Tarik Baru
|
||||
pulls.compare_changes=Permintaan Tarik Baru
|
||||
pulls.filter_branch=Penyaringan cabang
|
||||
@@ -757,15 +677,6 @@ pulls.tab_commits=Melakukan
|
||||
pulls.reopen_to_merge=Tolong buka kembali permintaan tarik ini untuk melaksanakan penggabungan.
|
||||
pulls.merged=Menggabungkan
|
||||
pulls.can_auto_merge_desc=Permintaan tarik ini dapat digabung secara otomatis.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
milestones.new=Milestone Baru
|
||||
milestones.closed=Tertutup %s
|
||||
milestones.no_due_date=Tidak ada jatuh tempo
|
||||
@@ -782,9 +693,6 @@ milestones.filter_sort.least_complete=Paling tidak lengkap
|
||||
milestones.filter_sort.most_complete=Paling lengkap
|
||||
milestones.filter_sort.most_issues=Paling banyak masalah
|
||||
milestones.filter_sort.least_issues=Paling sedikit masalah
|
||||
|
||||
|
||||
|
||||
wiki=Wiki
|
||||
wiki.page=Halaman
|
||||
wiki.filter_page=Halaman Penyaring
|
||||
@@ -798,7 +706,6 @@ wiki.delete_page_button=Hapus Halaman
|
||||
wiki.page_already_exists=Halaman wiki dengan nama yang sama telah ada.
|
||||
wiki.pages=Halaman
|
||||
wiki.last_updated=Pembaruan terakhir %s
|
||||
|
||||
activity=Kegiatan
|
||||
activity.period.filter_label=Periode:
|
||||
activity.period.daily=1 hari
|
||||
@@ -837,12 +744,10 @@ activity.title.releases_1=%d Rilis
|
||||
activity.title.releases_n=%d Rilis
|
||||
activity.title.releases_published_by=%s dikeluarkan oleh %s
|
||||
activity.published_release_label=Dikeluarkan
|
||||
|
||||
search=Cari
|
||||
search.search_repo=Cari repositori
|
||||
search.results=Cari hasil untuk "%s" dalam <a href="%s">%s</a>
|
||||
search.code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
|
||||
|
||||
settings=Pengaturan
|
||||
settings.desc=Pengaturan dimana anda dapat mengelola pengaturan untuk repositori
|
||||
settings.options=Repositori
|
||||
@@ -854,7 +759,6 @@ settings.hooks=Webhooks
|
||||
settings.githooks=Git kait
|
||||
settings.basic_settings=Pengaturan Dasar
|
||||
settings.mirror_settings=Pengaturan Duplikat
|
||||
|
||||
settings.site=Situs web
|
||||
settings.update_settings=Perbarui Pengaturan
|
||||
settings.advanced_settings=Pengaturan Lanjutan
|
||||
@@ -915,7 +819,6 @@ settings.add_protected_branch=Aktifkan perlindungan
|
||||
settings.delete_protected_branch=Nonaktifkan perlindungan
|
||||
settings.choose_branch=Pilih branch…
|
||||
settings.edit_protected_branch=Edit
|
||||
|
||||
diff.browse_source=Telusuri Sumber
|
||||
diff.parent=orang tua
|
||||
diff.commit=melakukan
|
||||
@@ -927,7 +830,6 @@ diff.bin=TEMPAT SAMPAH
|
||||
diff.view_file=Melihat File
|
||||
diff.file_byte_size=Ukuran
|
||||
diff.file_suppressed=File diff ditekan karena terlalu besar
|
||||
|
||||
release.releases=Rilis
|
||||
release.new_release=Baru Rilis
|
||||
release.draft=Rancangan
|
||||
@@ -942,18 +844,12 @@ release.publish=Mempublikasikan Rilis
|
||||
release.save_draft=Simpan Draft
|
||||
release.deletion_success=Rilis ini telah dihapus.
|
||||
release.downloads=Unduhan
|
||||
|
||||
branch.search=Cari cabang
|
||||
branch.delete_head=Hapus
|
||||
branch.delete_html=Hapus cabang
|
||||
branch.create_branch=Membuat cabang <strong>%s</strong>
|
||||
branch.deleted_by=Dihapus oleh %s
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[org]
|
||||
org_name_holder=Nama Organisasi
|
||||
org_full_name_holder=Organisasi Nama Lengkap
|
||||
@@ -968,14 +864,11 @@ create_team=Buat Tim Baru
|
||||
org_desc=Deskripsi
|
||||
team_name=Nama tim
|
||||
team_desc=Deskripsi
|
||||
|
||||
|
||||
settings=Pengaturan
|
||||
settings.full_name=Nama Lengkap
|
||||
settings.website=Situs web
|
||||
settings.location=Lokasi
|
||||
settings.visibility.private_shortname=Pribadi
|
||||
|
||||
settings.update_settings=Perbarui Setelan
|
||||
settings.update_setting_success=Pengaturan organisasi telah diperbarui.
|
||||
settings.delete=Menghapus Organisasi
|
||||
@@ -983,8 +876,6 @@ settings.delete_account=Menghapus Organisasi Ini
|
||||
settings.confirm_delete_account=Konfirmasi Penghapusan
|
||||
settings.delete_org_title=Menghapus Organisasi
|
||||
settings.hooks_desc=Tambahkan webhooks yang akan dipicu untuk <strong>semua repositori</strong> di bawah organisasi ini.
|
||||
|
||||
|
||||
members.membership_visibility=Visibilitas Keanggotaan:
|
||||
members.member_role=Peran Anggota:
|
||||
members.owner=Pemilik
|
||||
@@ -993,7 +884,6 @@ members.remove=Menghapus
|
||||
members.leave=Meninggalkan
|
||||
members.invite_desc=Tambahkan anggota baru ke %s:
|
||||
members.invite_now=Mengundang Sekarang
|
||||
|
||||
teams.join=Ikut
|
||||
teams.leave=Meninggalkan
|
||||
teams.read_access=Dibaca
|
||||
@@ -1016,7 +906,6 @@ monitor=Memantau
|
||||
first_page=Pertama
|
||||
last_page=Terakhir
|
||||
total=Total: %d
|
||||
|
||||
dashboard.operation_name=Nama operasi
|
||||
dashboard.operation_switch=Beralih
|
||||
dashboard.operation_run=Lari
|
||||
@@ -1051,7 +940,6 @@ dashboard.total_gc_time=Total GC di jeda
|
||||
dashboard.total_gc_pause=Total GC di jeda
|
||||
dashboard.last_gc_pause=GC di jeda terakhir
|
||||
dashboard.gc_times=Waktu GC
|
||||
|
||||
users.full_name=Nama Lengkap
|
||||
users.activated=Diaktifkan
|
||||
users.admin=Pengelola
|
||||
@@ -1061,14 +949,11 @@ users.edit=Edit
|
||||
users.auth_source=Sumber Otentikasi
|
||||
users.local=Lokal
|
||||
users.list_status_filter.is_admin=Pengelola
|
||||
|
||||
emails.activated=Diaktifkan
|
||||
|
||||
orgs.org_manage_panel=Manajemen Organisasi
|
||||
orgs.name=Nama
|
||||
orgs.teams=Tim
|
||||
orgs.members=Anggota
|
||||
|
||||
repos.repo_manage_panel=Manajemen Repositori
|
||||
repos.owner=Pemilik
|
||||
repos.name=Nama
|
||||
@@ -1077,15 +962,11 @@ repos.watches=Jam tangan
|
||||
repos.stars=Bintang
|
||||
repos.issues=Masalah
|
||||
repos.size=Ukuran
|
||||
|
||||
packages.owner=Pemilik
|
||||
packages.name=Nama
|
||||
packages.type=Jenis
|
||||
packages.repository=Repositori
|
||||
packages.size=Ukuran
|
||||
|
||||
|
||||
|
||||
auths.name=Nama
|
||||
auths.type=Jenis
|
||||
auths.enabled=Aktif
|
||||
@@ -1122,13 +1003,12 @@ auths.tips=Cara
|
||||
auths.tips.oauth2.general=Otentikasi OAuth2
|
||||
auths.tip.oauth2_provider=Penyediaan OAuth2
|
||||
auths.tip.dropbox=Membuat aplikasi baru di https://www.dropbox.com/developers/apps
|
||||
auths.tip.facebook=`Daftarkan sebuah aplikasi baru di https://developers.facebook.com/apps dan tambakan produk "Facebook Masuk"`
|
||||
auths.tip.facebook=Daftarkan sebuah aplikasi baru di https://developers.facebook.com/apps dan tambakan produk "Facebook Masuk"
|
||||
auths.tip.github=Mendaftar aplikasi OAuth baru di https://github.com/settings/applications/new
|
||||
auths.tip.gitlab=Mendaftar aplikasi baru di https://gitlab.com/profile/applications
|
||||
auths.tip.openid_connect=Gunakan membuka ID yang terhubung ke jelajah URL (<server>/.well-known/openid-configuration) untuk menentukan titik akhir
|
||||
auths.delete=Menghapus Otentikasi Sumber
|
||||
auths.delete_auth_title=Menghapus Otentikasi Sumber
|
||||
|
||||
config.server_config=Pengaturan Server
|
||||
config.app_ver=Versi Gitea
|
||||
config.custom_conf=Jalur berkas konfigurasi
|
||||
@@ -1139,7 +1019,6 @@ config.repo_root_path=Jalur akar repositori
|
||||
config.lfs_root_path=Path Root LFS
|
||||
config.script_type=Jenis skrip
|
||||
config.reverse_auth_user=Mengembalikan pengguna otentikasi
|
||||
|
||||
config.ssh_config=Konfigurasi SSH
|
||||
config.ssh_enabled=Aktif
|
||||
config.ssh_port=Port
|
||||
@@ -1149,10 +1028,8 @@ config.ssh_key_test_path=Path Key Test
|
||||
config.ssh_keygen_path=Path Keygen ('ssh-keygen')
|
||||
config.ssh_minimum_key_size_check=Periksa ukuran kunci minimum
|
||||
config.ssh_minimum_key_sizes=Ukuran kunci minimum
|
||||
|
||||
config.lfs_config=Konfigurasi LFS
|
||||
config.lfs_enabled=Aktif
|
||||
|
||||
config.db_config=Konfigurasi basis data
|
||||
config.db_type=Tipe
|
||||
config.db_host=Host
|
||||
@@ -1161,7 +1038,6 @@ config.db_user=Nama pengguna
|
||||
config.db_schema=Schema
|
||||
config.db_ssl_mode=SSL
|
||||
config.db_path=Jalur
|
||||
|
||||
config.service_config=Konfigurasi layanan
|
||||
config.register_email_confirm=Perlu Konfirmasi Email Saat Pendaftaran
|
||||
config.enable_openid_signin=Aktifkan Login OpenID
|
||||
@@ -1171,12 +1047,10 @@ config.mail_notify=Aktifkan Notifikasi Email
|
||||
config.disable_key_size_check=Menonaktifkan memeriksa ukuran kunci minimum
|
||||
config.enable_captcha=Aktifkan CAPTCHA
|
||||
config.active_code_lives=Kode aktif hidup
|
||||
|
||||
config.webhook_config=Konfigurasi Webhook
|
||||
config.queue_length=Panjang antrian
|
||||
config.deliver_timeout=Berikan waktu habis
|
||||
config.skip_tls_verify=Melewatkan verifikasi TLS
|
||||
|
||||
config.mailer_enabled=Diaktifkan
|
||||
config.mailer_name=Nama
|
||||
config.mailer_smtp_port=Port SMTP
|
||||
@@ -1185,15 +1059,12 @@ config.mailer_use_sendmail=Menggunakan Sendmail
|
||||
config.mailer_sendmail_path=Jalur Sendmail
|
||||
config.mailer_sendmail_args=Argumen tambahan untuk Sendmail
|
||||
config.send_test_mail=Kirim Email Percobaan
|
||||
|
||||
config.oauth_config=Konfigurasi OAuth
|
||||
config.oauth_enabled=Diaktifkan
|
||||
|
||||
config.cache_config=Konfigurasi cache
|
||||
config.cache_adapter=Adaptor cache
|
||||
config.cache_interval=Interval cache
|
||||
config.cache_conn=Koneksi cache
|
||||
|
||||
config.session_config=Sesi konfigurasi
|
||||
config.session_provider=Sesi penyedia
|
||||
config.provider_config=Konfigurasi penyedia
|
||||
@@ -1202,12 +1073,10 @@ config.gc_interval_time=Waktu interval GC
|
||||
config.session_life_time=Sesi jangka waktu
|
||||
config.https_only=Hanya HTTPS
|
||||
config.cookie_life_time=Jangka waktu cookie
|
||||
|
||||
config.picture_config=Pengaturan Foto dan Avatar
|
||||
config.picture_service=Gambar layanan
|
||||
config.disable_gravatar=Menonaktifkan Gravatar
|
||||
config.enable_federated_avatar=Aktifkan pencarian avatar
|
||||
|
||||
config.git_config=Konfigurasi Git
|
||||
config.git_disable_diff_highlight=Menonaktifkan Diff Syntax utama
|
||||
config.git_max_diff_lines=Garis Max Diff (untuk berkas tunggal)
|
||||
@@ -1219,13 +1088,9 @@ config.git_mirror_timeout=Waktu habis untuk memperbarui cermin
|
||||
config.git_clone_timeout=Waktu habis operasi klon
|
||||
config.git_pull_timeout=Waktu habis tarik operasi
|
||||
config.git_gc_timeout=Waktu habis operasi GC
|
||||
|
||||
config.log_config=Catat konfigurasi
|
||||
config.disabled_logger=Nonaktif
|
||||
config.xorm_log_sql=Catatan SQL
|
||||
|
||||
|
||||
|
||||
monitor.cron=Tugas Cron
|
||||
monitor.name=Nama
|
||||
monitor.schedule=Jadwal
|
||||
@@ -1237,7 +1102,6 @@ monitor.start=Waktu mulai
|
||||
monitor.execute_time=Waktu pelaksanaan
|
||||
monitor.process.cancel=Batalkan proses
|
||||
monitor.process.cancel_desc=Membatalkan sebuah proses bisa mengakibatkan hilangnya data
|
||||
|
||||
monitor.queues=Antrian
|
||||
monitor.queue=Antrian: %s
|
||||
monitor.queue.name=Nama
|
||||
@@ -1250,7 +1114,6 @@ monitor.queue.settings.maxnumberworkers=Jumlah Maks. Worker
|
||||
monitor.queue.settings.maxnumberworkers.error=Jumlah maks. worker haruslah sebuah angka
|
||||
monitor.queue.settings.submit=Perbarui Pengaturan
|
||||
monitor.queue.settings.changed=Pengaturan diperbarui
|
||||
|
||||
notices.system_notice_list=Pemberitahuan sistem
|
||||
notices.view_detail_header=Lihat rincian pemberitahuan
|
||||
notices.select_all=Pilih semua
|
||||
@@ -1327,22 +1190,14 @@ owner.settings.cleanuprules.enabled=Aktif
|
||||
[secrets]
|
||||
|
||||
[actions]
|
||||
|
||||
|
||||
|
||||
runners.name=Nama
|
||||
runners.owner_type=Jenis
|
||||
runners.description=Deskripsi
|
||||
runners.task_list.run=Lari
|
||||
runners.task_list.repository=Repositori
|
||||
runners.task_list.commit=Memperbuat
|
||||
|
||||
runs.commit=Memperbuat
|
||||
|
||||
|
||||
|
||||
|
||||
[projects]
|
||||
|
||||
[git.filemode]
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ signed_in_as=Skráð(ur) inn sem
|
||||
toc=Efnisyfirlit
|
||||
licenses=Hugbúnaðarleyfi
|
||||
return_to_gitea=Til baka að Gitea
|
||||
|
||||
username=Notandanafn
|
||||
email=Netfang
|
||||
password=Lykilorð
|
||||
@@ -31,7 +30,6 @@ captcha=CAPTCHA
|
||||
twofa=Tvíþætt Auðkenning
|
||||
twofa_scratch=Tveggja-Þátta Skrapkóði
|
||||
passcode=Aðgangstala
|
||||
|
||||
webauthn_insert_key=Settu öryggislykilinn þinn inn
|
||||
webauthn_sign_in=Ýttu á hnappinn á öryggislyklinum þínum. Ef öryggislykillinn þinn hefur engan hnapp skaltu setja hann aftur inn.
|
||||
webauthn_press_button=Vinsamlegast ýttu á hnappinn á öryggislyklinum þínum…
|
||||
@@ -45,7 +43,6 @@ webauthn_error_duplicated=Öryggislykillinn er ekki leyfður fyrir þessa beiðn
|
||||
webauthn_error_empty=Þú verður að setja nafn fyrir þennan lykil.
|
||||
webauthn_error_timeout=Tímamörk náð áður en hægt var að lesa lykilinn þinn. Vinsamlegast endurhlaðið þessa síðu og reyndu aftur.
|
||||
webauthn_reload=Endurhlaða
|
||||
|
||||
repository=Hugbúnaðarsafn
|
||||
organization=Stofnun
|
||||
mirror=Speglun
|
||||
@@ -62,18 +59,15 @@ settings=Stillingar
|
||||
your_profile=Notandasíða
|
||||
your_starred=Eftirlæti
|
||||
your_settings=Stillingar
|
||||
|
||||
all=Allt
|
||||
sources=Eigin
|
||||
mirrors=Speglanir
|
||||
collaborative=Samstörf
|
||||
forks=Skiptingar
|
||||
|
||||
activities=Virkni
|
||||
pull_requests=Sameiningarbeiðnir
|
||||
issues=Vandamál
|
||||
milestones=Tímamót
|
||||
|
||||
ok=Í lagi
|
||||
cancel=Hætta við
|
||||
save=Vista
|
||||
@@ -82,35 +76,23 @@ add_all=Bæta Öllu Við
|
||||
remove=Fjarlægja
|
||||
remove_all=Fjarlægja Allt
|
||||
edit=Breyta
|
||||
|
||||
|
||||
copy=Afrita
|
||||
copy_url=Afrita vefslóð
|
||||
copy_branch=Afritaðu heiti greinar
|
||||
copy_success=Afritað!
|
||||
copy_error=Afritun mistókst
|
||||
|
||||
write=Skrifa
|
||||
preview=Forskoða
|
||||
loading=Hleður…
|
||||
|
||||
step1=Skref 1:
|
||||
step2=Skref 2:
|
||||
|
||||
error=Villa
|
||||
error404=Síðan sem þú ert að reyna að fá annað hvort <strong>er ekki til</strong> eða <strong>þú hefur ekki heimild</strong> til að skoða hana.
|
||||
|
||||
never=Aldrei
|
||||
|
||||
|
||||
|
||||
|
||||
concept_code_repository=Hugbúnaðarsafn
|
||||
|
||||
|
||||
|
||||
name=Heiti
|
||||
value=Gildi
|
||||
archived=Safnvistað
|
||||
|
||||
[aria]
|
||||
|
||||
@@ -165,7 +147,6 @@ err_empty_admin_email=Netfang stjórnanda má ekki vera tómt.
|
||||
err_admin_name_is_reserved=Notandanafn stjórnanda er ógilt. Notandanafnið er frátekið
|
||||
err_admin_name_pattern_not_allowed=Notandanafn stjórnanda er ógilt. Notandanafnið passar við frátekið mynstur
|
||||
err_admin_name_is_invalid=Notandanafn Stjórnanda er ógilt
|
||||
|
||||
general_title=Almennar Stillingar
|
||||
app_name=Heiti vefsvæðis
|
||||
app_name_helper=Þú getur slegið inn nafn fyrirtækis þíns hér.
|
||||
@@ -184,7 +165,6 @@ app_url=Grunnvefslóð Gitea
|
||||
app_url_helper=Grunnvistfang fyrir HTTP(S) afrit slóð og tölvupósttilkynningar.
|
||||
log_root_path=Slóð Annáls
|
||||
log_root_path_helper=Annálaskrár verða skrifaðar í þessa möppu.
|
||||
|
||||
optional_title=Valfrjálsar Stillingar
|
||||
email_title=Tölvupóstsstillingar
|
||||
smtp_addr=SMTP Hýsill
|
||||
@@ -227,14 +207,11 @@ my_mirrors=Speglanir Mínar
|
||||
view_home=Skoða %s
|
||||
search_repos=Finna hugbúnaðarsafn…
|
||||
filter=Aðrar Síur
|
||||
|
||||
show_archived=Safnvistað
|
||||
archived=Safnvistað
|
||||
|
||||
show_private=Einka
|
||||
show_only_private=Að sýna aðeins einka
|
||||
show_only_public=Að sýna aðeins opinber
|
||||
|
||||
issues.in_your_repos=Í hugbúnaðarsöfnum þínum
|
||||
|
||||
[explore]
|
||||
@@ -250,7 +227,6 @@ user_no_results=Engir samsvarandi notendur fundust.
|
||||
org_no_results=Engar samsvarandi stofnanir fundust.
|
||||
code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
|
||||
|
||||
|
||||
[auth]
|
||||
create_new_account=Skrá Notanda
|
||||
register_helper_msg=Ertu nú þegar með notanda? Skráðu þig inn núna!
|
||||
@@ -295,30 +271,23 @@ password_pwned_err=Gat ekki klárað beiðni til HaveIBeenPwned
|
||||
view_it_on=Skoða þetta á %s
|
||||
link_not_working_do_paste=Virkar ekki? Prófaðu að afrita og líma slóðina í vafrann þinn.
|
||||
hi_user_x=Halló, <b>%s</b>,
|
||||
|
||||
activate_account=Vinsamlegast virkjaðu aðganginn þinn
|
||||
activate_account.title=%s, vinsamlegast virkjaðu aðganginn þinn
|
||||
activate_account.text_1=Halló, <b>%[1]s</b>, takk fyrir að nýskrá á %[2]s!
|
||||
activate_account.text_2=Vinsamlegast smelltu á eftirfarandi tengil til að virkja reikninginn þinn innan <b>%s</b>:
|
||||
|
||||
activate_email=Staðfestu netfangið þitt
|
||||
activate_email.text=Vinsamlegast smelltu á eftirfarandi tengil til að staðfesta netfangið þitt innan <b>%s</b>:
|
||||
|
||||
register_notify=Velkomin(n) í Gitea
|
||||
register_notify.title=%[1]s, velkomin(n) í %[2]s
|
||||
register_notify.text_1=þetta er staðfestingarpóstur þinn fyrir skráningu á %s!
|
||||
register_notify.text_2=Þú getur nú skráð þig inn með notandanafni: %s.
|
||||
register_notify.text_3=Ef þessi reikningur hefur verið búinn til fyrir þig, vinsamlegast <a href="%s">stilltu lykilorðið þitt</a> fyrst.
|
||||
|
||||
reset_password=Endurheimta reikning þinn
|
||||
reset_password.title=%s, þú hefur beðið um að endurheimta reikninginn þinn
|
||||
reset_password.text=Vinsamlegast smelltu á eftirfarandi tengil til að endurheimta reikninginn þinn innan <b>%s</b>:
|
||||
|
||||
register_success=Nýskráning tókst
|
||||
|
||||
issue_assigned.pull=@%[1]s úthlutaði þér að sameiningarbeiðni %[2]s í hugbúnaðarsafni %[3]s.
|
||||
issue_assigned.issue=@%[1]s úthlutaði þér að vandamáli %[2]s í hugbúnaðarsafni %[3]s.
|
||||
|
||||
issue.x_mentioned_you=<b>@%s</b> minntist á þig:
|
||||
issue.action.push_1=<b>@%[1]s</b> bætti við %[3]d framlag í %[2]s
|
||||
issue.action.push_n=<b>@%[1]s</b> bætti við %[3]d framlög í %[2]s
|
||||
@@ -330,7 +299,6 @@ issue.action.reject=<b>@%[1]s</b> óskaði eftir breytingum á þessa sameininga
|
||||
issue.action.review=<b>@%[1]s</b> gerði ummæli á þessa sameiningarbeiðni.
|
||||
issue.action.new=<b>@%[1]s</b> skapaði #%[2]d.
|
||||
issue.in_tree_path=Í %s:
|
||||
|
||||
release.new.subject=%s í %s útgefið
|
||||
release.new.text=<b>@%[1]s</b> gaf út %[2]s í %[3]s
|
||||
release.title=Heiti: %s
|
||||
@@ -338,16 +306,13 @@ release.note=Athugasemd:
|
||||
release.downloads=Niðurhöl:
|
||||
release.download.zip=Frumkóði (ZIP)
|
||||
release.download.targz=Frumkóði (TAR.GZ)
|
||||
|
||||
repo.transfer.subject_to=%s langar að flytja „%s“ til %s
|
||||
repo.transfer.subject_to_you=%s langar að flytja „%s“ til þín
|
||||
repo.transfer.to_you=þig
|
||||
repo.transfer.body=Til að samþykkja eða hafna því skaltu fara á %s eða hunsa það bara.
|
||||
|
||||
repo.collaborator.added.subject=%s bætti þér við í %s
|
||||
repo.collaborator.added.text=Þér hefur verið bætt við sem aðila hugbúnaðarsafns:
|
||||
|
||||
|
||||
[modal]
|
||||
yes=Já
|
||||
no=Nei
|
||||
@@ -363,26 +328,22 @@ Retype=Staðfestu Lykilorðið
|
||||
HttpsUrl=HTTPS vefslóð
|
||||
TeamName=Liðsheiti
|
||||
AdminEmail=Netfang stjórnanda
|
||||
|
||||
NewBranchName=Heiti nýjar greinar
|
||||
CommitSummary=Framlagsútdráttur
|
||||
CommitMessage=Framlagsskilaboð
|
||||
CommitChoice=Framlagsval
|
||||
TreeName=Skráarslóð
|
||||
Content=Innihald
|
||||
|
||||
SSPISeparatorReplacement=Aðgreinir
|
||||
SSPIDefaultLanguage=Sjálfgefið Tungumál
|
||||
|
||||
require_error=` Getur ekki verið tómt.`
|
||||
alpha_dash_dot_error=` ætti aðeins að innihalda tölustafi, strik ('-'), undirstrik ('_') og punkta ('.').`
|
||||
size_error=` þarf að vera stærð %s.`
|
||||
email_error=` er ekki gilt netfang.`
|
||||
require_error=" Getur ekki verið tómt."
|
||||
alpha_dash_dot_error=" ætti aðeins að innihalda tölustafi, strik ('-'), undirstrik ('_') og punkta ('.')."
|
||||
size_error=" þarf að vera stærð %s."
|
||||
email_error=" er ekki gilt netfang."
|
||||
unknown_error=Óþekkt villa:
|
||||
captcha_incorrect=CAPTCHA kóðinn er rangur.
|
||||
password_not_match=Lykilorðin passa ekki saman.
|
||||
lang_select_error=Veldu tungumál af listanum.
|
||||
|
||||
username_been_taken=Notandanafnið er þegar í notkun.
|
||||
username_change_not_local_user=Notendum utan staðarins er ekki heimilt að breyta notendanafni sínu.
|
||||
repo_name_been_taken=Hugbúnaðarsafnsheiti er þegar notað.
|
||||
@@ -401,9 +362,6 @@ enterred_invalid_org_name=Stofnunarinnarheitið sem þú slóst inn er rangt.
|
||||
user_not_exist=Notandinn er ekki til.
|
||||
team_not_exist=Liðið er ekki til.
|
||||
|
||||
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Breyttu notandamyndinni þinni…
|
||||
repositories=Hugbúnaðarsöfn
|
||||
@@ -419,7 +377,6 @@ unfollow=Affylgja
|
||||
user_bio=Lífssaga
|
||||
disabled_public_activity=Þessi notandi hefur slökkt á opinberum sýnileika virkninnar.
|
||||
|
||||
|
||||
[settings]
|
||||
profile=Notandasíða
|
||||
account=Reikningur
|
||||
@@ -437,7 +394,6 @@ twofa=Tvíþætt Auðkenning
|
||||
account_link=Tengdir Reikningar
|
||||
organization=Stofnanir
|
||||
webauthn=Öryggislyklar
|
||||
|
||||
public_profile=Opinber Notandasíða
|
||||
password_username_disabled=Notendum utan staðarins er ekki heimilt að breyta notendanafni sínu. Vinsamlegast hafðu samband við síðustjórann þinn til að fá frekari upplýsingar.
|
||||
full_name=Fullt Nafn
|
||||
@@ -464,7 +420,6 @@ comment_type_group_deadline=Frestur
|
||||
comment_type_group_pull_request_push=Bætti við framlögum
|
||||
comment_type_group_project=Verkefni
|
||||
privacy=Friðhelgi
|
||||
|
||||
lookup_avatar_by_mail=Leita Efitr Notandamynd Með Netfangi
|
||||
enable_custom_avatar=Nota Sérsniða Notandamynd
|
||||
choose_new_avatar=Veldu nýja notandamynd
|
||||
@@ -473,12 +428,10 @@ delete_current_avatar=Eyða Núverandi Notandamynd
|
||||
uploaded_avatar_not_a_image=Skráin sem hlaðin var upp er ekki mynd.
|
||||
update_avatar_success=Notandamynd þín hefur verið uppfærð.
|
||||
update_user_avatar_success=Notandamynd þessara notanda hefur verið uppfærð.
|
||||
|
||||
change_password=Uppfæra Lykilorð
|
||||
old_password=Núverandi Lykilorð
|
||||
new_password=Nýtt Lykilorð
|
||||
password_incorrect=Núverandi lykilorðið er rangt.
|
||||
|
||||
emails=Netföng
|
||||
manage_emails=Stjórna Netföngum
|
||||
primary=Aðal
|
||||
@@ -498,7 +451,6 @@ add_email=Bæta við Netfangi
|
||||
add_email_success=Nýja netfangið hefur verið bætt við.
|
||||
email_preference_set_success=Val á tölvupósti uppfært.
|
||||
keep_email_private=Fela Netfang
|
||||
|
||||
manage_ssh_keys=Stjórna SSH Lyklum
|
||||
manage_gpg_keys=Stjórna GPG Lyklum
|
||||
add_key=Bæta við lykli
|
||||
@@ -528,7 +480,6 @@ show_openid=Sýna á notandasíðu
|
||||
hide_openid=Fela frá notandasíðu
|
||||
ssh_disabled=SSH Óvirkt
|
||||
unbind=Aftengja
|
||||
|
||||
token_name=Táknlykills Heiti
|
||||
generate_token=Mynda Táknlykil
|
||||
delete_token=Eyða
|
||||
@@ -537,33 +488,23 @@ access_token_deletion_cancel_action=Hætta við
|
||||
access_token_deletion_confirm_action=Eyða
|
||||
permission_no_access=Engin Aðgangur
|
||||
permission_read=Lesnar
|
||||
|
||||
create_oauth2_application_button=Skapa Forrit
|
||||
oauth2_application_name=Forritsheiti
|
||||
save_application=Vista
|
||||
oauth2_client_id=Auðkenni Notanda
|
||||
oauth2_client_secret=Leyndarmál Notanda
|
||||
oauth2_application_edit=Breyta
|
||||
|
||||
revoke_key=Afturkalla
|
||||
revoke_oauth2_grant=Afturkalla Aðgang
|
||||
|
||||
twofa_disable=Óvirkja Tveggja-Þátta Auðkenningu
|
||||
twofa_scratch_token_regenerate=Endurgera Skrapkóða
|
||||
or_enter_secret=Eða sláðu inn leyndarmálið: %s
|
||||
|
||||
webauthn_nickname=Gælunafn
|
||||
|
||||
link_account=Tengja Notanda
|
||||
|
||||
|
||||
|
||||
|
||||
email_notifications.enable=Virkja Tölvupósttilkynningar
|
||||
email_notifications.onmention=Aðeins Tölvupóst Þegar Minnst Er á Mig
|
||||
email_notifications.disable=Óvirkja Tölvupósttilkynningar
|
||||
email_notifications.submit=Stilla Val á Tölvupósti
|
||||
|
||||
visibility=Sýnileiki notanda
|
||||
visibility.public=Opinbert
|
||||
visibility.private=Einka
|
||||
@@ -606,8 +547,6 @@ reactions_more=og %d fleiri
|
||||
language_other=Annað
|
||||
delete_preexisting_label=Eyða
|
||||
delete_preexisting_content=Eyða skrám í %s
|
||||
|
||||
|
||||
desc.private=Einka
|
||||
desc.public=Opinbert
|
||||
desc.private_template=Einka sniðmát
|
||||
@@ -615,16 +554,12 @@ desc.public_template=Sniðmát
|
||||
desc.internal=Innra
|
||||
desc.internal_template=Innra sniðmát
|
||||
desc.archived=Safnvistað
|
||||
|
||||
template.git_content=Git Innihald (Sjálfgefin Grein)
|
||||
template.git_hooks=Git krókar
|
||||
template.webhooks=Vefkrókar
|
||||
template.topics=Viðfangsefni
|
||||
template.avatar=Auðkennismynd
|
||||
template.issue_labels=Vandamálslýsingar
|
||||
|
||||
|
||||
|
||||
migrate_options_lfs=Flytja LFS skrár
|
||||
migrate_options_lfs_endpoint.label=LFS Endapunktur
|
||||
migrate_items_wiki=Handbók
|
||||
@@ -638,7 +573,6 @@ migrate_repo=Flytja Hugbúnaðarsafn
|
||||
migrate.migrate=Flytja Frá %s
|
||||
migrate.git.description=Flytja hugbúnaðarsafn aðeins frá Git þjónustu.
|
||||
migrate.migrating_labels=Að færa Lýsingar
|
||||
|
||||
mirror_from=speglun af
|
||||
forked_from=tvískipt frá
|
||||
generated_from=myndað frá
|
||||
@@ -648,13 +582,11 @@ unstar=Fjarlægja eftirlæti
|
||||
star=Bæta við eftirlæti
|
||||
fork=Tvískipta
|
||||
download_archive=Hlaða Miður Geymslu
|
||||
|
||||
no_desc=Engin Lýsing
|
||||
quick_guide=Stuttar Leiðbeiningar
|
||||
clone_this_repo=Afrita þetta hugbúnaðarsafn
|
||||
create_new_repo_command=Að búa til nýja geymslu með skipanalínu
|
||||
push_exist_repo=Að senda inn núverandi geymslu með skipanalínu
|
||||
|
||||
code=Kóði
|
||||
branch=Grein
|
||||
tree=Tré
|
||||
@@ -666,7 +598,6 @@ pulls=Sameiningarbeiðnir
|
||||
project_board=Verkefni
|
||||
packages=Pakkar
|
||||
labels=Skýringar
|
||||
|
||||
milestones=Tímamót
|
||||
commits=Framlög
|
||||
commit=Framlag
|
||||
@@ -678,7 +609,6 @@ file_raw=Hrátt
|
||||
file_history=Saga
|
||||
file_view_source=Skoða Frumkóða
|
||||
file_view_rendered=Skoða Unnið
|
||||
|
||||
file_copy_permalink=Afrita Varanlega Slóð
|
||||
stored_lfs=Geymt með Git LFS
|
||||
commit_graph.hide_pr_refs=Fela Sameiningarbeiðnir
|
||||
@@ -688,7 +618,6 @@ blame=Ásaka
|
||||
download_file=Sækja skrá
|
||||
line=lína
|
||||
lines=línur
|
||||
|
||||
editor.new_file=Ný Skrá
|
||||
editor.upload_file=Uppfæra Skrá
|
||||
editor.edit_file=Breyta Skrá
|
||||
@@ -705,7 +634,6 @@ editor.create_new_branch_np=Búðu til <strong>nýja grein</strong> fyrir þetta
|
||||
editor.new_branch_name_desc=Heiti nýjar greinar…
|
||||
editor.cancel=Hætta við
|
||||
editor.fail_to_update_file_summary=Villuskilaboð:
|
||||
|
||||
commits.commits=Framlög
|
||||
commits.find=Leita
|
||||
commits.author=Höfundur
|
||||
@@ -713,12 +641,8 @@ commits.message=Skilaboð
|
||||
commits.date=Dagsetning
|
||||
commits.older=Eldri
|
||||
commits.newer=Nýrri
|
||||
|
||||
|
||||
commitstatus.error=Villa
|
||||
commitstatus.pending=Í bið
|
||||
|
||||
|
||||
projects=Verkefni
|
||||
projects.description=Lýsing (valfrjálst)
|
||||
projects.description_placeholder=Lýsing
|
||||
@@ -737,7 +661,6 @@ projects.column.new_title=Heiti
|
||||
projects.column.color=Litað
|
||||
projects.open=Opna
|
||||
projects.close=Loka
|
||||
|
||||
issues.filter_projects=Sía Verkefni
|
||||
issues.filter_labels=Sía Lýsingar
|
||||
issues.new=Nýtt Vandamál
|
||||
@@ -795,16 +718,16 @@ issues.open_title=Opið
|
||||
issues.closed_title=Lokað
|
||||
issues.draft_title=Uppkast
|
||||
issues.num_comments=%d ummæli
|
||||
issues.commented_at=`gerði ummæli <a href="#%s">%s</a>`
|
||||
issues.commented_at=gerði ummæli <a href="#%s">%s</a>
|
||||
issues.context.edit=Breyta
|
||||
issues.context.delete=Eyða
|
||||
issues.close_comment_issue=Senda ummæli og Loka
|
||||
issues.reopen_issue=Enduropna
|
||||
issues.reopen_comment_issue=Senda ummæli og Enduropna
|
||||
issues.create_comment=Senda Ummæli
|
||||
issues.closed_at=`lokaði þessu vandamáli <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`enduropnaði þetta vandamál <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">enduropnaði þetta vandamál %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=lokaði þessu vandamáli <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.reopened_at=enduropnaði þetta vandamál <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_reopened_from=<a href="%[3]s">enduropnaði þetta vandamál %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.author=Höfundur
|
||||
issues.role.owner=Eigandi
|
||||
issues.role.member=Meðlimur
|
||||
@@ -837,13 +760,13 @@ issues.start_tracking_short=Ræsa Tímamælir
|
||||
issues.add_time=Bæta Bið Tíma Handvirkt
|
||||
issues.add_time_short=Bæta Bið Tíma
|
||||
issues.add_time_cancel=Hætta við
|
||||
issues.add_time_history=`bætti við eyddum tíma %s`
|
||||
issues.del_time_history=`fjarlægði eyddum tíma %s`
|
||||
issues.add_time_history=bætti við eyddum tíma %s
|
||||
issues.del_time_history=fjarlægði eyddum tíma %s
|
||||
issues.add_time_hours=Klukkutímar
|
||||
issues.add_time_minutes=Mínútur
|
||||
issues.add_time_sum_to_small=Enginn tími var sleginn inn.
|
||||
issues.time_spent_total=Heildartíma Eytt
|
||||
issues.time_spent_from_all_authors=`Heildartíma Eytt: %s`
|
||||
issues.time_spent_from_all_authors=Heildartíma Eytt: %s
|
||||
issues.due_date=Eindagi
|
||||
issues.push_commit_1=bætti við %d framlag %s
|
||||
issues.push_commits_n=bætti við %d framlög %s
|
||||
@@ -862,8 +785,8 @@ issues.dependency.add=Bæta við kröfu…
|
||||
issues.dependency.cancel=Hætta við
|
||||
issues.dependency.remove=Fjarlægja
|
||||
issues.dependency.remove_info=Fjarlægja þessa kröfu
|
||||
issues.dependency.added_dependency=`bætti við nýja kröfu %s`
|
||||
issues.dependency.removed_dependency=`fjarlægði kröfu %s`
|
||||
issues.dependency.added_dependency=bætti við nýja kröfu %s
|
||||
issues.dependency.removed_dependency=fjarlægði kröfu %s
|
||||
issues.dependency.blocked_by_short=Krefur
|
||||
issues.dependency.remove_header=Fjarlægja Kröfu
|
||||
issues.dependency.add_error_dep_not_exist=Krafa er ekki til.
|
||||
@@ -883,10 +806,8 @@ issues.content_history.created=skapað
|
||||
issues.content_history.delete_from_history=Eyða úr ferlinum
|
||||
issues.content_history.delete_from_history_confirm=Eyða úr ferlinum?
|
||||
issues.content_history.options=Valkostir
|
||||
|
||||
compare.compare_base=grunnur
|
||||
compare.compare_head=bera saman
|
||||
|
||||
pulls.new=Ný Sameiningarbeiðni
|
||||
pulls.view=Skoða Sameiningarbeiðni
|
||||
pulls.compare_changes=Ný Sameiningarbeiðni
|
||||
@@ -906,18 +827,9 @@ pulls.reject_count_1=%d breytingarbeiðni
|
||||
pulls.reject_count_n=%d breytingarbeiðnir
|
||||
pulls.waiting_count_1=%d bíður endurskoðunar
|
||||
pulls.waiting_count_n=%d bíða endurskoðunar
|
||||
|
||||
pulls.merge_manually=Sameinað handvirkt
|
||||
|
||||
pulls.status_checks_requested=Nauðsynlegt
|
||||
pulls.status_checks_details=Nánar
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
milestones.new=Nýtt tímamót
|
||||
milestones.closed=Lokaði %s
|
||||
milestones.no_due_date=Enginn eindagi
|
||||
@@ -930,9 +842,6 @@ milestones.clear=Hreinsa
|
||||
milestones.cancel=Hætta við
|
||||
milestones.filter_sort.most_issues=Flest vandamál
|
||||
milestones.filter_sort.least_issues=Fæst vandamál
|
||||
|
||||
|
||||
|
||||
wiki=Handbók
|
||||
wiki.welcome=Velkomin(n) í handbókina.
|
||||
wiki.create_first_page=Skapa Fyrstu Síðu
|
||||
@@ -947,7 +856,6 @@ wiki.delete_page_button=Eyða Síðu
|
||||
wiki.page_already_exists=Handbókssíða með sömu nafni er þegar til.
|
||||
wiki.pages=Síður
|
||||
wiki.last_updated=Síðast uppfært: %s
|
||||
|
||||
activity=Virkni
|
||||
activity.period.filter_label=Tímabil:
|
||||
activity.period.daily=1 dagur
|
||||
@@ -992,12 +900,10 @@ activity.git_stats_addition_n=%d viðbætur
|
||||
activity.git_stats_and_deletions=og
|
||||
activity.git_stats_deletion_1=%d eyðing
|
||||
activity.git_stats_deletion_n=%d eyðingar
|
||||
|
||||
search=Leita
|
||||
search.fuzzy=Óljóst
|
||||
search.code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
|
||||
search.code_search_unavailable=Sem stendur er kóðaleit ekki í boði. Vinsamlegast hafðu samband við síðustjórann þinn.
|
||||
|
||||
settings=Stillingar
|
||||
settings.options=Hugbúnaðarsafn
|
||||
settings.collaboration.write=Skrifa
|
||||
@@ -1014,7 +920,6 @@ settings.mirror_settings.direction.pull=Pull
|
||||
settings.mirror_settings.direction.push=Push
|
||||
settings.mirror_settings.last_update=Síðasta uppfærsla
|
||||
settings.mirror_settings.push_mirror.remote_url=Vefslóð Git Fjarhugbúnaðarsafns
|
||||
|
||||
settings.site=Vefsíða
|
||||
settings.update_settings=Uppfæra Stillingar
|
||||
settings.branches.update_default_branch=Uppfæra Sjálfgefna Grein
|
||||
@@ -1077,7 +982,6 @@ settings.lfs=LFS
|
||||
settings.lfs_locks=Lásar
|
||||
settings.lfs_lock=Læsa
|
||||
settings.lfs_pointers.oid=OID
|
||||
|
||||
diff.commit=framlag
|
||||
diff.git-notes=Athugasemd
|
||||
diff.whitespace_button=Hvítbil
|
||||
@@ -1095,7 +999,6 @@ diff.comment.add_review_comment=Leggja inn ummæli
|
||||
diff.comment.reply=Svara
|
||||
diff.review.comment=Senda Ummæli
|
||||
diff.image.overlay=Yfirleggja
|
||||
|
||||
release.releases=Útgáfur
|
||||
release.tags=Merki
|
||||
release.draft=Uppkast
|
||||
@@ -1105,17 +1008,11 @@ release.tag_name=Merkisheiti
|
||||
release.cancel=Hætta við
|
||||
release.delete_tag=Eyða Merki
|
||||
release.downloads=Niðurhöl
|
||||
|
||||
branch.delete_head=Eyða
|
||||
|
||||
tag.create_tag_operation=Skapa merki
|
||||
tag.confirm_create_tag=Skapa merki
|
||||
|
||||
|
||||
topic.done=Í lagi
|
||||
|
||||
|
||||
|
||||
[org]
|
||||
repo_updated=Uppfært
|
||||
members=Meðlimar
|
||||
@@ -1126,8 +1023,6 @@ create_new_team=Nýtt Lið
|
||||
org_desc=Lýsing
|
||||
team_name=Liðsheiti
|
||||
team_desc=Lýsing
|
||||
|
||||
|
||||
settings=Stillingar
|
||||
settings.full_name=Fullt nafn
|
||||
settings.website=Vefsíða
|
||||
@@ -1135,10 +1030,7 @@ settings.location=Staðsetning
|
||||
settings.visibility=Sýnileiki
|
||||
settings.visibility.public=Opinbert
|
||||
settings.visibility.private_shortname=Einka
|
||||
|
||||
settings.update_settings=Uppfæra Stillingar
|
||||
|
||||
|
||||
members.private=Faldir
|
||||
members.owner=Eigandi
|
||||
members.member=Meðlimur
|
||||
@@ -1147,7 +1039,6 @@ members.leave=Yfirgefa
|
||||
members.leave.detail=Viltu yfirgefa %s?
|
||||
members.invite_desc=Bæta nýjum meðlimi við í %s:
|
||||
members.invite_now=Bjóða Núna
|
||||
|
||||
teams.join=Gerast meðlimur
|
||||
teams.leave=Yfirgefa
|
||||
teams.leave.detail=Viltu yfirgefa %s?
|
||||
@@ -1165,14 +1056,12 @@ config=Stilling
|
||||
first_page=Byrjun
|
||||
last_page=Síðasta
|
||||
total=Samtals: %d
|
||||
|
||||
dashboard.statistic=Yfirlit
|
||||
dashboard.operation_switch=Skipta
|
||||
dashboard.operation_run=Keyra
|
||||
dashboard.update_mirrors=Uppfæra Speglanir
|
||||
dashboard.server_uptime=Uppitími Netþjóns
|
||||
dashboard.total_memory_allocated=Heildarminni úthlutað
|
||||
|
||||
users.name=Notandanafn
|
||||
users.full_name=Fullt Nafn
|
||||
users.admin=Stjórnandi
|
||||
@@ -1188,16 +1077,13 @@ users.list_status_filter.is_admin=Stjórnandi
|
||||
users.list_status_filter.is_prohibit_login=Stöðva Innskráningu
|
||||
users.list_status_filter.not_prohibit_login=Leyfa Innskráningu
|
||||
users.list_status_filter.not_2fa_enabled=Tvíþætt Auðkenning Óvirk
|
||||
|
||||
emails.primary=Aðal
|
||||
emails.filter_sort.email=Tölvupóstur
|
||||
emails.filter_sort.name=Notandanafn
|
||||
emails.updated=Netfang uppfært
|
||||
|
||||
orgs.name=Heiti
|
||||
orgs.teams=Lið
|
||||
orgs.members=Meðlimar
|
||||
|
||||
repos.owner=Eigandi
|
||||
repos.name=Heiti
|
||||
repos.watches=Fylgist með
|
||||
@@ -1205,7 +1091,6 @@ repos.stars=Eftirlæti
|
||||
repos.forks=Skiptingar
|
||||
repos.issues=Vandamál
|
||||
repos.size=Stærð
|
||||
|
||||
packages.total_size=Heildarstærð: %s
|
||||
packages.owner=Eigandi
|
||||
packages.name=Heiti
|
||||
@@ -1213,9 +1098,6 @@ packages.version=Útgáfa
|
||||
packages.type=Tegund
|
||||
packages.repository=Hugbúnaðarsafn
|
||||
packages.size=Stærð
|
||||
|
||||
|
||||
|
||||
auths.name=Heiti
|
||||
auths.type=Tegund
|
||||
auths.updated=Uppfært
|
||||
@@ -1229,21 +1111,17 @@ auths.oauth2_icon_url=Táknmyndarvefslóð
|
||||
auths.oauth2_profileURL=Notandasíðuslóð
|
||||
auths.tips=Ábendingar
|
||||
auths.tip.dropbox=Búðu til nýtt forrit á https://www.dropbox.com/developers/apps
|
||||
auths.tip.yandex=`Búðu til nýja umsókn á https://oauth.yandex.com/client/new. Veldu eftirfarandi heimildir úr „Yandex.Passport API“ kaflanum: "Aðgangur að netfangi", "Aðgangur að notandamynd" og "Aðgangur að notendanafni, fornafni og eftirnafni, kyni"`
|
||||
|
||||
auths.tip.yandex=Búðu til nýja umsókn á https://oauth.yandex.com/client/new. Veldu eftirfarandi heimildir úr „Yandex.Passport API“ kaflanum: "Aðgangur að netfangi", "Aðgangur að notandamynd" og "Aðgangur að notendanafni, fornafni og eftirnafni, kyni"
|
||||
config.app_name=Heiti Vefsvæðis
|
||||
config.app_ver=Útgáfu Gitea
|
||||
config.git_version=Útgáfa Git
|
||||
config.repo_root_path=Grunnsslóð Hugbúnaðarsafns
|
||||
config.lfs_root_path=LFS Grunnsslóð
|
||||
config.log_file_root_path=Slóð Annáls
|
||||
|
||||
config.ssh_port=Gátt
|
||||
config.ssh_listen_port=Hlustunargátt
|
||||
config.ssh_root_path=Grunnsslóð
|
||||
|
||||
config.lfs_enabled=Virkt
|
||||
|
||||
config.db_type=Tegund
|
||||
config.db_host=Hýsill
|
||||
config.db_name=Heiti
|
||||
@@ -1251,43 +1129,29 @@ config.db_user=Notandanafn
|
||||
config.db_schema=Uppdráttur
|
||||
config.db_ssl_mode=SSL
|
||||
config.db_path=Slóð
|
||||
|
||||
|
||||
|
||||
config.mailer_name=Heiti
|
||||
config.mailer_smtp_port=SMTP Gátt
|
||||
config.mailer_user=Notandi
|
||||
|
||||
|
||||
|
||||
config.https_only=Aðeins HTTPS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
monitor.name=Heiti
|
||||
monitor.desc=Lýsing
|
||||
monitor.process.children=Börn
|
||||
|
||||
monitor.queues=Raðir
|
||||
monitor.queue.name=Heiti
|
||||
monitor.queue.type=Tegund
|
||||
monitor.queue.settings.submit=Uppfæra Stillingar
|
||||
monitor.queue.settings.changed=Stillingar Uppfærðar
|
||||
|
||||
notices.type=Tegund
|
||||
notices.type_1=Hugbúnaðarsafn
|
||||
notices.type_2=Verkefni
|
||||
notices.desc=Lýsing
|
||||
|
||||
[action]
|
||||
create_issue=`opnaði vandamál <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_issue=`enduropnaði vandamál <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_pull_request=`enduropnaði sameiningarbeiðni <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
comment_issue=`gerði ummæli á vandamál <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
comment_pull=`gerði ummæli á sameiningarbeiðni <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
create_issue=opnaði vandamál <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
reopen_issue=enduropnaði vandamál <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
reopen_pull_request=enduropnaði sameiningarbeiðni <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
comment_issue=gerði ummæli á vandamál <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
comment_pull=gerði ummæli á sameiningarbeiðni <a href="%[1]s">%[3]s#%[2]s</a>
|
||||
review_dismissed_reason=Ástæða:
|
||||
|
||||
[tool]
|
||||
@@ -1347,9 +1211,6 @@ pypi.requires=Þarfnast Python
|
||||
[secrets]
|
||||
|
||||
[actions]
|
||||
|
||||
|
||||
|
||||
runners.id=Auðkenni
|
||||
runners.name=Heiti
|
||||
runners.owner_type=Tegund
|
||||
@@ -1360,13 +1221,8 @@ runners.task_list.repository=Hugbúnaðarsafn
|
||||
runners.task_list.commit=Framlag
|
||||
runners.status.active=Virkt
|
||||
runners.version=Útgáfa
|
||||
|
||||
runs.commit=Framlag
|
||||
|
||||
|
||||
|
||||
|
||||
[projects]
|
||||
|
||||
[git.filemode]
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user