Compare commits

..

832 Commits

Author SHA1 Message Date
dependabot[bot]
b36ba5b60e mod: bump github.com/jackc/pgx/v5 from 5.6.0 to 5.9.0 (#8233)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-16 18:58:35 -04:00
dependabot[bot]
84e23a403e mod: bump golang.org/x/crypto from 0.48.0 to 0.49.0 (#8221)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-05 16:20:18 -04:00
dependabot[bot]
b53d316233 mod: bump gopkg.in/ini.v1 from 1.67.0 to 1.67.1 (#8193)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-15 14:59:48 -04:00
dependabot[bot]
47bff199cc mod: bump golang.org/x/crypto from 0.47.0 to 0.48.0 (#8192)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-15 14:58:42 -04:00
ᴊᴏᴇ ᴄʜᴇɴ
998512edfb ci: bump aquasecurity/trivy-action from 0.33.1 to 0.35.0 (#8204)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 13:58:53 -04:00
dependabot[bot]
1ed882b611 mod: bump golang.org/x/image from 0.35.0 to 0.36.0 (#8194)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-04 12:49:44 -05:00
dependabot[bot]
391edc74c2 mod: bump golang.org/x/text from 0.33.0 to 0.34.0 (#8195)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 20:58:12 -05:00
dependabot[bot]
944bfeb57e mod: bump github.com/prometheus/client_golang from 1.23.0 to 1.23.2 (#8196)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 20:29:21 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
e8b6dea462 release: fix up sentence case for release name
[skip ci]
2026-02-18 22:45:51 -05:00
Joe Chen
2989605fd8 Update CHANGELOG for 0.14.2 release
[skip ci]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 19:22:40 -05:00
JSS
df467d8ff1 Fix git reset --end-of-options error on file upload and edit (#8184) 2026-02-18 19:04:31 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
36d56d5525 all: rename packages ending with "util" to end with "x" (#8182)
Co-authored-by: JSS <jss@unknwon.dev>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:25:19 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
5f17b670b3 docker: pin Go 1.26 in builder stage images (#8180)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:44:13 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ea682c5bbc all: upgrade to Go 1.26 (#8179)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:31:14 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
9001a68cdd js: use safe DOM construction for milestone and assignee selection (#8178)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:24:52 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
295bfba729 context: reject access tokens passed via URL query parameters (#8177) 2026-02-13 15:27:48 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ac21150a53 template: escape untrusted names in locale strings piped through Safe (#8176)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-12 21:42:23 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
a000f0c7a6 database: use safe git-module API for tag deletion (#8175)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-12 21:24:44 -05:00
Joe Chen
a976fd2f9c chore: minor case fixup
[skip ci]
2026-02-12 21:09:36 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
441c64d7bd markup: restrict data URI scheme to safe image MIME types (#8174)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:26:31 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
5c67d47512 database: remove MSSQL backend support (#8173) 2026-02-10 18:41:31 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
94d6e53dc2 email: replace gomail with go-mail (#8164)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 17:44:01 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
a1fa62b270 all: decouple API types from go-gogs-client SDK (#8171)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-10 10:56:17 -05:00
Copilot
317e28b908 Remove non-existent README_ZH.md from release workflow (#8170)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-02-09 09:22:24 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
069d3535d6 chore: fix broken links to gogs.io (#8169) 2026-02-09 09:09:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
81ee883644 lfs: verify content hash and prevent object overwrite (#8166)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2026-02-08 17:14:12 -05:00
Copilot
400ae7bd28 Add CLI reference doc page under advancing and normalize gogs command references (#8165)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-02-08 10:18:41 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
630ae0b3b0 cmd: migrate from urfave/cli v1 to v3 (#8160) 2026-02-08 00:58:05 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
3c358ede6d all: migrate from json-iterator to encoding/json (#8159) 2026-02-08 00:34:36 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
48500aa2b0 all: migrate from satori/go.uuid to google/uuid (#8161) 2026-02-08 00:13:43 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
785157ba1f all: migrate from nfnt/resize to golang.org/x/image/draw (#8158) 2026-02-08 00:08:50 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
1c8016a27b database/schemadoc: migrate to github.com/DATA-DOG/go-sqlmock (#8157) 2026-02-08 00:07:45 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
00c36d8d8a public: update jQuery from 3.6.0 to 3.7.1 (#8156) 2026-02-07 23:48:49 -05:00
Copilot
3747cd9058 Fix broken links in docs/getting-started/introduction.mdx (#8155)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-02-07 18:19:02 -05:00
Joe Chen
08e7cfd76c docs: fix up wwads-cn style in dark mode
[skip ci]
2026-02-07 17:49:58 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
9dd3e58f7b docs: migrate to Mintlify (#8154) 2026-02-07 17:32:52 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
edc1478f6b cmd: remove cert subcommand (#8153)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 14:23:33 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
bb86d12c36 cmd: show detected config path in web command help (#8152)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:38:53 -05:00
Copilot
bf17cc6c69 Replace github.com/unknwon/com with stdlib and internal helpers (#8148)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 22:08:54 -05:00
Copilot
6d56105f8f Run modernize tool across codebase (#8147)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2026-02-05 21:32:09 -05:00
Joe Chen
ed5d02e036 chore: free up "docs/" subdir for Mintlify
[skip ci]
2026-02-01 23:15:47 -05:00
dependabot[bot]
5874791a57 mod: bump golang.org/x/crypto from 0.45.0 to 0.47.0 (#8141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 09:20:24 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
17ad3d3425 pkgr: fix up install main package path (#8146) 2026-02-01 09:12:12 -05:00
dependabot[bot]
9b2a967e45 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.6.3 to 2.6.4 (#8143)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 09:01:09 -05:00
dependabot[bot]
e80635a449 mod: bump github.com/go-ldap/ldap/v3 from 3.4.11 to 3.4.12 (#8144)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 09:00:50 -05:00
Joe Chen
47bccf292d pkgr: fix up install path
[skip ci]
2026-02-01 08:53:52 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
38def73489 Update security policy for version support and advisories
[skip ci]
2026-02-01 08:16:22 -05:00
Copilot
6cf6422b88 Remove codecov config and upload in CI (#8145)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-02-01 08:10:55 -05:00
dependabot[bot]
8d8d66ec1d mod: bump github.com/olekukonko/tablewriter from 1.1.0 to 1.1.3 (#8140)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 07:45:08 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7ea2c4093f refactor: move main package from root to cmd/gogs (#8139)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:28:48 -05:00
dependabot[bot]
7ebfb202e4 mod: bump github.com/olekukonko/tablewriter from 0.0.5 to 1.1.0 (#8039)
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:11:08 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7b8c560f15 ci(go): use tparse for test output in non-Windows jobs (#8138)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:58:41 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
a636dcf678 fix(release): remove "v" prefix from archive names (#8137)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:42:45 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
3dcb74be39 release: cut CHANGELOG entries for 0.14.1
[skip ci]
2026-01-31 22:23:09 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7ad425025e fix(ssh): git clone via built-in SSH server hangs (#8135)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:20:43 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
85abee4b9b chore: update release templates (#8134)
[skip ci]
2026-01-31 20:08:38 -05:00
Joe Chen
997c3c5eab chore: take care of legacy code 2026-01-31 20:07:49 -05:00
Joe Chen
a5ddb2665e chore: bump dev version to 0.15
[skip ci]
2026-01-31 20:04:55 -05:00
Joe Chen
b68e6886c6 release: cut CHANGELOG entries for 0.14.0
[skip ci]
2026-01-31 16:29:15 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ac7ba9c8a7 locale: sync from Crowdin (#8131) 2026-01-31 16:07:47 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
dd862ee058 ci(docker): auto-tag minor version for stable releases (#8129)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 15:50:42 -05:00
Joe Chen
f94042ce6f chore: update release templates
[skip ci]
2026-01-31 15:17:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
628216d588 security: require authentication for attachment uploads (#8128)
https://github.com/gogs/gogs/security/advisories/GHSA-fc3h-92p8-h36f

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 14:40:39 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7306b955a9 ci: use external unknwon/send-email-on-failure action (#8127) 2026-01-31 13:29:30 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
fc6d1e2055 ci(release): add email notification on failure for main branch (#8126)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:13:51 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
3b01892d85 fix(docker): correct binary path in Dockerfiles(#8125)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:02:25 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
7b7e38c880 security: prevent deletion of protected and default branches via web UI (#8124)
https://github.com/gogs/gogs/security/advisories/GHSA-2c6v-8r3v-gh6p

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 12:51:07 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
bb68c0a042 security: fix cross-repository label modification vulnerability (#8123)
https://github.com/gogs/gogs/security/advisories/GHSA-cv22-72px-f4gh

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 12:28:30 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
68271e6af0 chore: update vulnerability reporting guidelines
[skip ci]
2026-01-31 12:01:23 -05:00
Copilot
4f5b00f8c4 Build artifacts for every commit on main (#8122)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 11:58:45 -05:00
Joe Chen
5d3ffd132b chore: bunch of minor tidy-ups
[skip ci]
2026-01-31 09:59:32 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ee65aa89ca ci: add cross-compilation workflow for releases (#8121)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 09:40:32 -05:00
dependabot[bot]
a1a97de76f mod: bump modernc.org/sqlite from 1.38.2 to 1.39.0 (#8038)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 23:19:19 -05:00
Matthias Jobst
9963268267 docker: ignore proxy for healthcheck command (#7532)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-30 23:12:49 -05:00
dependabot[bot]
49a45290ae mod: bump gopkg.in/macaron.v1 from 1.5.0 to 1.5.1 (#8035)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2026-01-30 23:10:14 -05:00
Yaroslav Halchenko
3cc8e7aa6d Fix typos throughout the codebase (#7514) 2026-01-30 23:03:05 -05:00
Rajat Jain
9f1499f3ab Support comparing tags in addition to branches (#6493)
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-30 22:45:03 -05:00
Jeff Li
77dba1b5ea repo: fix 500 error on watchers and stargazers pages using MSSQL (#6386)
Co-authored-by: Joe Chen <jc@unknwon.io>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-30 22:24:43 -05:00
Georg Wicke-Arndt
f70f29fdb0 Show file name in browser tab title when viewing files (#5896) 2026-01-30 22:11:10 -05:00
Joe Chen
ed6109d35d chore: update AGENTS.md
[skip ci]
2026-01-30 22:01:02 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
54e08ba678 docker: add image versions instructions
[skip ci]
2026-01-30 21:52:31 -05:00
Sino
87c8faaf08 Standardize HTTP status codes (#7851)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-30 09:27:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
1b226ca48d repo: improve authz for resources (#8119)
https://github.com/gogs/gogs/security/advisories/GHSA-jj5m-h57j-5gv7
2026-01-29 20:56:09 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
e3bb4165dc database: impersonate pure-Go SQLite driver as the old "sqlite3" (#8118) 2026-01-29 14:49:36 -05:00
pikomonde
df3d945a2c config: validate and print warnings for invalid options (#7705)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-28 11:36:03 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ae41bab5f2 repo: always list tree entries with verbatim (#8116)
Co-authored-by: Ali <alicse3@gmail.com>
2026-01-28 10:11:30 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
2316b09eaf database: fully switch over to pure-Go SQLite driver (#8115) 2026-01-27 22:45:50 -05:00
Copilot
3477bbac0e Add ED25519 test coverage and refactor SSH key parsing tests (#8107)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 14:04:12 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
bb3cab921b chore: update release template (#8110)
[skip ci]
2026-01-24 23:07:27 -05:00
Copilot
1cdeef2ce8 Replace tool.IsMaliciousPath with pathutil.Clean and move IsSameSite to urlutil (#8106) 2026-01-23 21:13:27 -05:00
Joe Chen
a7bc1637db chore: update AGENTS.md
[skip ci]
2026-01-23 12:20:51 -05:00
Joe Chen
f1102a7a7c release: cut CHANGELOG entries for 0.13.4
[skip ci]
2026-01-23 10:13:11 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
26ef07f60d repo: validate Git server hook name for editing (#8103) 2026-01-23 09:40:36 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
ca59e76a53 api: verify write access to update repo content (#8102) 2026-01-23 09:19:11 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
27f1250d00 api: verify owner access to delete repos (#8101) 2026-01-22 22:52:57 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
560f92ec5f two_factor: verify recovery code ownership upon using (#8100) 2026-01-22 22:30:27 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
1bbc36149a wiki: sanitize old wiki page name when editing (#8099) 2026-01-22 11:00:27 -05:00
Copilot
4ee706b2bf chore: replace pkg/errors with cockroachdb/errors (#8098)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
2026-01-22 08:20:53 -05:00
Copilot
ae59787ff5 chore: remove internal/database/errors package (#8096) 2026-01-22 07:17:34 -05:00
Copilot
389ec54b2c chore: rename osutil.IsExist to osutil.Exist (#8097) 2026-01-21 22:22:07 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
5544212adb wiki: auto-detect default branch (#8094) 2026-01-20 23:38:10 -05:00
Joe Chen
6e1e4cb848 chore: update AGENTS.md
[skip ci]
2026-01-19 22:13:49 -05:00
deepsource-autofix[bot]
8e08450182 style: format code with Go fmt and Gofumpt (#8092) 2026-01-19 14:54:13 -05:00
Shivam Kumar
beeeb64969 repo: check directory existence before creation (#8091)
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2026-01-19 14:36:38 -05:00
Mukaiu
3ef71a43d9 api: fix nil pointer dereference when listing user repos (#8069)
Co-authored-by: Joe Chen <jc@unknwon.io>
2026-01-18 21:01:03 -05:00
Joe Chen
e44284fada chore: add AGENTS.md
[skip ci]
2026-01-18 21:00:19 -05:00
Shivam Kumar
b7010084b7 auth: support redirecting to custom URL upon sign out (#8089)
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2026-01-16 15:44:26 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
b8ab712819 chore: update pull request template checklist
[skip ci]
2026-01-16 14:38:59 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
59e9fa191b chore: remove all MIT license file headers (#8083)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2026-01-08 19:32:15 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
553707f3fd repository: reject any updates that has symlink in path hierarchy (#8082)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-08 14:22:04 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
b6030ba713 docker-next: fix up Git user home directory and permission issue (#8081) 2026-01-07 10:33:27 -05:00
Élie Bouttier
e68949dd13 fix(Dockerfile.next): install curl (#8080) 2026-01-06 12:30:15 -05:00
Copilot
f813c17565 Add DigitalOcean container registry garbage collection workflow (#8073) 2025-12-20 18:29:32 +08:00
ᴊᴏᴇ ᴄʜᴇɴ
5e7c599755 chore: update security advisory reporting process
[skip ci]
2025-12-10 20:22:12 -05:00
Jakub Domeracki
2c88cd4d9f security: patch mermaid package version
Co-authored-by: Jakub Domeracki <jdomeracki.itsec@gmail.com>
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2025-12-04 14:58:06 +09:00
Copilot
04cc48339f chore: update Go version from 1.24 to 1.25 in CI and related files (#8066)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-12-03 20:11:14 -05:00
Neptunium93
3666718ec5 repo: fix potential null pointer dereference in mirror sync (#8065) 2025-12-03 18:04:42 -05:00
Joe Chen
4cc83c498b chore: fix up docker-next SSH instruction
[skip ci]
2025-11-30 10:26:58 -05:00
Copilot
332c0895e6 docker: add next-generation rootless image with Kubernetes security context support (#8061)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-11-29 23:01:12 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
16f466d1c1 CHANGELOG: add entry for #8057
[skip ci]
2025-11-25 22:40:48 -05:00
Joe Chen
5e3f45e7f5 ci: set timeout on deploy gogs-demo
[skip ci]
2025-11-25 20:31:33 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
994b769d9d ci: use kubeconfig of service account (#8060) 2025-11-25 19:07:24 -05:00
Copilot
3488e22a40 ci: pin all GitHub Actions to full SHA256 hashes (#8059) 2025-11-25 19:03:04 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
d0d4de70ca ci: deploy gogs-demo after image is built (#8058) 2025-11-24 11:05:25 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
79cc921892 conf: enable value mapping from env vars (#8057) 2025-11-23 20:59:52 -05:00
dependabot[bot]
1347c7802f mod: bump golang.org/x/crypto from 0.41.0 to 0.45.0 (#8056)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 21:46:39 -05:00
ᴊᴏᴇ ᴄʜᴇɴ
89f0f86c7e locale: sync from Crowdin (#8040) 2025-10-02 23:10:06 -04:00
Dmitry Afanasiev
6a6364bb5d chore: update mermaid to 11.9.0 (#8009)
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2025-09-30 06:11:09 -04:00
dependabot[bot]
35c047dc9d mod: bump golang.org/x/net from 0.42.0 to 0.43.0 (#8022)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 20:20:15 -04:00
dependabot[bot]
e4923af32d mod: bump golang.org/x/text from 0.27.0 to 0.28.0 (#8027)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 20:18:18 -04:00
dependabot[bot]
0533fb7744 mod: bump golang.org/x/crypto from 0.40.0 to 0.41.0 (#8024)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 13:13:50 -04:00
dependabot[bot]
28810f7db7 mod: bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0 (#8026)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 12:38:55 -04:00
ᴊᴏᴇ ᴄʜᴇɴ
cfe38e0a08 chore: update Debian and Ubuntu targets in .pkgr.yml
[skip ci]
2025-09-01 21:45:41 -04:00
dependabot[bot]
110da379c1 mod: bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (#8025)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-01 21:19:47 -04:00
dependabot[bot]
37962fcc0b mod: bump github.com/niklasfasching/go-org from 1.8.0 to 1.9.1 (#8013)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 21:56:02 -04:00
dependabot[bot]
7265a7cd26 mod: bump golang.org/x/net from 0.40.0 to 0.42.0 (#8014)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 21:52:36 -04:00
dependabot[bot]
521fbe34f6 mod: bump golang.org/x/crypto from 0.39.0 to 0.40.0 (#8016)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 16:32:05 -04:00
dependabot[bot]
1375bc401a mod: bump modernc.org/sqlite from 1.37.1 to 1.38.2 (#8017)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-03 15:43:27 -04:00
dependabot[bot]
28f83626d4 mod: bump github.com/urfave/cli from 1.22.16 to 1.22.17 (#7995)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 20:17:59 -04:00
dependabot[bot]
dcf8d9340e mod: bump github.com/sergi/go-diff from 1.3.1 to 1.4.0 (#7996)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:10:47 -04:00
dependabot[bot]
76b5d75d79 mod: bump golang.org/x/crypto from 0.38.0 to 0.39.0 (#7997)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:10:13 -04:00
dependabot[bot]
454175ece2 mod: bump github.com/Masterminds/semver/v3 from 3.3.1 to 3.4.0 (#8000)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:09:19 -04:00
Joe Chen
d940e692ec chore: fix up links and add CTA in README
[skip ci]
2025-06-18 09:46:51 -04:00
Joe Chen
7fc19d094c chore: update dev_release_patch_version.md
[skip ci]
2025-06-08 23:13:35 -04:00
Joe Chen
4e3bf27fe2 chore: update dev_release_patch_version.md
[skip ci]
2025-06-08 21:30:40 -04:00
Joe Chen
16b8b0974e chore: update dev_release_patch_version
[skip ci]
2025-06-08 21:23:46 -04:00
Joe Chen
f004b5b472 CHANGELOG: cut entries for 0.13.3 (#7983)
[skip ci]
2025-06-08 18:53:03 -04:00
Joe Chen
591810e405 web_editor: prohibit CRUD to symbolic files (#7981)
Fixes
[GHSA-wj44-9vcg-wjq7](https://github.com/gogs/gogs/security/advisories/GHSA-wj44-9vcg-wjq7)

---------

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2025-06-08 18:28:28 -04:00
Joe Chen
3c2112215f ci: only run Docker job for the main repository (#7980) 2025-06-08 17:19:48 -04:00
dependabot[bot]
9db5c30c36 mod: bump github.com/pquerna/otp from 1.3.0 to 1.5.0 (#7972)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 12:58:19 -04:00
dependabot[bot]
49f4d4312b mod: bump github.com/niklasfasching/go-org from 1.7.0 to 1.8.0 (#7978)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 12:50:52 -04:00
dependabot[bot]
0cf12eccae mod: bump modernc.org/sqlite from 1.37.0 to 1.37.1 (#7977)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 12:50:32 -04:00
dependabot[bot]
495c38825a mod: bump gorm.io/driver/postgres from 1.5.11 to 1.6.0 (#7973)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-06-01 11:56:55 -04:00
dependabot[bot]
60b912ddda mod: bump golang.org/x/net from 0.39.0 to 0.40.0 (#7975)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 11:42:13 -04:00
Edoardo Ottavianelli
4d6a0ebaac security: patch for Stored XSS in PDF renderer (#7966) 2025-05-16 15:49:58 -04:00
dependabot[bot]
54fa465da5 mod: bump github.com/go-ldap/ldap/v3 from 3.4.10 to 3.4.11 (#7960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 13:02:00 -04:00
dependabot[bot]
54cd8fd160 mod: bump golang.org/x/net from 0.36.0 to 0.38.0 (#7946)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-04-16 08:48:37 -04:00
dependabot[bot]
7abc81c4d2 mod: bump github.com/prometheus/client_golang from 1.21.0 to 1.21.1 (#7949)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 13:10:30 -04:00
dependabot[bot]
493834861d mod: bump golang.org/x/text from 0.22.0 to 0.23.0 (#7950)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 13:00:41 -04:00
dependabot[bot]
9a539393bd mod: bump github.com/editorconfig/editorconfig-core-go/v2 (#7948)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 18:05:48 -04:00
dependabot[bot]
139ea3ce7d mod: bump modernc.org/sqlite from 1.36.0 to 1.37.0 (#7947)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-04-14 18:00:07 -04:00
dependabot[bot]
4acaaac85a mod: bump golang.org/x/net from 0.34.0 to 0.36.0 (#7935)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:27:10 -05:00
dependabot[bot]
e93ced2163 mod: bump modernc.org/sqlite from 1.34.5 to 1.36.0 (#7929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:18:23 -05:00
dependabot[bot]
9672b6dd6c mod: bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 (#7931)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:11:43 -05:00
dependabot[bot]
7a12c8418e mod: bump golang.org/x/text from 0.21.0 to 0.22.0 (#7933)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 23:11:08 -05:00
Joe Chen
2208f17e8e chore: update Trivy scan config (#7934) 2025-03-04 23:07:09 -05:00
宋子桓🌈
46a84fdad5 email: fix unable to override templates in custom directory (#7905)
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-02-12 21:52:18 -05:00
dependabot[bot]
9c80e6d922 mod: bump modernc.org/sqlite from 1.34.4 to 1.34.5 (#7906)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 23:24:18 -05:00
dependabot[bot]
3a952bd248 mod: bump golang.org/x/net from 0.33.0 to 0.34.0 (#7908)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 23:22:49 -05:00
Joe Chen
96d5d622b8 ci: update GitHub Actions version for Code QL 2025-01-01 19:46:13 -05:00
MarcUs7i
b59e943aa6 Set timeout to explicit 0 in gogs.js (#7890)
## Describe the pull request

A simple fix in public/js/gogs.js making bug upload not result in a
timeout (added just one line)

Link to the issue: closes https://github.com/gogs/gogs/issues/6149

## Test plan

- Set the max_size of `attachment` to a high number

```toml
[release.attachment]
ENABLED          = true
ALLOWED_TYPES    = */*
MAX_SIZE         = 512
MAX_FILES        = 20
```

- Upload a file to releases


![image](https://github.com/user-attachments/assets/8cf29c73-c8ec-42a3-9660-681a583b577a)

It doesn't randomly timeout!
2025-01-01 19:41:24 -05:00
dependabot[bot]
371a6092de mod: bump modernc.org/sqlite from 1.34.1 to 1.34.4 (#7893)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 11:18:34 -05:00
dependabot[bot]
e6896eb393 mod: bump gorm.io/driver/postgres from 1.5.7 to 1.5.11 (#7895)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2025-01-01 11:11:51 -05:00
dependabot[bot]
6c04a1ce7c mod: bump github.com/go-ldap/ldap/v3 from 3.4.8 to 3.4.10 (#7894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 10:37:55 -05:00
Martin
6bdbb88fb8 gogs.service: Remove syslog.target (#7681)
Remove syslog.target from service file, this target hasn't existed for
over a decade.


6aa8d43ade/NEWS (L72-L73)
2024-12-26 11:55:46 -05:00
ngn
6b4e8668a1 Adding '|' to the releases page (#7631)
Adding '|' to the releases page `templates/repo/release/list.tmpl` 

i changed this:

![2023-12-22_16-41_1](https://github.com/gogs/gogs/assets/78868991/3d0f8572-b4de-458d-8bf2-dcd030c67757)
to this:

![2023-12-22_16-41](https://github.com/gogs/gogs/assets/78868991/43e2fe58-1019-40f5-b2fb-d011d1145be4)
(yes)
2024-12-26 11:15:44 -05:00
Joe Chen
d8f562b6ad docs: remove dev/release directory (#7884)
[skip ci]
2024-12-23 13:26:07 -05:00
Joe Chen
f1e64008fb cmd: always build with "cert" subcommand (#7883) 2024-12-23 12:10:43 -05:00
Joe Chen
cfde357824 release: pull back 0.13.1 and move CHANGELOG entries to 0.13.2 (#7881) 2024-12-23 10:56:57 -05:00
Joe Chen
3459f8df49 Dockerfile: fix up outdated s6-svscan path (#7880)
## Describe the pull request

Link to the issue: https://github.com/gogs/gogs/issues/7864
2024-12-23 10:53:40 -05:00
Joe Chen
c0332ff856 release: update templates (#7877)
[skip ci]
2024-12-22 21:44:17 -05:00
Joe Chen
e1042e7d47 release: cut CHANGELOG entries for 0.13.1 (#7874)
Part of https://github.com/gogs/gogs/issues/7873

[skip ci]
2024-12-22 17:50:59 -05:00
Joe Chen
76831d0d06 dep: update github.com/gogs/git-module to v1.8.4 (#7872)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-m27m-h5gj-wwmg by
including https://github.com/gogs/git-module/pull/110
2024-12-22 16:37:51 -05:00
Joe Chen
68b3c8f339 repo: ignore unintended Git options for diff preview (#7871)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-9pp6-wq8c-3w2c
2024-12-22 15:59:03 -05:00
Joe Chen
77a4a945ae repo: prevent preview and delete files in .git directories (#7870)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-ccqv-43vm-4f3w
2024-12-22 15:24:18 -05:00
Joe Chen
b09f317aa0 database: lock mock properly to avoid data race in tests (#7869)
Fixes tests data race found in
https://github.com/gogs/gogs/actions/runs/12457230279/job/34771555537
2024-12-22 15:09:42 -05:00
Joe Chen
009a1855aa ssh: make env command a passthrough (#7868)
## Describe the pull request

Fixes
https://github.com/gogs/gogs/security/advisories/GHSA-vm62-9jw3-c8w3
2024-12-22 14:56:31 -05:00
Alexandre Jacquin
fb7812b194 Fix s6-svscan path in Dockerfile (#7867)
Related to #7864

## Describe the pull request

Fix the path of the s6-svscan binary path in the Dockerfile. As
mentionned in the issue, it is probably to the alpine base image change
(from `3.17` to `3.21`).

Link to the issue:
https://github.com/gogs/gogs/issues/7864#issuecomment-2558323928

Credit to @cryptovaltt

## Test plan

Build the image and check if the application can be ran. E.g.:

```bash
docker build -t gogs:working-7864 -f Dockerfile .
docker run --name=gogs -p 10022:22 -p 10880:3000 -v gogs:working-7864 --rm
```
2024-12-22 10:53:00 -05:00
Joe Chen
00bd6081a5 chore: minor fixup on README (#7866)
[skip ci]
2024-12-21 10:58:38 -05:00
Joe Chen
5326b4113a chore: update minimum Go version to 1.23.4 (#7865) 2024-12-21 10:48:17 -05:00
Joe Chen
7adac94f1e Dockerfile: update base image to alpine3.21 and enable trivy scan (#7863)
## Describe the pull request

Link to the issue: fixes https://github.com/gogs/gogs/issues/6674
2024-12-20 22:33:46 -05:00
Joe Chen
c5dff8cdad chore: update vulnerability report and patch policy
[skip ci]
2024-12-16 19:05:53 -05:00
dependabot[bot]
8a39d529d0 mod: bump golang.org/x/crypto from 0.29.0 to 0.31.0 (#7861)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-14 23:36:29 -05:00
Joe Chen
740eba4f70 session: support TLS for Redis provider (#7860) 2024-12-14 23:18:46 -05:00
Joe Chen
9a9388ace2 api: clean file path for updating repo contents (#7859)
## Describe the pull request

Link to the issue: closes https://github.com/gogs/gogs/issues/7582
2024-12-14 21:30:34 -05:00
Joe Chen
8a3b8198af chore: update security policy 2024-12-10 22:23:01 -05:00
Joe Chen
c94baec9ca repo/editor: disallow editing symlink while changing file name (#7857)
## Describe the pull request

Link to the issue: https://github.com/gogs/gogs/issues/7582
2024-12-08 21:12:55 -05:00
dependabot[bot]
25a799ad63 mod: bump github.com/Masterminds/semver/v3 from 3.2.1 to 3.3.1 (#7854)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-12-01 11:08:42 -05:00
dependabot[bot]
f518abaff1 mod: bump golang.org/x/net from 0.30.0 to 0.31.0 (#7853)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 10:58:39 -05:00
dependabot[bot]
58fa30c7be mod: bump golang.org/x/text from 0.19.0 to 0.20.0 (#7856)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 10:49:39 -05:00
dependabot[bot]
a02d6a22d6 mod: bump modernc.org/sqlite from 1.33.1 to 1.34.1 (#7852)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 09:49:01 -05:00
Joe Chen
7a2dffa95a ci: push Docker images to DigitalOcean Container Registry (#7839) 2024-11-09 19:50:01 -05:00
dependabot[bot]
2541348408 mod: bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (#7834)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-03 17:36:50 -05:00
dependabot[bot]
f037c58eee mod: bump golang.org/x/net from 0.29.0 to 0.30.0 (#7837)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-02 21:36:24 -04:00
dependabot[bot]
e5e03cba24 mod: bump github.com/urfave/cli from 1.22.15 to 1.22.16 (#7838)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 18:38:05 -04:00
Joe Chen
07380780c6 locale: sync from Crowdin (#7824) 2024-10-13 20:24:38 -04:00
dependabot[bot]
3a8bd73901 mod: bump github.com/prometheus/client_golang from 1.20.2 to 1.20.4 (#7818)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 21:52:08 -04:00
dependabot[bot]
79bd350ad6 mod: bump modernc.org/sqlite from 1.32.0 to 1.33.1 (#7816)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 08:23:28 -04:00
dependabot[bot]
0700cef63e mod: bump golang.org/x/net from 0.28.0 to 0.29.0 (#7814)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 20:44:05 -04:00
Mobile Mind
e34ebac459 install: fix SMTP password config name to save (#7807) 2024-09-12 22:10:02 -04:00
Joe Chen
03d26b0482 locale: sync from Crowdin (#7801) 2024-09-08 12:12:25 -04:00
Kyle Fawcett
e6d4db0b4c Fix spacing if BuildTime is missing. (#7800)
Co-authored-by: Gogs <gogs@fake.local>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-09-07 11:43:29 -04:00
dependabot[bot]
69d74485f0 mod: bump modernc.org/sqlite from 1.31.1 to 1.32.0 (#7795)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-09-04 08:46:26 -04:00
dependabot[bot]
9401784421 mod: bump github.com/prometheus/client_golang from 1.19.1 to 1.20.2 (#7793)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 08:43:26 -04:00
dependabot[bot]
93aba5a6b7 mod: bump golang.org/x/net from 0.27.0 to 0.28.0 (#7794)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 08:43:03 -04:00
dependabot[bot]
9108970e45 mod: bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#7792)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2024-09-03 09:36:00 -04:00
dependabot[bot]
0965db473f mod: bump golang.org/x/net from 0.26.0 to 0.27.0 (#7780)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-02 01:14:46 -04:00
dependabot[bot]
f1f6d3f37d mod: bump golang.org/x/crypto from 0.24.0 to 0.25.0 (#7779)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 19:59:36 -04:00
dependabot[bot]
8e195067df mod: bump github.com/microcosm-cc/bluemonday from 1.0.25 to 1.0.27 (#7782)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 19:58:32 -04:00
dependabot[bot]
5d6bc5c9fd mod: bump modernc.org/sqlite from 1.29.2 to 1.31.1 (#7783)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 19:58:01 -04:00
Joe Chen
8869354d21 locale: sync from Crowdin (#7778) 2024-07-29 03:35:15 -04:00
dependabot[bot]
5bdf91e73c mod: bump golang.org/x/net from 0.25.0 to 0.26.0 (#7769)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 07:19:04 -04:00
dependabot[bot]
54776c776a mod: bump golang.org/x/text from 0.15.0 to 0.16.0 (#7770)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 07:11:59 -04:00
Joe Chen
f2ff885f33 locale: sync from Crowdin (#7764) 2024-06-28 23:17:41 -04:00
idnandre
6cb018df2f chore: remove duplicate error and fix typo error message (#7763) 2024-06-28 23:03:32 -04:00
Sergei Gnezdov
f4a78e5cfb chore: update version of mermaid to 10.9.1 (#7760) 2024-06-08 12:57:00 -04:00
dependabot[bot]
1815fd5c36 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.6.1 to 2.6.2 (#7755)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 21:51:10 -04:00
dependabot[bot]
15d64e0f23 mod: bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 (#7758)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 21:50:13 -04:00
dependabot[bot]
15077b13e3 mod: bump golang.org/x/net from 0.24.0 to 0.25.0 (#7759)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 21:49:58 -04:00
alingse
87f47166ac chore: fix miss makezero bug (#7752) 2024-05-26 18:04:54 -04:00
dependabot[bot]
c8cd3e7125 mod: bump github.com/go-ldap/ldap/v3 from 3.4.6 to 3.4.8 (#7738)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:26:33 -04:00
dependabot[bot]
ce350e768a mod: bump golang.org/x/net from 0.23.0 to 0.24.0 (#7737)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:17:28 -04:00
dependabot[bot]
56a1712275 mod: bump github.com/urfave/cli from 1.22.14 to 1.22.15 (#7736)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:17:21 -04:00
dependabot[bot]
f8a3e7153f mod: bump golang.org/x/crypto from 0.21.0 to 0.22.0 (#7735)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 19:00:01 -04:00
Jiaxin Zhu
6f9b63517d fix(systemd script): define RestartSec as 2 (#7733) 2024-04-30 09:15:34 -04:00
Joe Chen
1eae0b2fce locale: sync from Crowdin (#7732) 2024-04-27 13:22:20 -04:00
dependabot[bot]
24f06bb088 mod: bump golang.org/x/net from 0.22.0 to 0.23.0 (#7730)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 19:56:17 -04:00
Jiaxin Zhu
015589cdd9 fix(.editorconfig): remove setting end_of_line and make Git track EOL changes on Windows (#7725) 2024-04-15 10:36:54 -04:00
Jiaxin Zhu
ba17b9b56b fix(templates): the green color is supposed to be purple (#7722)
Co-authored-by: jxzhu <zhujiaxin@gmail.com>
2024-04-11 10:13:46 -04:00
dependabot[bot]
3b8c9ba7ab mod: bump gorm.io/driver/postgres from 1.5.6 to 1.5.7 (#7712)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:18:44 -04:00
dependabot[bot]
f915eb3a40 mod: bump golang.org/x/net from 0.21.0 to 0.22.0 (#7713)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:17:38 -04:00
dependabot[bot]
c036214c45 mod: bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#7714)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:09:52 -04:00
dependabot[bot]
b8ed5d8d91 mod: bump golang.org/x/crypto from 0.20.0 to 0.21.0 (#7715)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 21:09:30 -04:00
Joe Chen
d9ecdcaef0 all: unwrap database.UsersStore interface (#7708) 2024-03-27 23:18:59 -04:00
Joe Chen
202012887a all: unwrap database.TwoFactorsStore interface (#7707) 2024-03-27 22:14:08 -04:00
Joe Chen
4d05804729 all: unwrap database.RepositoriesStore interface (#7706) 2024-03-26 23:34:31 -04:00
bitebyte
e1e75ed36b Fix issue: synchronize the section name[mailer/email] of app.ini (#7704) 2024-03-26 22:30:25 -04:00
Joe Chen
895e553e68 all: unwrap database.PublicKeysStore interface (#7702) 2024-03-23 20:55:45 -04:00
Joe Chen
5cf0189df1 all: unwrap database.PermissionsStore interface (#7701) 2024-03-23 20:46:32 -04:00
Joe Chen
8d2386b4db database: set Handle direcetly during initialization (#7699) 2024-03-20 19:02:57 -04:00
Joe Chen
dd49412edd all: unwrap database.OrganizationsStore interface (#7696) 2024-03-19 19:33:43 -04:00
Joe Chen
b89f20e02d all: unwrap database.NoticesStore interface (#7695) 2024-03-17 20:44:13 -04:00
Joe Chen
e634aa6277 all: unwrap database.LoginSourcesStore interface (#7694) 2024-03-17 20:14:54 -04:00
Joe Chen
3a5132b6f7 all: unwrap database.LFSStore interface (#7692) 2024-03-16 20:32:12 -04:00
dependabot[bot]
b9e41f28c3 mod: bump github.com/jackc/pgx/v5 from 5.4.3 to 5.5.4 (#7688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-16 18:08:27 -04:00
Joe Chen
6d77d6204d all: unwrap database.ActionsStore interface (#7686) 2024-03-13 22:03:02 -04:00
dependabot[bot]
f73edbd172 mod: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#7685)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 20:00:00 -04:00
Joe Chen
fa84482d98 chore: upgrade go-mockgen for 1.22 (#7683) 2024-03-12 19:25:30 -04:00
dependabot[bot]
6c63a88ef0 mod: bump modernc.org/sqlite from 1.28.0 to 1.29.2 (#7680)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 13:14:35 -05:00
dependabot[bot]
35c59d2c24 mod: bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 (#7679)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:24:38 -05:00
dependabot[bot]
6d77bcebaa mod: bump golang.org/x/crypto from 0.18.0 to 0.20.0 (#7677)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:23:29 -05:00
dependabot[bot]
605c751926 mod: bump gorm.io/driver/postgres from 1.5.4 to 1.5.6 (#7676)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:23:11 -05:00
Joe Chen
8054ffc12f all: unwrap database.AccessTokensStore interface (#7670) 2024-02-20 21:47:32 -05:00
Joe Chen
917c14f2ce internal/database: consistently use Store and s as receiver (#7669) 2024-02-19 20:00:13 -05:00
Joe Chen
dfe27ad556 database: use all tables to setup test suite (#7667) 2024-02-18 21:26:30 -05:00
Joe Chen
3616bc03c9 packager: use centos-9 and debian-12 (#7668) 2024-02-18 21:25:01 -05:00
Joe Chen
10cd022e08 ci: upgrade GitHub Actions versions (#7666) 2024-02-18 21:05:27 -05:00
Joe Chen
3650b32ec5 chore: rename internal/db to internal/database (#7665) 2024-02-18 19:39:41 -05:00
Joe Chen
cad79a31d8 locale: sync from Crowdin (#7664) 2024-02-18 19:05:22 -05:00
dependabot[bot]
077141d2ba mod: bump golang.org/x/net from 0.19.0 to 0.20.0 (#7657)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 18:05:38 -05:00
Joe Chen
cd3f132844 README: update sponsor list (#7661)
[skip ci]
2024-02-02 18:00:58 -05:00
dependabot[bot]
ff7dc29ad3 mod: bump golang.org/x/crypto from 0.17.0 to 0.18.0 (#7659)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 17:46:13 -05:00
dependabot[bot]
87a5ae3f61 mod: bump gorm.io/gorm from 1.25.5 to 1.25.6 (#7658)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 23:34:56 -05:00
dependabot[bot]
6bd09e75fe mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.6.0 to 2.6.1 (#7660)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 23:34:13 -05:00
dependabot[bot]
7b06bf642a mod: bump modernc.org/sqlite from 1.27.0 to 1.28.0 (#7637)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 13:51:32 -05:00
dependabot[bot]
b6e4b379c1 mod: bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 (#7638)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 13:51:15 -05:00
dependabot[bot]
5e96f64b83 mod: bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#7626)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-24 22:59:10 -05:00
Joe Chen
41d473e999 Taskfile: drop-test-db (#7623)
[skip ci]
2023-12-17 16:49:37 -05:00
Joe Chen
25fdeaac49 db: pass context to tests by default (#7622)
[skip ci]
2023-12-17 16:32:28 -05:00
Joe Chen
0c7b45ad1f locale: sync from Crowdin (#7621) 2023-12-16 21:31:21 -05:00
dependabot[bot]
5293781c0d mod: bump golang.org/x/net from 0.17.0 to 0.19.0 (#7609)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 12:31:22 -05:00
dependabot[bot]
7a2c691c5b mod: bump golang.org/x/text from 0.13.0 to 0.14.0 (#7608)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 12:25:35 -05:00
dependabot[bot]
dfc129ee98 mod: bump golang.org/x/crypto from 0.14.0 to 0.16.0 (#7607)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 12:25:21 -05:00
Joe Chen
1c711bc8d4 chore: move CODEOWNERS to .github/
[skip ci]
2023-11-17 19:20:20 -05:00
Joe Chen
31a0964e12 dbtest: properly close test connection (#7598) 2023-11-12 19:09:50 -05:00
Joe Chen
b644d797b4 chore: add CODEOWNERS 2023-11-12 19:08:26 -05:00
Joe Chen
61940ca879 chore: update security policy
[skip ci]
2023-11-09 22:10:42 -05:00
Joe Chen
16b185f97d build: remove support of Go 1.18 and 1.19 (#7590) 2023-11-01 23:06:24 -04:00
Athanasios Oikonomou
c531da02ca commit: fix matchUsersWithCommitEmails (#7561)
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-11-01 11:58:48 -04:00
dependabot[bot]
bc1b5e52a9 mod: bump modernc.org/sqlite from 1.26.0 to 1.27.0 (#7587)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 08:56:17 -04:00
dependabot[bot]
0b5257425f mod: bump gorm.io/driver/postgres from 1.5.3 to 1.5.4 (#7588)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 08:55:58 -04:00
Joe Chen
7fb3dcb1eb locale: sync from Crowdin (#7584) 2023-10-29 21:38:20 -04:00
dependabot[bot]
5c3fde8531 mod: bump gorm.io/driver/postgres from 1.5.2 to 1.5.3 (#7573)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-20 20:26:53 -04:00
dependabot[bot]
7bffc0d0e3 mod: bump gorm.io/gorm from 1.25.4 to 1.25.5 (#7574)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-20 20:14:39 -04:00
Joe Chen
748c67df8b chore: slow down dep update to monthly
[ci skip]
2023-10-20 20:04:41 -04:00
dependabot[bot]
2d9be6c06b mod: bump gorm.io/driver/mysql from 1.5.1 to 1.5.2 (#7575)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-20 20:03:59 -04:00
dependabot[bot]
493a56b262 mod: bump golang.org/x/net from 0.15.0 to 0.17.0 (#7569)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-12 00:11:23 -04:00
dependabot[bot]
3350740563 mod: bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (#7560)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 22:51:35 -04:00
dependabot[bot]
89b123f9d1 mod: bump modernc.org/sqlite from 1.25.0 to 1.26.0 (#7559)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 22:51:11 -04:00
dependabot[bot]
4821e89780 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.5.2 to 2.6.0 (#7558)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 22:50:52 -04:00
dependabot[bot]
e989093129 mod: bump github.com/msteinert/pam from 0.0.0-20190215180659-f29b9f28d6f9 to 1.2.0 (#7550)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 08:59:57 -04:00
dependabot[bot]
018337ddfb mod: bump github.com/go-ldap/ldap/v3 from 3.4.5 to 3.4.6 (#7548)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-18 11:42:16 -04:00
dependabot[bot]
fde10f1236 mod: bump golang.org/x/net from 0.14.0 to 0.15.0 (#7547)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 23:47:57 -04:00
dependabot[bot]
48710b9793 mod: bump golang.org/x/text from 0.12.0 to 0.13.0 (#7544)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 17:13:52 -04:00
Joe Chen
069f1ed9a4 db: migrate admin.go to notices.go with GORM (#7536) 2023-08-23 00:15:30 -04:00
dependabot[bot]
1112a71ea5 mod: bump gorm.io/gorm from 1.25.3 to 1.25.4 (#7535)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 10:40:39 -04:00
Joe Chen
9d86838fa7 ci: use Go 1.21 (#7528) 2023-08-14 22:24:26 -04:00
dependabot[bot]
f187005581 mod: bump gorm.io/gorm from 1.25.2 to 1.25.3 (#7526)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 10:39:53 -04:00
dependabot[bot]
7efda8e8fc mod: bump github.com/gogs/git-module from 1.8.2 to 1.8.3 (#7527)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 10:39:35 -04:00
dependabot[bot]
2620cc3e8d mod: bump golang.org/x/net from 0.12.0 to 0.14.0 (#7522)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:50:25 -04:00
dependabot[bot]
af77cbb759 mod: bump modernc.org/sqlite from 1.24.0 to 1.25.0 (#7521)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:30:19 -04:00
dependabot[bot]
65e14b18ec mod: bump golang.org/x/crypto from 0.11.0 to 0.12.0 (#7520)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:29:53 -04:00
dependabot[bot]
738ac3c03b mod: bump golang.org/x/text from 0.11.0 to 0.12.0 (#7519)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:29:34 -04:00
Joe Chen
7a0a07628d locale: sync from Crowdin (#7518) 2023-08-01 22:27:56 -04:00
dependabot[bot]
c373a92da6 mod: bump github.com/microcosm-cc/bluemonday from 1.0.24 to 1.0.25 (#7513)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 12:31:52 -04:00
dependabot[bot]
23ea4863f1 mod: bump github.com/niklasfasching/go-org from 1.6.6 to 1.7.0 (#7491)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 21:26:14 -04:00
dependabot[bot]
8940778bb8 mod: bump modernc.org/sqlite from 1.23.1 to 1.24.0 (#7508)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 21:25:18 -04:00
dependabot[bot]
53c009288c mod: bump golang.org/x/net from 0.11.0 to 0.12.0 (#7500)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-09 13:59:45 -04:00
Joe Chen
3be3ae500b ci: remove Codeball 2023-07-09 10:59:12 -04:00
dependabot[bot]
9ab8bd6785 mod: bump golang.org/x/crypto from 0.10.0 to 0.11.0 (#7501)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-09 10:58:12 -04:00
dependabot[bot]
9e91602b42 mod: bump golang.org/x/text from 0.10.0 to 0.11.0 (#7502)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-07 22:25:08 -04:00
dependabot[bot]
b13cb438d1 mod: bump gorm.io/gorm from 1.25.1 to 1.25.2 (#7497)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 22:22:31 -04:00
dependabot[bot]
69802f07b7 mod: bump golang.org/x/net from 0.10.0 to 0.11.0 (#7485)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 19:24:55 -04:00
dependabot[bot]
c426e9b8ad mod: bump golang.org/x/text from 0.9.0 to 0.10.0 (#7480)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:58:32 -04:00
dependabot[bot]
97ccf329b1 mod: bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 (#7482)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:39:17 -04:00
dependabot[bot]
89b759e2ed mod: bump github.com/urfave/cli from 1.22.13 to 1.22.14 (#7481)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:39:08 -04:00
dependabot[bot]
1fb33bd586 mod: bump modernc.org/sqlite from 1.22.1 to 1.23.1 (#7475)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 12:38:53 -04:00
dependabot[bot]
0ca017d0a8 mod: bump github.com/go-ldap/ldap/v3 from 3.4.4 to 3.4.5 (#7476)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-06-17 12:17:06 -04:00
Joe Chen
75767078aa pkgr: remove debian-9 (#7472)
[skip ci]
2023-06-03 20:01:30 -04:00
dependabot[bot]
22bf85b6f5 mod: bump gorm.io/driver/mysql from 1.5.0 to 1.5.1 (#7458)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 19:44:28 -04:00
dependabot[bot]
b2ea82c8d8 mod: bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#7460)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 19:44:13 -04:00
dependabot[bot]
7fae076155 mod: bump github.com/microcosm-cc/bluemonday from 1.0.23 to 1.0.24 (#7459)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 19:43:57 -04:00
dependabot[bot]
ed825c6273 mod: bump gorm.io/driver/postgres from 1.5.0 to 1.5.2 (#7461)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 22:15:47 -04:00
dependabot[bot]
795cac1dd0 mod: bump github.com/gogs/git-module from 1.8.1 to 1.8.2 (#7455)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-15 07:42:45 -04:00
dependabot[bot]
ad3f9ac068 mod: bump golang.org/x/crypto from 0.8.0 to 0.9.0 (#7456)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-15 07:42:11 -04:00
Joe Chen
0721ef2399 refactor(db): migrate off user_email.go to users.go (#7452) 2023-05-14 20:15:47 -04:00
Joe Chen
9ac93067f6 ci: refurbish Docker job (#7446) 2023-05-09 23:02:57 -04:00
Joe Chen
167cdb09e3 chore: generate SCIP instead of LSIF (#7445) 2023-05-09 09:13:02 -04:00
Joe Chen
ada1083462 tests(db): fix data race (#7444)
[skip ci]
2023-05-08 23:02:45 -04:00
dependabot[bot]
5df9668063 mod: bump github.com/prometheus/client_golang from 1.15.0 to 1.15.1 (#7442)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-08 08:56:02 -04:00
dependabot[bot]
249668a2b9 mod: bump gorm.io/gorm from 1.25.0 to 1.25.1 (#7441)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-08 08:55:41 -04:00
dependabot[bot]
66364d9c02 mod: bump modernc.org/sqlite from 1.22.0 to 1.22.1 (#7439)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-01 07:21:10 -04:00
dependabot[bot]
077c80d258 mod: bump github.com/urfave/cli from 1.22.12 to 1.22.13 (#7438)
[skip ci]

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-01 07:20:48 -04:00
dependabot[bot]
79bda9df35 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.5.1 to 2.5.2 (#7433)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 20:00:41 +08:00
dependabot[bot]
6e5f9e8a1b mod: bump modernc.org/sqlite from 1.21.1 to 1.22.0 (#7432)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 19:58:20 +08:00
dependabot[bot]
7e5db4ba42 mod: bump github.com/prometheus/client_golang from 1.14.0 to 1.15.0 (#7427)
Bumps
[github.com/prometheus/client_golang](https://github.com/prometheus/client_golang)
from 1.14.0 to 1.15.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prometheus/client_golang/releases">github.com/prometheus/client_golang's
releases</a>.</em></p>
<blockquote>
<h2>v1.15.0</h2>
<h2>Changed</h2>
<p>[BUGFIX] Fix issue with atomic variables on ppc64le <a
href="https://redirect.github.com/prometheus/client_golang/issues/1171">#1171</a>
[BUGFIX] Support for multiple samples within same metric <a
href="https://redirect.github.com/prometheus/client_golang/issues/1181">#1181</a>
[BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 <a
href="https://redirect.github.com/prometheus/client_golang/issues/1187">#1187</a>
[ENHANCEMENT] Add exemplars and middleware examples <a
href="https://redirect.github.com/prometheus/client_golang/issues/1173">#1173</a>
[ENHANCEMENT] Add more context to &quot;duplicate label names&quot;
error to enable debugging <a
href="https://redirect.github.com/prometheus/client_golang/issues/1177">#1177</a>
[ENHANCEMENT] Add constrained labels and constrained variant for all
MetricVecs <a
href="https://redirect.github.com/prometheus/client_golang/issues/1151">#1151</a>
[ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf
package <a
href="https://redirect.github.com/prometheus/client_golang/issues/1183">#1183</a>
[ENHANCEMENT] Add possibility to dynamically get label values for http
instrumentation <a
href="https://redirect.github.com/prometheus/client_golang/issues/1066">#1066</a>
[ENHANCEMENT] Add ability to Pusher to add custom headers <a
href="https://redirect.github.com/prometheus/client_golang/issues/1218">#1218</a>
[ENHANCEMENT] api: Extend and improve efficiency of json-iterator usage
<a
href="https://redirect.github.com/prometheus/client_golang/issues/1225">#1225</a>
[ENHANCEMENT] Added (official) support for go 1.20 <a
href="https://redirect.github.com/prometheus/client_golang/issues/1234">#1234</a>
[ENHANCEMENT] timer: Added support for exemplars <a
href="https://redirect.github.com/prometheus/client_golang/issues/1233">#1233</a>
[ENHANCEMENT] Filter expected metrics as well in CollectAndCompare <a
href="https://redirect.github.com/prometheus/client_golang/issues/1143">#1143</a>
[ENHANCEMENT] ⚠️ Only set start/end if time is not Zero. This breaks
compatibility in experimental api package. If you strictly depend on
empty time.Time as actual value, the behavior is now changed <a
href="https://redirect.github.com/prometheus/client_golang/issues/1238">#1238</a></p>
<!-- raw HTML omitted -->
<ul>
<li>Merge release 1.14 to main by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1164">prometheus/client_golang#1164</a></li>
<li>Fix typo in doc comment by <a
href="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1166">prometheus/client_golang#1166</a></li>
<li>Fix issue with atomic variables on ppc64le by <a
href="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1171">prometheus/client_golang#1171</a></li>
<li>examples: Add exemplars and middleware examples by <a
href="https://github.com/jessicalins"><code>@​jessicalins</code></a> in
<a
href="https://redirect.github.com/prometheus/client_golang/pull/1173">prometheus/client_golang#1173</a></li>
<li>Add context to &quot;duplicate label names&quot; to enable debugging
by <a
href="https://github.com/SpencerMalone"><code>@​SpencerMalone</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1177">prometheus/client_golang#1177</a></li>
<li>Add constrained labels and Constrained variant for all MetricVecs by
<a href="https://github.com/Okhoshi"><code>@​Okhoshi</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1151">prometheus/client_golang#1151</a></li>
<li>Support for multiple samples within same metric by <a
href="https://github.com/machadovilaca"><code>@​machadovilaca</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1181">prometheus/client_golang#1181</a></li>
<li>Replace deprecated github.com/golang/protobuf package by <a
href="https://github.com/zhsj"><code>@​zhsj</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1183">prometheus/client_golang#1183</a></li>
<li>Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 by <a
href="https://github.com/b4bay"><code>@​b4bay</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1187">prometheus/client_golang#1187</a></li>
<li>typo fix by <a
href="https://github.com/ibreakthecloud"><code>@​ibreakthecloud</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1178">prometheus/client_golang#1178</a></li>
<li>Add possibility to dynamically get label values for http
instrumentation by <a
href="https://github.com/Okhoshi"><code>@​Okhoshi</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1066">prometheus/client_golang#1066</a></li>
<li>Bump github.com/cespare/xxhash/v2 from 2.1.2 to 2.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1199">prometheus/client_golang#1199</a></li>
<li>Bump github.com/prometheus/procfs from 0.8.0 to 0.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1198">prometheus/client_golang#1198</a></li>
<li>Bump golang.org/x/sys from 0.3.0 to 0.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1217">prometheus/client_golang#1217</a></li>
<li>Synchronize common files from prometheus/prometheus by <a
href="https://github.com/prombot"><code>@​prombot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1213">prometheus/client_golang#1213</a></li>
<li>Bump github.com/prometheus/common from 0.37.0 to 0.39.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1197">prometheus/client_golang#1197</a></li>
<li>Add <code>Header</code> method to Pusher for custom header by <a
href="https://github.com/songjiayang"><code>@​songjiayang</code></a> in
<a
href="https://redirect.github.com/prometheus/client_golang/pull/1218">prometheus/client_golang#1218</a></li>
<li>Synchronize common files from prometheus/prometheus by <a
href="https://github.com/prombot"><code>@​prombot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1224">prometheus/client_golang#1224</a></li>
<li>api: Extend and improve json-iterator usage by <a
href="https://github.com/beorn7"><code>@​beorn7</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1225">prometheus/client_golang#1225</a></li>
<li>Indent example in godoc consistently by <a
href="https://github.com/lamida"><code>@​lamida</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1226">prometheus/client_golang#1226</a></li>
<li>Remove unnecessary check if label is nil in observeWithExemplar by
<a href="https://github.com/dimonl"><code>@​dimonl</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1235">prometheus/client_golang#1235</a></li>
<li>README: Remove not working gocoverage images. by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1236">prometheus/client_golang#1236</a></li>
<li>Added support for go 1.20. by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1234">prometheus/client_golang#1234</a></li>
<li>timer: Added support for exemplars. by <a
href="https://github.com/bwplotka"><code>@​bwplotka</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1233">prometheus/client_golang#1233</a></li>
<li>Synchronize common files from prometheus/prometheus by <a
href="https://github.com/prombot"><code>@​prombot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1237">prometheus/client_golang#1237</a></li>
<li>Filter expected metrics as well in CollectAndCompare by <a
href="https://github.com/DariaKunoichi"><code>@​DariaKunoichi</code></a>
in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1143">prometheus/client_golang#1143</a></li>
<li>Only set start/end if time is not Zero by <a
href="https://github.com/jacksontj"><code>@​jacksontj</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1238">prometheus/client_golang#1238</a></li>
<li>Bump google.golang.org/protobuf from 1.28.1 to 1.30.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1243">prometheus/client_golang#1243</a></li>
<li>Bump golang.org/x/sys from 0.5.0 to 0.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/prometheus/client_golang/pull/1246">prometheus/client_golang#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md">github.com/prometheus/client_golang's
changelog</a>.</em></p>
<blockquote>
<h2>1.15.0 / 2023-04-13</h2>
<h2>What's Changed</h2>
<ul>
<li>[BUGFIX] Fix issue with atomic variables on ppc64le <a
href="https://redirect.github.com/prometheus/client_golang/issues/1171">#1171</a></li>
<li>[BUGFIX] Support for multiple samples within same metric <a
href="https://redirect.github.com/prometheus/client_golang/issues/1181">#1181</a></li>
<li>[BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149
<a
href="https://redirect.github.com/prometheus/client_golang/issues/1187">#1187</a></li>
<li>[ENHANCEMENT] Add exemplars and middleware examples <a
href="https://redirect.github.com/prometheus/client_golang/issues/1173">#1173</a></li>
<li>[ENHANCEMENT] Add more context to &quot;duplicate label names&quot;
error to enable debugging <a
href="https://redirect.github.com/prometheus/client_golang/issues/1177">#1177</a></li>
<li>[ENHANCEMENT] Add constrained labels and constrained variant for all
MetricVecs <a
href="https://redirect.github.com/prometheus/client_golang/issues/1151">#1151</a></li>
<li>[ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf
package <a
href="https://redirect.github.com/prometheus/client_golang/issues/1183">#1183</a></li>
<li>[ENHANCEMENT] Add possibility to dynamically get label values for
http instrumentation <a
href="https://redirect.github.com/prometheus/client_golang/issues/1066">#1066</a></li>
<li>[ENHANCEMENT] Add ability to Pusher to add custom headers <a
href="https://redirect.github.com/prometheus/client_golang/issues/1218">#1218</a></li>
<li>[ENHANCEMENT] api: Extend and improve efficiency of json-iterator
usage <a
href="https://redirect.github.com/prometheus/client_golang/issues/1225">#1225</a></li>
<li>[ENHANCEMENT] Added (official) support for go 1.20 <a
href="https://redirect.github.com/prometheus/client_golang/issues/1234">#1234</a></li>
<li>[ENHANCEMENT] timer: Added support for exemplars <a
href="https://redirect.github.com/prometheus/client_golang/issues/1233">#1233</a></li>
<li>[ENHANCEMENT] Filter expected metrics as well in CollectAndCompare
<a
href="https://redirect.github.com/prometheus/client_golang/issues/1143">#1143</a></li>
<li>[ENHANCEMENT] ⚠️ Only set start/end if time is not Zero. This
breaks compatibility in experimental api package. If you strictly depend
on empty time.Time as actual value, the behavior is now changed <a
href="https://redirect.github.com/prometheus/client_golang/issues/1238">#1238</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d7896d4bd0"><code>d7896d4</code></a>
Cut v1.15.0 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1249">#1249</a>)</li>
<li><a
href="bba12b5514"><code>bba12b5</code></a>
Bump github.com/prometheus/common from 0.41.0 to 0.42.0 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1244">#1244</a>)</li>
<li><a
href="9015fcfc2c"><code>9015fcf</code></a>
Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1245">#1245</a>)</li>
<li><a
href="1bb8cf8306"><code>1bb8cf8</code></a>
Bump golang.org/x/sys from 0.5.0 to 0.6.0 (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1246">#1246</a>)</li>
<li><a
href="ff7efedd43"><code>ff7efed</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/client_golang/issues/1243">#1243</a>
from prometheus/dependabot/go_modules/google.golang....</li>
<li><a
href="852a282f10"><code>852a282</code></a>
Bump google.golang.org/protobuf from 1.28.1 to 1.30.0</li>
<li><a
href="63a3955992"><code>63a3955</code></a>
Merge pull request <a
href="https://redirect.github.com/prometheus/client_golang/issues/1238">#1238</a>
from jacksontj/issue_621</li>
<li><a
href="eb339714f5"><code>eb33971</code></a>
Filter expected metrics as well in CollectAndCompare (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1143">#1143</a>)</li>
<li><a
href="5c7821d84a"><code>5c7821d</code></a>
Update common Prometheus files (<a
href="https://redirect.github.com/prometheus/client_golang/issues/1237">#1237</a>)</li>
<li><a
href="603786389c"><code>6037863</code></a>
Only set start/end if time is not Zero</li>
<li>Additional commits viewable in <a
href="https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 20:11:00 +08:00
dependabot[bot]
7be3ea194f mod: bump gorm.io/driver/mysql from 1.4.7 to 1.5.0 (#7424)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:35:54 +08:00
dependabot[bot]
d119526bde mod: bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1 (#7422)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:32:22 +08:00
dependabot[bot]
c3f1331a5e mod: bump gorm.io/gorm from 1.24.7-0.20230306060331-85eaf9eeda11 to 1.25.0 (#7423)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:32:02 +08:00
dependabot[bot]
8de873be86 mod: bump golang.org/x/crypto from 0.7.0 to 0.8.0 (#7421)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 18:19:23 +08:00
dependabot[bot]
eeb397a0ac mod: bump golang.org/x/net from 0.8.0 to 0.9.0 (#7419)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 21:20:59 +08:00
dependabot[bot]
5432293224 mod: bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#7413) 2023-04-03 20:16:33 +08:00
Joe Chen
5da1e62426 locale: sync from Crowdin (#7401) 2023-03-19 22:34:04 +08:00
Joe Chen
057ae983a0 chore(ci): fix typo in docker.yml (#7398)
[skip ci]
2023-03-15 23:23:05 +08:00
dependabot[bot]
f473643d29 mod: bump github.com/niklasfasching/go-org from 1.6.5 to 1.6.6 (#7395)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 21:53:19 +08:00
dependabot[bot]
b96b8eb389 mod: bump gorm.io/driver/postgres from 1.4.8 to 1.5.0 (#7393)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 21:37:21 +08:00
dependabot[bot]
70777899f8 mod: bump github.com/microcosm-cc/bluemonday from 1.0.22 to 1.0.23 (#7394)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 21:36:38 +08:00
dependabot[bot]
cdde49978b mod: bump golang.org/x/crypto from 0.6.0 to 0.7.0 (#7388)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 19:10:56 +08:00
dependabot[bot]
0ddab94774 mod: bump gorm.io/gorm from 1.24.5 to 1.24.6 (#7387)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 19:08:13 +08:00
TheDarkUndoing
5483d97f73 gitutil: strip SSH port from submodule URL when rendering for HTML link (#7383)
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-03-05 20:00:56 +08:00
dependabot[bot]
6fa552994a mod: bump gopkg.in/macaron.v1 from 1.4.0 to 1.5.0 (#7377)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 09:36:40 +08:00
dependabot[bot]
bd0ab704af mod: bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#7378)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 09:34:55 +08:00
dependabot[bot]
cd7b3cf971 mod: bump modernc.org/sqlite from 1.20.4 to 1.21.0 (#7380)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 09:34:08 +08:00
Joe Chen
fb6693f612 chore: update release playbook (#7376)
[skip ci]
2023-02-26 12:15:19 +08:00
Joe Chen
a98968436c chore: bump dev version to 0.14 (#7375)
[skip ci]
2023-02-26 12:13:11 +08:00
Joe Chen
540134d443 CHANGELOG: cut entries for 0.13.0 (#7373)
[skip ci]
2023-02-25 20:31:04 +08:00
Joe Chen
6244daa3ea chore: update release issue templates (#7371)
[skip ci]
2023-02-25 20:28:30 +08:00
Joe Chen
689e71ff2c ci: run Go tests with -shuffle=on (#7370) 2023-02-25 16:56:39 +08:00
Joe Chen
361a681225 docs: minor updates (#7367)
[skip ci]
2023-02-25 16:08:34 +08:00
Joe Chen
73ae88badf CHANGELOG: cut entries for 0.12.11 (#7368)
[skip ci]
2023-02-25 13:39:06 +08:00
dependabot[bot]
72d51347ec mod: bump gorm.io/driver/mysql from 1.4.3 to 1.4.7 (#7363)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-20 19:28:14 +08:00
dependabot[bot]
dc37bf5794 mod: bump modernc.org/sqlite from 1.20.3 to 1.20.4 (#7364)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-20 19:15:19 +08:00
dependabot[bot]
9e5fa984f8 mod: bump gorm.io/driver/postgres from 1.4.7 to 1.4.8 (#7362)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-20 19:14:56 +08:00
Joe Chen
3e3d6eda12 chore: update Go versions in CI (#7346) 2023-02-19 18:10:34 +08:00
dependabot[bot]
9110059797 mod: bump golang.org/x/net from 0.6.0 to 0.7.0 (#7358)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-18 22:19:40 +08:00
Joe Chen
15d0d6a94b fix(db): correctly check Git path on case-insensitive file system (#7359) 2023-02-18 22:15:13 +08:00
Joe Chen
0f8c71d3b3 fix(migration): skip v20 if column sha256 already exists (#7354) 2023-02-14 22:44:23 +08:00
Joe Chen
8f9895acaf fix(db): sanitize user full name after find (#7353) 2023-02-14 21:46:09 +08:00
Joe Chen
2a375007ee fix(repo): be tolerant to implicit submodules (#7352) 2023-02-14 14:46:29 +08:00
dependabot[bot]
c63448e357 mod: bump github.com/gogs/git-module from 1.7.2 to 1.8.0 (#7350)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 22:46:36 +08:00
dependabot[bot]
5db49a8892 mod: bump gorm.io/driver/postgres from 1.4.6 to 1.4.7 (#7349)
[ci skip]

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 22:45:31 +08:00
dependabot[bot]
1a1b50d786 mod: bump golang.org/x/crypto from 0.5.0 to 0.6.0 (#7347)
[ci skip]

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 22:43:31 +08:00
Joe Chen
b34ee73497 feat(ssh): support dynamic list of algorithms (#7345) 2023-02-12 13:10:41 +08:00
Joe Chen
92f66c9eac chore: ask for test plan when test cases are not applicable (#7344)
[ci skip]
2023-02-12 12:47:13 +08:00
Joe Chen
3a28168d41 fix(backup): skip "data" in the custom directory (#7343) 2023-02-12 00:14:51 +08:00
Vamsi Atluri
ef1fe1bb3b conf: add new config option for default branch name (#7291)
Co-authored-by: Vamsi Atluri <me@vamc19.dev>
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-02-11 16:37:24 +08:00
Joe Chen
8350daf505 refactor(db): merge relation stores into entity stores (#7341) 2023-02-08 13:55:54 +08:00
Joe Chen
133b9d9044 refactor(db): finish migrate methods off user.go (#7337) 2023-02-07 23:39:00 +08:00
Joe Chen
7c453d5b36 README: update sponsor link (#7340)
[ci skip]
2023-02-07 20:00:31 +08:00
Joe Chen
b6df33fa72 README: update VPS sponsor (#7339)
[ci skip]
2023-02-06 23:17:40 +08:00
dependabot[bot]
8d6b964099 mod: bump gorm.io/gorm from 1.24.3 to 1.24.5 (#7338)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-06 20:08:09 +08:00
Joe Chen
7ff09cf359 refactor(db): migrate methods off user.go (#7336) 2023-02-05 16:28:47 +08:00
Joe Chen
3c43b9b21c locale: sync from Crowdin (#7335) 2023-02-04 20:47:53 +08:00
Zachary Walters
5887bc116f chore: remove usages of the deprecated ioutil (#7332)
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-02-04 13:43:36 +08:00
Joe Chen
6d220540c1 refactor(db): migrate methods off user.go (#7334) 2023-02-04 13:36:00 +08:00
Joe Chen
ed51686240 refactor(db): migrate methods off user.go (#7333) 2023-02-04 12:22:37 +08:00
Joe Chen
cc4d4eacad refactor(db): migrate methods off user.go (#7331) 2023-02-04 00:02:34 +08:00
Joe Chen
c53a1998c5 all: replace interface{} with any (#7330)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2023-02-02 21:25:25 +08:00
Joe Chen
614382fec0 refactor(db): migrate methods off user.go (#7329) 2023-02-02 21:14:27 +08:00
Joe Chen
9df10cb8cc docker: upgrade base images to alpine:3.17 (#7043) 2023-01-30 20:38:53 +08:00
dependabot[bot]
5c47ecfcb8 mod: bump github.com/microcosm-cc/bluemonday from 1.0.21 to 1.0.22 (#7325)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-30 20:24:06 +08:00
dependabot[bot]
3d8004cf6f mod: bump modernc.org/sqlite from 1.20.2 to 1.20.3 (#7321)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-01-26 20:20:11 +08:00
dependabot[bot]
a3e2adeda2 mod: bump github.com/urfave/cli from 1.22.10 to 1.22.12 (#7320)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 22:07:28 +08:00
dependabot[bot]
63117f46ee mod: bump github.com/sergi/go-diff from 1.2.0 to 1.3.1 (#7312)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 10:07:30 +08:00
dependabot[bot]
cf70284de9 mod: bump gorm.io/gorm from 1.24.2 to 1.24.3 (#7305)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ci skip]
2023-01-09 23:29:05 +08:00
dependabot[bot]
367f2907df mod: bump golang.org/x/crypto from 0.4.0 to 0.5.0 (#7303)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 23:22:47 +08:00
Juning
16aded2743 systemd: add mysql.service to "After" (#7300) 2023-01-07 17:02:24 +08:00
dependabot[bot]
12b46b7757 mod: bump modernc.org/sqlite from 1.20.0 to 1.20.2 (#7301)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-07 17:00:12 +08:00
dependabot[bot]
6133415f6d mod: bump gorm.io/driver/postgres from 1.4.5 to 1.4.6 (#7299)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2023-01-07 16:52:04 +08:00
dependabot[bot]
c53b7e9698 mod: bump github.com/Masterminds/semver/v3 from 3.1.1 to 3.2.0 (#7275)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 23:20:52 +08:00
dependabot[bot]
c5d07b8bf9 mod: bump modernc.org/sqlite from 1.19.5 to 1.20.0 (#7276)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 23:20:32 +08:00
dependabot[bot]
2fc1e35943 mod: bump golang.org/x/text from 0.4.0 to 0.5.0 (#7277)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 23:20:12 +08:00
xpume
83335043e2 chore: fix typo in docstring (#7269) 2022-12-08 21:58:01 +08:00
dependabot[bot]
a5ad63a005 mod: bump modernc.org/sqlite from 1.19.4 to 1.19.5 (#7268)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[skip ci]
2022-11-28 18:54:04 +08:00
Joe Chen
ae20d03aec refactor(db): migrate UpdateUser off user.go (#7267) 2022-11-27 19:36:10 +08:00
Joe Chen
44333afd20 chore: consistently use errors.Cause for identifying error types (#7264) 2022-11-27 15:53:26 +08:00
Joe Chen
13099a7e4f refactor(db): add Users.Update (#7263) 2022-11-27 15:19:44 +08:00
Joe Chen
a7dbc970df fix(db): update user.updated_unix upon changing username (#7262) 2022-11-25 23:01:41 +08:00
Joe Chen
644a3a9d78 refactor(db): migrate ChangeUsername off user.go (#7261) 2022-11-25 22:40:20 +08:00
dependabot[bot]
93736cbc12 mod: bump github.com/derision-test/go-mockgen from 1.3.6 to 1.3.7 (#7243)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[skip ci]
2022-11-15 22:48:45 +08:00
dependabot[bot]
b157cc8b06 mod: bump github.com/prometheus/client_golang from 1.13.1 to 1.14.0 (#7245)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[skip ci]
2022-11-15 22:47:16 +08:00
dependabot[bot]
1d65c8e3ef mod: bump modernc.org/sqlite from 1.19.3 to 1.19.4 (#7233)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-10 22:15:12 +08:00
dependabot[bot]
cdf4f59cb4 mod: bump github.com/prometheus/client_golang from 1.13.0 to 1.13.1 (#7232)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-10 22:14:12 +08:00
Joe Chen
5fb29db2db refactor(db): migrate methods off and delete deprecated methods from user.go (#7231) 2022-11-05 23:33:05 +08:00
Joe Chen
b5d47b9692 refactor(db): migrate methods off user.go (#7230) 2022-11-05 18:56:48 +08:00
Joe Chen
fd798b4197 refactor(db): migrate methods off user.go (#7228) 2022-11-05 17:55:05 +08:00
Joe Chen
a66c90462d refactor(db): migrate methods off user.go and org.go (#7219) (#7227) 2022-11-05 13:12:53 +08:00
dependabot[bot]
3af5a424f0 mod: bump github.com/derision-test/go-mockgen from 1.3.4 to 1.3.6 (#7224)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ci skip]
2022-10-31 22:31:28 +08:00
dependabot[bot]
a9e3fa3ce5 mod: bump modernc.org/sqlite from 1.19.2 to 1.19.3 (#7223)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ci skip]
2022-10-31 22:30:51 +08:00
dependabot[bot]
75ee18f87e mod: bump github.com/gogs/git-module from 1.7.0 to 1.7.1 (#7222)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ci skip]
2022-10-31 22:30:13 +08:00
Joe Chen
d44978c940 locale: update [settings] access_token_tips (#7221) 2022-10-31 12:02:06 +08:00
Joe Chen
516cf7d077 locale: sync from Crowdin (#7220) 2022-10-31 11:55:24 +08:00
Joe Chen
1905b19ee7 refactor(db): migrate methods off user.go (#7219) 2022-10-30 23:04:24 +08:00
Joe Chen
131be6e074 refactor(db): migrate helpers off user_cache.go (#7214) 2022-10-24 23:45:31 +08:00
dependabot[bot]
49be63abbf mod: bump gorm.io/driver/postgres from 1.4.4 to 1.4.5 (#7212)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 19:41:03 +08:00
dependabot[bot]
f2b158159c mod: bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#7213)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 19:40:37 +08:00
Joe Chen
f6acc4763e test(db): add missing tests (#7208) 2022-10-23 21:53:11 +08:00
Joe Chen
3265abfbc2 refactor(db): migrate perms methods off user.go (#7207) 2022-10-23 21:22:36 +08:00
Joe Chen
d0a4a3401c refactor(db): migrate avatar methods off user.go (#7206) 2022-10-23 20:54:16 +08:00
Joe Chen
c58c893621 refactor(db): migrate password methods off user.go (#7205) 2022-10-23 19:15:14 +08:00
Joe Chen
ef0388045f chore: rename file to align with type name (#7204)
[ci skip]
2022-10-23 16:48:45 +08:00
Joe Chen
b1fefcbe50 refactor(db): migrate Follow off user.go (#7203) 2022-10-23 16:17:53 +08:00
Joe Chen
8077360cf6 chore(db): remove unused field (#7202) 2022-10-23 00:15:43 +08:00
Joe Chen
2e020b1cf6 release: update playbook (#7201) 2022-10-23 00:04:53 +08:00
Mateusz Reszka
742bc36edd api: support put content (#7114)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-10-22 23:52:48 +08:00
Yarden Shoham
a7299bbb8d ui: remove useless "Cancel" buttons (#7192)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-10-22 23:00:42 +08:00
Joe Chen
11edc09681 refactor: replace ioutil.ReadAll with io.ReadAll (#7200) 2022-10-22 21:34:53 +08:00
Yang Liu
b9f5cfddc1 auth: enable authentication by token from password (#7198)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-10-22 21:25:36 +08:00
LJea
fd5874b07b ui: add usage instructions for PAT (#7194)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-10-22 20:07:52 +08:00
Joe Chen
ce25881c88 refactor(db): move some methods off user.go (#7199) 2022-10-22 20:01:38 +08:00
Joe Chen
7cbd84d5b3 refactor(db): rename User.Passwd to User.Password (#7196) 2022-10-22 14:56:25 +08:00
Joe Chen
c502dc6ed8 refactor(db): move some methods from user.go to users.go (#7195) 2022-10-22 14:41:40 +08:00
dependabot[bot]
260e990be7 mod: bump golang.org/x/text from 0.3.7 to 0.4.0 (#7193)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-18 18:46:38 +08:00
dependabot[bot]
2df4b61eb2 mod: bump modernc.org/sqlite from 1.19.1 to 1.19.2 (#7190)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-18 18:35:43 +08:00
dependabot[bot]
689991578e mod: bump gorm.io/driver/mysql from 1.4.1 to 1.4.3 (#7189)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-18 18:34:13 +08:00
dependabot[bot]
a9bce79c6b mod: bump gorm.io/gorm from 1.23.10 to 1.24.0 (#7179)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-10-10 20:16:45 +08:00
dependabot[bot]
ac86936797 mod: bump gorm.io/driver/postgres from 1.3.10 to 1.4.4 (#7180)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:56:53 +08:00
dependabot[bot]
dcf9c111b6 mod: bump gorm.io/driver/mysql from 1.3.6 to 1.4.1 (#7178)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 19:44:34 +08:00
Joe Chen
50e5766867 build: remove support of Go 1.17 (#7177) 2022-10-09 23:12:03 +08:00
Joe Chen
8982a42d38 refactor(db): move User.HasForkedRepository to users.HasForkedRepository (#7176)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-10-09 22:55:32 +08:00
dependabot[bot]
fb00e3e56f mod: bump github.com/microcosm-cc/bluemonday from 1.0.20 to 1.0.21 (#7169)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 16:24:00 +08:00
dependabot[bot]
a0b8f5464e mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.4.5 to 2.5.1 (#7170)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 16:23:19 +08:00
dependabot[bot]
777fb14fc9 mod: bump gorm.io/gorm from 1.23.9 to 1.23.10 (#7166)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-27 20:31:42 +08:00
dependabot[bot]
25d6b168c5 mod: bump modernc.org/sqlite from 1.18.2 to 1.19.1 (#7162)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-21 08:50:56 +08:00
dependabot[bot]
c9fd177998 mod: bump gorm.io/gorm from 1.23.8 to 1.23.9 (#7163)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 23:46:19 +08:00
dependabot[bot]
02973f7f80 mod: bump gorm.io/driver/postgres from 1.3.9 to 1.3.10 (#7164)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 23:45:54 +08:00
dependabot[bot]
360280b0ea mod: bump modernc.org/sqlite from 1.18.1 to 1.18.2 (#7161)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 22:39:49 +08:00
Joe Chen
82e29c6bd3 locale: sync from Crowdin (#7159) 2022-09-11 17:09:47 +08:00
dependabot[bot]
cefbaa08d9 mod: bump github.com/microcosm-cc/bluemonday from 1.0.19 to 1.0.20 (#7154)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-06 01:56:47 +08:00
dependabot[bot]
87def3de5f mod: bump github.com/urfave/cli from 1.22.9 to 1.22.10 (#7155)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-06 01:56:12 +08:00
dependabot[bot]
9ea258e97f mod: bump gorm.io/driver/postgres from 1.3.8 to 1.3.9 (#7141)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 20:58:37 +08:00
dependabot[bot]
7e6fc2603e mod: bump modernc.org/sqlite from 1.18.0 to 1.18.1 (#7139)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 20:39:16 +08:00
dependabot[bot]
4487890979 mod: bump gopkg.in/ini.v1 from 1.66.6 to 1.67.0 (#7140)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 20:38:55 +08:00
dependabot[bot]
be775e2ffa mod: bump github.com/derision-test/go-mockgen from 1.3.3 to 1.3.4 (#7142)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 20:37:39 +08:00
dependabot[bot]
cee6ef39ee mod: bump gorm.io/driver/mysql from 1.3.5 to 1.3.6 (#7143)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 20:37:15 +08:00
dependabot[bot]
5910265e13 mod: bump github.com/prometheus/client_golang from 1.12.2 to 1.13.0 (#7130)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 19:15:21 +08:00
Joe Chen
a43b933c90 go: update required version to be 1.17 and add 1.19 to CI (#7129)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-08-08 13:56:50 +08:00
dependabot[bot]
cfa5ddbde8 mod: bump github.com/go-ldap/ldap/v3 from 3.4.3 to 3.4.4 (#7117)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 15:24:47 +08:00
dependabot[bot]
a21f0b0540 mod: bump modernc.org/sqlite from 1.17.3 to 1.18.0 (#7116)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 15:24:21 +08:00
Joe Chen
ad796b8ba5 CHANGELOG: cut entries for 0.12.10 (#7119)
[skip ci]
2022-08-02 10:43:14 +08:00
Joe Chen
db82024fc7 netutil: allow using * to match any hostname (#7111) 2022-07-25 21:38:15 +08:00
Christian Eichert
780b33c639 chore: add Simona Iacob as translator for Romanian language (#7102) 2022-07-17 15:17:49 +08:00
Yehonatan Ezron
a5d3e1900e api: support getting blob content (#7080)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-07-17 15:16:52 +08:00
dependabot[bot]
ab7133b35a mod: bump gorm.io/gorm from 1.23.7 to 1.23.8 (#7105)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-17 15:05:30 +08:00
dependabot[bot]
75cc3ce172 mod: bump gorm.io/driver/mysql from 1.3.4 to 1.3.5 (#7104)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-17 15:04:36 +08:00
liuxhit
05a6a9d6e9 docker: support adding extra options to backup command (#7060)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-07-17 14:52:35 +08:00
dependabot[bot]
25a2b716ad mod: bump gorm.io/driver/postgres from 1.3.7 to 1.3.8 (#7098)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-07-05 08:46:12 +08:00
dependabot[bot]
1d48df3fd1 mod: bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#7097)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-04 23:19:58 +08:00
dependabot[bot]
b8294a460e mod: bump github.com/microcosm-cc/bluemonday from 1.0.18 to 1.0.19 (#7099)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-04 23:18:54 +08:00
dependabot[bot]
6043bf20fe mod: bump gorm.io/gorm from 1.23.6 to 1.23.7 (#7096)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-04 23:17:13 +08:00
Joe Chen
1cd501b107 chore: go mod tidy (#7086) 2022-06-27 20:30:16 +08:00
dependabot[bot]
0022566a3a mod: bump github.com/stretchr/testify from 1.7.2 to 1.7.5 (#7083)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 20:13:54 +08:00
dependabot[bot]
5f3d44ec00 mod: bump github.com/gogs/git-module from 1.6.0 to 1.7.0 (#7084)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 20:04:50 +08:00
Joe Chen
25b49294b2 conf: update test golden file (#7085) 2022-06-27 20:04:16 +08:00
Joe Chen
a8e43f63a1 locale: sync from Crowdin (#7082) 2022-06-26 11:09:33 +08:00
Joe Chen
fb52bd6fea db: set XORM log level to error (#7078) 2022-06-25 21:17:55 +08:00
Joe Chen
bc5c739047 pkgr: update supported distributions (#7077)
[skip ci]
2022-06-25 20:58:01 +08:00
Joe Chen
97ccb365ec webhook: validate against hostname instead of full URL (#7075) 2022-06-25 20:36:05 +08:00
Joe Chen
083c3ee659 db: refactor "action" table to use GORM (#7054)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-06-25 18:07:39 +08:00
dependabot[bot]
9df4e3ae3c mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.4.4 to 2.4.5 (#7067)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-20 20:26:59 +08:00
Joe Chen
4a3dc6c774 db: skip auto migrate for existing "version" table (#7057) 2022-06-14 15:47:11 +08:00
dependabot[bot]
c0db4a7f1b mod: bump gorm.io/gorm from 1.23.5 to 1.23.6 (#7052)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-13 19:42:13 +08:00
dependabot[bot]
04fe4c86ec mod: bump github.com/derision-test/go-mockgen from 1.2.0 to 1.3.3 (#7053)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-13 19:41:28 +08:00
Joe Chen
b772603d78 migrations: add tests and remove XORM (#7050) 2022-06-12 14:15:01 +08:00
Joe Chen
2e19f5a3c8 db: add tests for authentication through login sources (#7049) 2022-06-12 10:34:12 +08:00
Joe Chen
63cb76106a chore: fix typo in codecov.yml (#7047)
[skip ci]
2022-06-11 17:35:30 +08:00
Joe Chen
1df62fafb9 db: use context and go-mockgen for ReposStore (#7046) 2022-06-11 12:43:56 +08:00
Joe Chen
5e32058c13 db: use context and go-mockgen for TwoFactorsStore (#7045) 2022-06-11 11:54:11 +08:00
Joe Chen
75fbb82440 db: use context for backup and restore (#7044) 2022-06-11 11:10:25 +08:00
Joe Chen
f837ea6346 db: use context and go-mockgen for UsersStore (#7042) 2022-06-11 09:42:17 +08:00
Joe Chen
9776bdc9b8 db: use context and go-mockgen for login sources (#7041) 2022-06-10 19:54:36 +08:00
Joe Chen
94059f291d db: use context and go-mockgen for LFSStore (#7038) 2022-06-10 11:27:06 +08:00
shlande
318fb25761 web: enable ETag to improve loading speed of static resources (#7035)
Co-authored-by: shlande <shlandeme@icloud.com>
2022-06-09 09:48:03 +08:00
Joe Chen
577621d463 mod: use github.com/gogs/gorm-sqlite as the SQLite driver (#7034) 2022-06-08 19:30:17 +08:00
Joe Chen
7229dd893f db: use context and go-mockgen for PermsStore (#7033) 2022-06-08 19:26:20 +08:00
Joe Chen
0918d8758b db: add back xorm tag for AccessToken.UserID (#7032) 2022-06-08 14:47:15 +08:00
Joe Chen
fe1d07f29c db: rename AccessTokensStore.Save to Touch (#7029) 2022-06-08 13:34:10 +08:00
Joe Chen
390fd3d283 docker: remove outdated info from README (#7028)
[skip ci]
2022-06-08 08:51:09 +08:00
Joe Chen
8304574738 release: minor updates to templates and docs (#7027)
[skip ci]
2022-06-08 01:32:37 +08:00
Joe Chen
727d4dbbe0 mod: update gorm.io/driver/sqlite to 1.3.2 (#7025) 2022-06-07 23:34:33 +08:00
Joe Chen
d6c6b901f0 CHANGELOG: cut entries for 0.12.9 (#7024)
[skip ci]
2022-06-07 21:30:42 +08:00
Joe Chen
9bf748b6c4 http: clean request path from Git endpoints (#7022) 2022-06-07 21:11:36 +08:00
Joe Chen
e3706575d5 ci: pin go-mockgen to 1.2.0 (#7021) 2022-06-07 20:38:54 +08:00
Joe Chen
2ca014250f pathutil: check both styles of os.PathSeparator (#7020) 2022-06-07 20:34:46 +08:00
dependabot[bot]
325904ce5a mod: bump github.com/niklasfasching/go-org from 1.6.2 to 1.6.5 (#7015)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 22:51:18 +08:00
dependabot[bot]
fa36765373 mod: bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#7016)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 22:50:52 +08:00
dependabot[bot]
55a8079c83 mod: bump gopkg.in/ini.v1 from 1.66.5 to 1.66.6 (#7017)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 22:50:33 +08:00
Joe Chen
0a92ad27ef db: use context and go-mockgen for AccessTokensStore (#7013) 2022-06-06 12:10:36 +08:00
Joe Chen
4cc3000b07 schemadoc: print table indexes (#7012) 2022-06-05 18:08:59 +08:00
E99p1ant
a328e7ccc4 access_token: encrypt access token with SHA256 (#7008)
* access_token: encrypt access token with SHA256

* revert list access token

* fix lint

* generate schemadoc

* add database migrations

* fix tests

* fix tests

* add test case for access token golden

* fix test in postgres

* `Sha256` -> `SHA256`

* Use GORM for migration

* task generate-schemadoc

* Use unique

* change migration name

* allow read

* task generate-schemadoc

* add changelog

* fix lint error

* update changelog

* remove Debug

* add comments

Co-authored-by: Joe Chen <jc@unknwon.io>
2022-06-05 13:34:21 +08:00
E99p1ant
155cae1de8 issues: sanitize DisplayName (#7009)
* issues: display issue poster’s `Name` instead of `DisplayName`

* sanitize display name

* update changelog
2022-06-05 00:53:15 +08:00
Joe Chen
64e09476c7 ci: check tidiness of "task generate-schemadoc" (#7007) 2022-06-04 14:40:21 +08:00
Joe Chen
4455cc1244 db: code tidy up for AccessTokens (#7006) 2022-06-04 13:35:42 +08:00
Joe Chen
38aff73251 repo_editor: check both styles of os.PathSeparator in all systems (#7005) 2022-06-04 13:11:29 +08:00
Joe Chen
69827490e0 pull: ignore PR status check if head repository is missing (#7004) 2022-06-04 13:10:15 +08:00
Joe Chen
75e10445ca http: fix non-sense NotFound call (#7003) 2022-06-04 10:44:54 +08:00
Joe Chen
5f0999243a ci: add Codeball (#6997)
[skip ci]
2022-06-03 21:16:52 +08:00
Joe Chen
09ddb8761f repo: remove hard-coded branch name in init (#6999) 2022-06-03 17:14:21 +08:00
Joe Chen
ccdcb1c45b db: run tests with pure-Go SQLite (#6998) 2022-06-03 10:03:48 +08:00
Joe Chen
5f34265db6 ci: run database tests against Postgres, MySQL and SQLite (#6996) 2022-06-01 22:51:46 +08:00
Joe Chen
05cdf8616b chore: update release issue templates (#6993)
[skip ci]
2022-05-31 19:07:43 +08:00
Joe Chen
c0941f4631 CHANGELOG: cut entries for 0.12.8 (#6992)
[skip ci]
2022-05-31 16:47:13 +08:00
Joe Chen
5414ae14a9 CHANEGLOG: add missing entry for #6988 (#6990)
[skip ci]
2022-05-31 15:48:40 +08:00
Joe Chen
b782400b92 locale: sync from Crowdin (#6989) 2022-05-31 15:48:21 +08:00
Joe Chen
7885f454a4 webhook: revalidate local hostname before each delivery (#6988) 2022-05-31 15:17:17 +08:00
Joe Chen
90bc752297 repo_editor: prohibit move files to to .git directory (#6986) 2022-05-31 15:10:00 +08:00
1135
519aeefbd9 repo_editor: prohibits uploading files to .git. directory (#6970)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-30 19:14:41 +08:00
dependabot[bot]
649e9e7f8c mod: bump gorm.io/driver/mysql from 1.3.3 to 1.3.4 (#6985)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-30 19:01:11 +08:00
dependabot[bot]
d466c96229 mod: bump gopkg.in/ini.v1 from 1.66.4 to 1.66.5 (#6984)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-30 19:00:49 +08:00
dependabot[bot]
38dbfee56c mod: bump gorm.io/driver/postgres from 1.3.6 to 1.3.7 (#6983)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-30 18:49:43 +08:00
Joe Chen
069d832a51 docker: push ephemeral image to ttl.sh for pull requests (#6981)
[skip ci]
2022-05-29 22:37:13 +08:00
Joe Chen
04d3946511 web: print accessible URL on startup (#6979) 2022-05-29 19:45:40 +08:00
Joe Chen
d7bda9ac0e build: remove Makefile and update Docker build steps (#6980) 2022-05-29 19:45:25 +08:00
Joe Chen
8356dc7774 locale: sync from Crowdin (#6978) 2022-05-29 15:10:21 +08:00
Joe Chen
1496988ac1 docs: use "go install" instead of "go get" (#6972) 2022-05-27 08:36:38 +08:00
Toby Simmons
d54e153fc8 csrf: sanitize token after reading from cookie (#6969)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-26 23:56:14 +08:00
Naveen
e65071d3aa chore: Set permissions for GitHub actions (#6936) 2022-05-26 01:05:29 +08:00
Songsong Wang
b4624bd468 chore: update README_ZH.md (#6960)
[skip ci]

Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-25 18:27:24 +08:00
dependabot[bot]
bdff033492 mod: bump gorm.io/driver/postgres from 1.3.5 to 1.3.6 (#6964)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-23 20:35:06 +08:00
Joe Chen
e01b0ce0d1 codecov: make patch status to be informational (#6952) 2022-05-16 20:58:35 +08:00
Joe Chen
c4b770f305 chore: fix lint errors (#6951) 2022-05-16 20:57:19 +08:00
dependabot[bot]
a6c53eb068 mod: bump github.com/prometheus/client_golang from 1.12.1 to 1.12.2 (#6950)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-16 19:42:12 +08:00
Joe Chen
705126cac8 locale: sync from Crowdin (#6948) 2022-05-15 02:15:24 +08:00
dependabot[bot]
cdc904e49e mod: bump github.com/urfave/cli from 1.22.8 to 1.22.9 (#6938)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 19:39:16 +08:00
Joe Chen
7ca5c8ca72 chore: update release templates (#6935) 2022-05-07 00:16:46 +08:00
Joe Chen
e51e016834 CHANGELOG: cut entries for 0.12.7 (#6931)
[skip ci]
2022-05-05 16:09:17 +08:00
Joe Chen
f7802b9227 release: add step to publish GitHub security advisory (#6929) 2022-05-05 15:57:50 +08:00
Joe Chen
a76aff36d0 CHANGELOG: add entry for #6926 (#6928) 2022-05-05 15:57:32 +08:00
Joe Chen
f45dbf3e76 chore: watch "custom" directory in dev and use lowercase for header value (#6927) 2022-05-03 17:54:14 +08:00
Joe Chen
cb35b73048 attachment: set CSP header in the serving endpoint (#6926) 2022-05-03 17:51:28 +08:00
dependabot[bot]
a61a4389ec mod: bump github.com/urfave/cli from 1.22.7 to 1.22.8 (#6925)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 20:58:08 +08:00
dependabot[bot]
f1755f5bc5 mod: bump gorm.io/gorm from 1.23.4 to 1.23.5 (#6924)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 20:57:37 +08:00
Joe Chen
71fc57f8a0 chore: fix dead link in pull request template (#6922)
[skip ci]
2022-04-27 20:29:54 +08:00
4e4o
f2c3027f50 restore: fix incorrect existence checking of "repositories.zip" (#6914) 2022-04-27 10:32:13 +08:00
vinceAmstoutz
39adf6e55a chore: update TRANSLATORS (#6912) 2022-04-27 10:19:59 +08:00
Joe Chen
4d33a5b5a8 locale: sync from Crowdin (#6920) 2022-04-26 17:46:22 +08:00
dependabot[bot]
26fce15bcf mod: bump gorm.io/driver/postgres from 1.3.4 to 1.3.5 (#6917)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-25 20:33:16 +08:00
dependabot[bot]
a230b3de22 mod: bump github.com/urfave/cli from 1.22.5 to 1.22.7 (#6918)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-25 20:32:36 +08:00
dependabot[bot]
e5350b9627 mod: bump github.com/go-ldap/ldap/v3 from 3.4.2 to 3.4.3 (#6905)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 19:38:46 +08:00
dependabot[bot]
a7693cbc86 mod: bump gorm.io/driver/postgres from 1.3.3 to 1.3.4 (#6904)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 19:38:18 +08:00
Joe Chen
69514d2fc8 SECURITY: refer dummy issue to a simpler example (#6902) 2022-04-09 14:02:32 +08:00
Joe Chen
0778db4228 CHANGELOG: add missing entries (#6899)
[skip ci]
2022-04-06 21:30:55 +08:00
dependabot[bot]
5911b0296b mod: bump gorm.io/driver/mysql from 1.3.2 to 1.3.3 (#6892)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 16:49:08 +08:00
dependabot[bot]
8acbc2d1de mod: bump gorm.io/gorm from 1.23.3 to 1.23.4 (#6891)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 16:48:54 +08:00
Joe Chen
f37a8d82c1 codecov: make status only informational (#6897)
[skip ci]
2022-04-05 16:47:46 +08:00
dependabot[bot]
2601b40ffa mod: bump github.com/gogs/git-module from 1.5.0 to 1.6.0 (#6894)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-04-05 16:45:01 +08:00
Joe Chen
5acbd7bcc3 dependabot: request reviews from the core team (#6896)
[skip ci]
2022-04-05 16:41:17 +08:00
dependabot[bot]
5910f77e42 mod: bump gorm.io/driver/postgres from 1.3.1 to 1.3.3 (#6893)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 16:39:27 +08:00
Renzo Toma
efa572162f webhook: add missing %s URL value for webhook description (#6478)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-04-04 17:40:34 +08:00
Joe Chen
5c4db08968 locale: sync from Crowdin (#6888) 2022-04-02 19:04:55 +08:00
Joe Chen
f44a693bbd docs: remove task generate-bindata step from sync from Crowdin (#6887)
[skip ci]
2022-04-02 19:03:58 +08:00
Joe Chen
3f439f15c3 mod: update golang.org/x/crypto/ssh (#6884) 2022-04-01 09:54:42 +08:00
Joe Chen
6dbeb16d21 Taskfile: watch go.mod and use timestamp instead of checksum (#6885)
[skip ci]
2022-04-01 09:51:30 +08:00
Joe Chen
c5549b442b templates: use OldIndex for delete files in diff (#6878) 2022-03-28 21:47:07 +08:00
dependabot[bot]
70c6f0a490 mod: bump github.com/gogs/git-module from 1.4.0 to 1.5.0 (#6877)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-28 21:36:21 +08:00
Joe Chen
f37cd9672c restore: clean up leftover and invalid chars (#6875) 2022-03-26 15:10:39 +08:00
Joe Chen
9bce320160 Taskfile: fix incorrect sources syntax (#6874)
[skip ci]
2022-03-25 22:12:51 +08:00
Joe Chen
22fb91cff9 Taskfile: remove trailing period in task description (#6873)
[skip ci]
2022-03-25 18:38:40 +08:00
dependabot[bot]
3c49a6173d mod: bump github.com/gogs/git-module from 1.2.0 to 1.4.0 (#6866)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-22 00:55:36 +08:00
dependabot[bot]
d66fe583d5 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.4.3 to 2.4.4 (#6865)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 18:49:41 +08:00
dependabot[bot]
72c2d6ab70 mod: bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#6867)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 18:49:11 +08:00
dependabot[bot]
70ff8d787a mod: bump gorm.io/gorm from 1.23.2 to 1.23.3 (#6864)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 18:48:47 +08:00
Joe Chen
0300f88602 docs: tweak release matters (#6860)
[skip ci]
2022-03-19 17:10:00 +08:00
Joe Chen
f36eeedbf8 CHANGELOG: cut entries for 0.12.6 (#6858)
[skip ci]
2022-03-19 14:06:23 +08:00
Joe Chen
e10ec6f3b8 pkgr: remove debian-8 and ubuntu-14.04 (#6853)
[skip ci]
2022-03-17 15:00:23 +08:00
Joe Chen
d753a48a7d docs: remove instructions to install go-bindata (#6852)
[skip ci]
2022-03-17 14:09:00 +08:00
Michael Li
32c454ba5f assets: convert usage of go-bindata to Go embed (#6851)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-17 14:05:09 +08:00
Joe Chen
39f64a1371 go: update required version to be 1.16 (#6850) 2022-03-16 12:18:27 +08:00
Joe Chen
3539de754d ci: delete Go 1.15 and add Go 1.18 (#6847) 2022-03-16 02:04:27 +08:00
Joe Chen
1791665f74 chore: run task generate (#6844) 2022-03-15 22:42:22 +08:00
tc608
def6fcc4dc templates: fetch fixed size of members' avatar (#5755)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-15 22:12:08 +08:00
Joe Chen
d392bc6e9a workflows: lock closed threads after 90 days (#6843) 2022-03-15 21:30:13 +08:00
Joe Chen
714383a063 conf: add allowlist for accessing local network (#6842) 2022-03-14 22:06:08 +08:00
Joe Chen
a2c6325261 codecov: disable GitHub Checks (#6840)
[skip ci]
2022-03-14 12:52:50 +08:00
Joe Chen
aeb5e34490 golangci-lint: add unparam linter (#6839) 2022-03-13 22:37:00 +08:00
Joe Chen
775901058d repo_editor: check upload TreePath and file name (#6838) 2022-03-13 22:18:56 +08:00
Joe Chen
3e35371754 chore: fix typo in release issue templates (#6831)
[skip ci]
2022-03-11 15:04:47 +08:00
Joe Chen
bd12d46e79 CHANGELOG: cut entries for 0.12.5 (#6830)
[skip ci]
2022-03-11 15:04:12 +08:00
Joe Chen
82ee089088 SECURITY: clarify vulnerability lifecycle (#6828)
[skip ci]
2022-03-11 14:25:09 +08:00
Bo Lorentsen
61529fd780 docker: check "/data" mount ownership before forcing it (#6553)
Co-authored-by: bl <bl@moch.dk>
2022-03-11 12:29:51 +08:00
Joe Chen
aac91b3611 lsif: update upload endpoint (#6827)
Co-authored-by: Sourcegraph <batch-changes@sourcegraph.com>
2022-03-10 23:30:03 +08:00
dependabot[bot]
4ca87057f3 mod: bump gorm.io/gorm from 1.22.5 to 1.23.2 (#6817)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-08 20:44:30 +08:00
deepsource-autofix[bot]
553d32ce7d autofix: format code with gofmt and gofumpt (#6821)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>

[skip ci]
2022-03-08 20:35:31 +08:00
ysf
940a7da9d1 security: fix improper PAM authorization handling (#6819)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-08 20:02:01 +08:00
Michael Rowley
242deca524 security: fix SSRF in repository migration (#6812)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-08 11:34:53 +08:00
Nicolas Ferrari
bb19f52c05 README: Add alwaysdata to Cloud providers (#6818)
[skip ci]
2022-03-07 23:48:04 +08:00
dependabot[bot]
e75ee730b8 mod: bump github.com/niklasfasching/go-org from 1.6.1 to 1.6.2 (#6816)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-07 23:07:29 +08:00
Joe Chen
36102f1689 security: encourage reporting vulnerabilities through huntr.dev (#6811)
[skip ci]
2022-03-06 20:13:56 +08:00
deepsource-autofix[bot]
e452d94fc8 autofix: format code with gofumpt and gofmt (#6803)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 17:55:17 +08:00
deepsource-autofix[bot]
2466da4e82 autofix: fix nested if with else if (#6807)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 16:39:14 +08:00
deepsource-autofix[bot]
09dbbf9a69 autofix: fix unused method receiver (#6808)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 16:37:41 +08:00
deepsource-autofix[bot]
b7372b1f32 autofix: fix unnecessary allocations due to strings.Index call (#6806)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 16:34:01 +08:00
deepsource-autofix[bot]
5afca6ca8e autofix: function call can be replaced with helper function (#6805)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 16:33:55 +08:00
deepsource-autofix[bot]
deec3516d5 autofix: fix check for empty string (#6804)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 16:33:45 +08:00
deepsource-autofix[bot]
65526f84e1 chore: update .deepsource.toml (#6802)
Co-authored-by: DeepSource Bot <bot@deepsource.io>
2022-03-06 16:14:48 +08:00
deepsource-autofix[bot]
442609fa17 autofix: simplify slice expression to sliced value itself (#6801)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 16:03:27 +08:00
deepsource-autofix[bot]
2d609b8b31 autofix: types of function parameters can be combined (#6800)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 15:59:45 +08:00
deepsource-autofix[bot]
3acc13038d autofix: unused parameter should be replaced by underscore (#6799)
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-03-06 15:46:21 +08:00
deepsource-autofix[bot]
ab96a4f0d8 chore: add .deepsource.toml (#6798)
Co-authored-by: DeepSource Bot <bot@deepsource.io>
2022-03-06 14:02:28 +08:00
shuyue
7c893a58da markdown: support rendering Mermaid diagrams (#6776)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-03-05 19:23:08 +08:00
Joe Chen
ed81fc5a01 docs: update release playbook for ARMv7 (#6792)
[skip ci]
2022-03-02 18:49:16 +08:00
dependabot[bot]
8f6c4341f7 mod: bump github.com/gogs/git-module from 1.1.5 to 1.2.0 (#6791)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 19:11:39 +08:00
dependabot[bot]
175e4f228d mod: bump github.com/go-ldap/ldap/v3 from 3.4.1 to 3.4.2 (#6790)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 19:10:46 +08:00
dependabot[bot]
325f4f9560 mod: bump github.com/niklasfasching/go-org from 0.1.9 to 1.6.1 (#6789)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 19:10:22 +08:00
Joe Chen
c7e8c145d1 ci: check Go module tidiness (#6787)
[skip ci]
2022-02-27 19:58:23 +08:00
Simone Cattaneo
6d77712b1b dep: update github.com/go-ldap/ldap to v3 (#6763)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-02-26 18:43:51 +08:00
Joe Chen
8442d8530a contributing: add guide for making proposals (#6784)
[skip ci]
2022-02-25 21:19:37 +08:00
Joe Chen
9a164bcb45 README: use branch check status instead of workflow (#6783) 2022-02-25 15:10:52 +08:00
dependabot[bot]
8a1a40ce6a mod: bump github.com/microcosm-cc/bluemonday from 1.0.17 to 1.0.18 (#6771)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-14 22:15:00 +08:00
dependabot[bot]
f6494d22ee mod: bump gopkg.in/ini.v1 from 1.66.2 to 1.66.4 (#6770)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-14 22:14:25 +08:00
dependabot[bot]
3d24360f20 mod: bump gorm.io/gorm from 1.22.4 to 1.22.5 (#6769)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-11 18:50:45 +08:00
Joe Chen
815624c88a contributing: add links of articles for the guide
[skip ci]
2022-02-10 20:11:36 +08:00
dependabot[bot]
47a996ba4b mod: bump github.com/prometheus/client_golang from 1.12.0 to 1.12.1 (#6756)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-07 23:24:37 +08:00
dependabot[bot]
5e8444ed0f mod: bump github.com/prometheus/client_golang from 1.11.0 to 1.12.0 (#6745)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-26 12:37:18 +08:00
Joe Chen
dfe8fbde84 docker: remove healthcheck against the SSH port (#6742) 2022-01-20 16:11:35 +08:00
Joe Chen
3a5ccc18cf docker: delete Dockerfile.rpi (#6741)
[skip ci]
2022-01-20 14:20:18 +08:00
Joe Chen
82e5fd018b docs: delete and re-create Docker manifest for release (#6739)
[skip ci]
2022-01-20 12:57:08 +08:00
Joe Chen
2071eb634f docs: update release templates and playbook (#6735)
[skip ci]
2022-01-18 11:58:09 +08:00
Joe Chen
e6c5633f58 CHANGELOG: cut entries for 0.12.4 (#6733)
[skip ci]
2022-01-17 09:21:59 +08:00
Joe Chen
6ccc1ce804 docs: update links to release templates (#6729)
[skip ci]
2022-01-16 19:04:28 +08:00
Joe Chen
74886d95d0 docs: update release templates (#6728)
[skip ci]
2022-01-16 18:51:17 +08:00
Joe Chen
acf2df3688 mailmap: update replacements
[skip ci]
2022-01-13 11:29:50 +08:00
Joe Chen
9ae80a6173 chore: rename few consts to camel case (#6725) 2022-01-13 11:27:16 +08:00
Joe Chen
c8476b1c2e docker: add job for pull requests from forks (#6724) 2022-01-13 11:04:54 +08:00
Alex Zhao
cbe775aee2 docker: fix nc command (#6722) 2022-01-13 10:35:24 +08:00
Joe Chen
5e43fa92ff markup: use default link formation when no format in metas (#6723) 2022-01-13 10:13:36 +08:00
Joe Chen
539e2a8b42 github: update dead links in issue forms (#6721) 2022-01-11 23:48:04 +08:00
dependabot[bot]
5f250de8ad mod: bump gorm.io/driver/mysql from 1.0.3 to 1.2.3 (#6717)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-10 20:06:36 +08:00
Joe Chen
2e625a051d locale: sync from Crowdin (#6714) 2022-01-08 16:43:46 +08:00
Joe Chen
3e948fd792 contributing: add Philosophy and methodology (#6713)
[skip ci]
2022-01-08 14:55:50 +08:00
Nuyube
b52bea7503 chore: fix dead link in README (#6709)
[skip ci]
2022-01-06 22:47:27 +08:00
zvrh
a9be4de5a5 database: add PostgreSQL custom schema support (#6695)
Co-authored-by: Homura37 <git@gvip.xyz>
Co-authored-by: Homura <16538800+Homura37@users.noreply.github.com>
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-01-05 22:02:33 +08:00
dependabot[bot]
14481533b8 mod: bump github.com/olekukonko/tablewriter from 0.0.4 to 0.0.5 (#6705)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 14:33:52 +08:00
dependabot[bot]
2519f28632 mod: bump github.com/microcosm-cc/bluemonday from 1.0.16 to 1.0.17 (#6707)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 14:33:27 +08:00
dependabot[bot]
22caf7b659 mod: bump github.com/issue9/identicon from 1.0.1 to 1.2.1 (#6706)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 14:31:46 +08:00
dependabot[bot]
ee9ab396dc mod: bump github.com/prometheus/client_golang from 1.9.0 to 1.11.0 (#6704)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 11:27:30 +08:00
dependabot[bot]
dc07fbe753 mod: bump github.com/sergi/go-diff from 1.1.0 to 1.2.0 (#6699)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-28 12:00:44 +08:00
dependabot[bot]
d19af039e7 mod: bump github.com/editorconfig/editorconfig-core-go/v2 from 2.4.1 to 2.4.3 (#6698)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-28 11:59:12 +08:00
Joe Chen
37383d9a1f chore: add missing period to contributing.md (#6690)
[skip ci]
2021-12-23 15:51:57 +08:00
Joe Chen
165d5051b5 chore: fix dead links and wording in README (#6689) 2021-12-22 11:26:06 +08:00
Joe Chen
8d9f61c467 chore: update README banner (#6688) 2021-12-21 16:48:50 +08:00
dependabot[bot]
a72bac54d5 mod: bump unknwon.dev/clog/v2 from 2.1.2 to 2.2.0 (#6684)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-20 19:03:33 +08:00
Joe Chen
7878465567 db: skip ping when not available (#6687) 2021-12-20 18:46:54 +08:00
dependabot[bot]
c82dc04cbb mod: bump github.com/go-macaron/binding from 1.1.1 to 1.2.0 (#6686)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-20 18:43:49 +08:00
dependabot[bot]
69380e4934 mod: bump github.com/gogs/git-module from 1.1.4 to 1.1.5 (#6685)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-20 18:43:22 +08:00
dependabot[bot]
b6ab8cd68d mod: bump gorm.io/driver/postgres from 1.0.5 to 1.2.3 (#6683)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-20 18:42:29 +08:00
dependabot[bot]
0d0dc67141 mod: bump gopkg.in/ini.v1 from 1.62.0 to 1.66.2 (#6682)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-20 18:41:23 +08:00
Joe Chen
f0b21aff91 docker: build and push images when new releases are published (#6681) 2021-12-19 20:47:16 +08:00
Joe Chen
160a0b77cf docs: update links and outdated conent (#6680) 2021-12-18 11:23:59 +08:00
Joe Chen
6528bf35dc ci: send emails on job failures for Docker and Go (#6679) 2021-12-18 11:15:02 +08:00
Joe Chen
da56873d37 github: give Docker workflow write access to packages (#6678) 2021-12-18 10:51:22 +08:00
Joe Chen
c6968105e5 docker: update README to add ghcr.io (#6677) 2021-12-18 01:18:48 +08:00
Joe Chen
f1f3e970b9 github: fix CodeQL token permissions (#6676) 2021-12-18 01:03:01 +08:00
Joe Chen
b827a2f342 docker: upgrade base images to alpine3.14 (#6675) 2021-12-18 00:31:03 +08:00
dependabot[bot]
5f4e07eb4f mod: bump github.com/pquerna/otp from 1.2.0 to 1.3.0 (#6667)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-17 18:54:58 +08:00
dependabot[bot]
b1193607c2 mod: bump github.com/json-iterator/go from 1.1.10 to 1.1.12 (#6668)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-17 18:52:48 +08:00
Joe Chen
eeef90a475 github: refurbish contributing guide (#6673) 2021-12-17 18:49:58 +08:00
Joe Chen
a523138e51 github: improve description of the bug report issue form 2021-12-17 18:18:14 +08:00
Joe Chen
6ec001f944 github: fix grammar in the documentation issue form 2021-12-17 18:15:52 +08:00
Joe Chen
55070da239 github: refurbish issue and pull request templates (#6664) 2021-12-17 18:13:21 +08:00
Ikko Ashimine
6f2b7fb853 chore: fix typo in message.go (#6587) 2021-12-16 21:06:41 +08:00
dependabot[bot]
899ec7ed54 build(deps): bump github.com/microcosm-cc/bluemonday from 1.0.5 to 1.0.16 (#6660)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-15 23:58:49 +08:00
Joe Chen
8ee734b1df ci: build and push Docker images on main branch (#6659) 2021-12-15 16:20:39 +08:00
Joe Chen
7867163bfd docker: delete Dockerfile.aarch64 (#6658) 2021-12-15 11:52:58 +08:00
odidev
82652f0f08 Dockerfile: add ARM64 and ARMhf support (#6579)
Co-authored-by: Luciano Colosio <lucio@c8.io>
2021-12-15 11:27:27 +08:00
Devops
d60d9cf985 api: support listing repository tags (#6656)
Co-authored-by: zhouzhibo <zhouzhibo>
Co-authored-by: Joe Chen <jc@unknwon.io>
2021-12-14 20:41:12 +08:00
Joe Chen
63bd4bb4b1 locale: sync from Crowdin (#6651) 2021-11-28 17:03:18 +08:00
Pavel M
de3161155b api: EditWiki implementation (#5860)
Co-authored-by: Joe Chen <jc@unknwon.io>
2021-11-10 13:29:27 +08:00
Joe Chen
8938855b40 locale: sync from Crowdin (#6633) 2021-10-23 21:58:26 +08:00
Joe Chen
55e5a7c25a README: update VPS sponsors 2021-10-04 21:55:27 +08:00
Joe Chen
fa3d011415 chore: fix lint errors (#6620) 2021-09-24 00:44:09 +08:00
Jordan Levin
b9a3626cad api: add GET /api/v1/{owner}/{repo}/commits endpoint (#6574)
This pull request targets issue #6573.

It provides a new API endpoint: `/api/v1/repos/{org}/{repo}/commits?pageSize=<int>` with a default page size of 30 commits (the same as the UI).

This implementation currently only focuses on the main/master branch of the repository, and does not provide the ability to return commit history for other branches.

- Note: Since the logic for converting a git.Commit to api.Commit had to be used in `GetAllCommits` and `GetSingleCommit`, I decided to pull the code out into a helper function, ` gitCommitToAPICommit(commit, context)`.
2021-09-24 00:33:52 +08:00
dependabot[bot]
b3eb33be0f build(deps): bump github.com/microcosm-cc/bluemonday from 1.0.4 to 1.0.5 (#6613)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-04 13:53:00 +08:00
ᴜɴᴋɴᴡᴏɴ
4a89438454 ci: update GitHub Actions (#6612) 2021-09-04 13:40:35 +08:00
ᴜɴᴋɴᴡᴏɴ
f524e4f932 dep: update golang.org/x/sys (#6611) 2021-09-04 13:24:49 +08:00
Cuban Pete
156b91baff docker: add Healthcheck support (#6522)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <jc@unknwon.io>
2021-09-04 13:16:59 +08:00
DoMeLe
764e901689 docker: update default port to be exposed on the host (#6597) 2021-08-30 23:58:10 +08:00
James-REANNZ
8f6757cc7b web: correctly handle go-get pages for repository roots (#6598)
Fixes regression in go-get handling introduced in #6318.
2021-08-26 13:12:51 +08:00
ᴜɴᴋɴᴡᴏɴ
7445dec1b4 locale: sync from Crowdin (#6602) 2021-08-08 22:07:58 +08:00
Kevin
ba8be9489e public/js: upgrade jQuery to 3.6.0 (#6550)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2021-05-19 15:12:34 +08:00
ᴜɴᴋɴᴡᴏɴ
12ab7efdb0 chore: go mod tidy (#6564) 2021-05-19 14:56:19 +08:00
dependabot-preview[bot]
3993b65bbf build(deps): bump github.com/editorconfig/editorconfig-core-go/v2 from 2.3.9 to 2.4.1 (#6509)
Bumps [github.com/editorconfig/editorconfig-core-go/v2](https://github.com/editorconfig/editorconfig-core-go) from 2.3.9 to 2.4.1.
- [Release notes](https://github.com/editorconfig/editorconfig-core-go/releases)
- [Changelog](https://github.com/editorconfig/editorconfig-core-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/editorconfig/editorconfig-core-go/compare/v2.3.9...v2.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-05-19 14:41:01 +08:00
dependabot-preview[bot]
fb969f8492 build(deps): bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#6473)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.6.1...v1.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-05-19 14:39:08 +08:00
dependabot-preview[bot]
8f8a27c904 build(deps): bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#6454)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.8.0...v1.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-05-19 14:38:04 +08:00
ᴜɴᴋɴᴡᴏɴ
d8fa08111b chore: fix linguist-vendored with double asterisks (#6563) 2021-05-19 14:32:09 +08:00
Massimiliano Losego
4077f27592 templates: add it-IT version of home page (#6558)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2021-05-19 13:43:09 +08:00
ᴜɴᴋɴᴡᴏɴ
1a1a01a842 ci: use new lint action and add custom config (#6562) 2021-05-19 13:38:13 +08:00
Peter Dave Hello
c4cf659e32 docker: reduce additional image layer for the not executable gosu binary (#6557)
This will help reduce the image size and image layers.
2021-05-19 13:31:19 +08:00
Atin
d6987ee05b chore: fix typos in code comments (#6556) 2021-05-19 13:12:09 +08:00
ᴜɴᴋɴᴡᴏɴ
509a392272 locale: sync from Crowdin (#6510)
* locale: sync from Crowdin

* Fix tests
2021-02-27 18:48:10 +08:00
ᴜɴᴋɴᴡᴏɴ
af6510fd17 locale: sync from Crowdin (#6449) 2020-12-13 10:24:23 +08:00
dependabot-preview[bot]
cd4d79cf99 build(deps): bump github.com/go-macaron/i18n from 0.5.0 to 0.6.0 (#6440)
Bumps [github.com/go-macaron/i18n](https://github.com/go-macaron/i18n) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/go-macaron/i18n/releases)
- [Commits](https://github.com/go-macaron/i18n/compare/v0.5.0...v0.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-06 01:14:08 +08:00
dependabot-preview[bot]
10e7c42a83 build(deps): bump github.com/editorconfig/editorconfig-core-go/v2 from 2.3.7 to 2.3.9 (#6441)
Bumps [github.com/editorconfig/editorconfig-core-go/v2](https://github.com/editorconfig/editorconfig-core-go) from 2.3.7 to 2.3.9.
- [Release notes](https://github.com/editorconfig/editorconfig-core-go/releases)
- [Changelog](https://github.com/editorconfig/editorconfig-core-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/editorconfig/editorconfig-core-go/compare/v2.3.7...v2.3.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-06 01:13:42 +08:00
dependabot-preview[bot]
7676b59b02 build(deps): bump gorm.io/gorm from 1.20.7 to 1.20.8 (#6442)
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.20.7 to 1.20.8.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.20.7...v1.20.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-12-06 01:12:21 +08:00
ᴜɴᴋɴᴡᴏɴ
0ff888c989 CHANGELOG: make entries more informational (#6445) 2020-12-06 01:09:38 +08:00
peppe8o
6b4a5b5e91 README: add a new RPI Zero W tutorial (#6443)
Updated tutorial section adding peppe8o.com tutorial to install Gogs on a cheap Raspberry PI Zero W with MariaDB database.
2020-12-06 01:09:08 +08:00
ᴜɴᴋɴᴡᴏɴ
72af17bbbe db: simplify GORM logger init in tests (#6444) 2020-12-06 01:06:24 +08:00
Eduardo Bacchi Kienetz
c875950c43 ssh: allow setting allowed MAC algorithms for built-in server (#6435)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-12-04 21:52:26 +08:00
dependabot-preview[bot]
71eeb2f0c0 build(deps): bump gorm.io/driver/sqlite from 1.1.3 to 1.1.4 (#6432)
Bumps [gorm.io/driver/sqlite](https://github.com/go-gorm/sqlite) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/go-gorm/sqlite/releases)
- [Commits](https://github.com/go-gorm/sqlite/compare/v1.1.3...v1.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-28 03:28:00 +08:00
dependabot-preview[bot]
99f1b9899f build(deps): bump gorm.io/gorm from 1.20.6 to 1.20.7 (#6425)
* build(deps): bump gorm.io/gorm from 1.20.6 to 1.20.7

Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.20.6 to 1.20.7.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.20.6...v1.20.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Fix compile error

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-11-28 02:11:11 +08:00
dependabot-preview[bot]
bee3bebb4e build(deps): bump github.com/russross/blackfriday from 1.5.2 to 1.6.0 (#6429)
Bumps [github.com/russross/blackfriday](https://github.com/russross/blackfriday) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/russross/blackfriday/releases)
- [Commits](https://github.com/russross/blackfriday/compare/v1.5.2...v1.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-28 01:58:35 +08:00
dependabot-preview[bot]
efcb8bbca6 build(deps): bump github.com/Masterminds/semver/v3 from 3.1.0 to 3.1.1 (#6431)
Bumps [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/Masterminds/semver/releases)
- [Changelog](https://github.com/Masterminds/semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/semver/compare/v3.1.0...v3.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-28 01:54:35 +08:00
stypr
cd469f7a1d repo: disallow urlencoded new lines in git protocol paths (#6420)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-11-27 18:52:42 +08:00
weibaohui
c7f58ca870 templates: fix typo of BranchCount (#6370)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-11-24 23:13:40 +08:00
MichaIng
b34d040c78 scripts: fix MySQL script for MariaDB >= 10.3.1 (#6424)
innodb_file_format and innodb_large_prefix have been deprecated with MariaDB v10.2 and removed with v10.3.1. They have been reintroduced with v10.4.3 but remain deprecated and unused:
- https://mariadb.com/kb/en/innodb-system-variables/#innodb_file_format
- https://mariadb.com/kb/en/innodb-system-variables/#innodb_large_prefix

Setting those variables on MariaDB >=10.3.1 leads to the following error:
"ERROR 1238 (HY000) at line 7: Variable 'innodb_file_format' is a read only variable"

Since semantic versioning patch versions cannot be compared via numeric operators, only the major + minor versions are compared against 10.3. Since v10.2.2 the defaults match the desired values, so there is only the single patch version 10.3.0 where, when explicitly set differently via MariaDB configs, this commit could lead to an unwanted database format. In favour of a simple SQL change, this case is ignored.

This commit additionally removes trailing spaces and the doubled trailing empty line.

Signed-off-by: MichaIng <micha@dietpi.com>
2020-11-24 01:55:50 +08:00
ᴜɴᴋɴᴡᴏɴ
afaf6da405 locale: sync from Crowdin (#6419) 2020-11-15 01:14:39 +08:00
dependabot-preview[bot]
7bef64a0d6 build(deps): bump gopkg.in/macaron.v1 from 1.3.9 to 1.4.0 (#6416)
Bumps [gopkg.in/macaron.v1](https://github.com/go-macaron/macaron) from 1.3.9 to 1.4.0.
- [Release notes](https://github.com/go-macaron/macaron/releases)
- [Commits](https://github.com/go-macaron/macaron/compare/v1.3.9...v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-15 01:02:36 +08:00
dependabot-preview[bot]
146960368f build(deps): bump gorm.io/gorm from 1.20.5 to 1.20.6 (#6417)
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.20.5 to 1.20.6.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.20.5...v1.20.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-15 01:02:20 +08:00
Matheus Mosca
997ba0fef0 context: add X-Frame-Options header (#6411)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-11-11 12:17:43 +08:00
dependabot-preview[bot]
6f735cc2da build(deps): bump github.com/urfave/cli from 1.22.4 to 1.22.5 (#6410)
Bumps [github.com/urfave/cli](https://github.com/urfave/cli) from 1.22.4 to 1.22.5.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/urfave/cli/compare/v1.22.4...v1.22.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-09 23:42:36 +08:00
dependabot-preview[bot]
8b35485ee5 build(deps): bump golang.org/x/text from 0.3.3 to 0.3.4 (#6403)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.3 to 0.3.4.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.3.3...v0.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-04 21:31:58 +08:00
ᴜɴᴋɴᴡᴏɴ
428276d7a8 locale: sync from Crowdin (#6404) 2020-10-31 18:34:44 +08:00
Rubén de Celis Hernández
053695b63d Update CHANGELOG.md (#6389) 2020-10-26 17:50:36 +08:00
dependabot-preview[bot]
b4bb83e68f build(deps): bump gorm.io/driver/mysql from 1.0.2 to 1.0.3 (#6397)
Bumps [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/go-gorm/mysql/releases)
- [Commits](https://github.com/go-gorm/mysql/compare/v1.0.2...v1.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-25 18:34:05 +08:00
dependabot-preview[bot]
2989a5e0f5 build(deps): bump gorm.io/driver/sqlserver from 1.0.4 to 1.0.5 (#6395)
Bumps [gorm.io/driver/sqlserver](https://github.com/go-gorm/sqlserver) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/go-gorm/sqlserver/releases)
- [Commits](https://github.com/go-gorm/sqlserver/compare/v1.0.4...v1.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-25 18:18:33 +08:00
dependabot-preview[bot]
9844d2c96a build(deps): bump gorm.io/driver/postgres from 1.0.2 to 1.0.5 (#6400)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-25 18:18:09 +08:00
dependabot-preview[bot]
ab16ca0580 build(deps): bump github.com/prometheus/client_golang from 1.6.0 to 1.8.0 (#6394)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.6.0 to 1.8.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.6.0...v1.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-25 18:06:36 +08:00
dependabot-preview[bot]
f0a9ec21cd build(deps): bump github.com/gogs/git-module from 1.1.3 to 1.1.4 (#6398)
Bumps [github.com/gogs/git-module](https://github.com/gogs/git-module) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/gogs/git-module/releases)
- [Commits](https://github.com/gogs/git-module/compare/v1.1.3...v1.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-25 18:04:50 +08:00
dependabot-preview[bot]
6c5fd05a31 build(deps): bump gorm.io/gorm from 1.20.2 to 1.20.5 (#6399)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-25 18:02:27 +08:00
ᴜɴᴋɴᴡᴏɴ
1744f238e1 locale: sync from Crowdin (#6383) 2020-10-11 14:18:21 +08:00
E99p1ant
fd765bd88f context: fix Access-Control-Allow-Credentials header typo (#6381) 2020-10-10 23:09:42 +08:00
dependabot-preview[bot]
533b6b0de2 build(deps): bump gopkg.in/ini.v1 from 1.60.2 to 1.62.0 (#6380)
Bumps [gopkg.in/ini.v1](https://github.com/go-ini/ini) from 1.60.2 to 1.62.0.
- [Release notes](https://github.com/go-ini/ini/releases)
- [Commits](https://github.com/go-ini/ini/compare/v1.60.2...v1.62.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-10 23:08:36 +08:00
ᴜɴᴋɴᴡᴏɴ
bf3c9061a2 docs: update patch release issue template (#6375) 2020-10-08 02:32:29 +08:00
ᴜɴᴋɴᴡᴏɴ
b60e2c65d3 CHANGELOG: cut entries for 0.12.3 (#6374) 2020-10-07 22:37:15 +08:00
ᴜɴᴋɴᴡᴏɴ
e44ac3c20a docs: update patch release issue template 2020-10-07 22:29:15 +08:00
ᴜɴᴋɴᴡᴏɴ
2eaf1d693a db: migrate access table to use GORM (#6371) 2020-10-06 15:43:28 +08:00
ᴜɴᴋɴᴡᴏɴ
a92d818aa3 docs: update patch release issue template 2020-10-06 13:12:12 +08:00
ᴜɴᴋɴᴡᴏɴ
ca3330cecd lfs: ask client to always send the same value for the HTTP header (#6369) 2020-10-04 18:40:39 +08:00
ᴜɴᴋɴᴡᴏɴ
cf86546dff ci: change of Go dependencies needs go test (#6368) 2020-10-04 08:56:46 +08:00
dependabot-preview[bot]
8e028c32d4 build(deps): bump gorm.io/driver/mysql from 1.0.1 to 1.0.2 (#6366)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-04 08:47:10 +08:00
dependabot-preview[bot]
c082bf72af build(deps): bump gorm.io/driver/postgres from 1.0.1 to 1.0.2 (#6365)
Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/go-gorm/postgres/releases)
- [Commits](https://github.com/go-gorm/postgres/compare/v1.0.1...v1.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-04 08:40:16 +08:00
dependabot-preview[bot]
906c6a5ba0 build(deps): bump gorm.io/gorm from 1.20.1 to 1.20.2 (#6364)
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.20.1 to 1.20.2.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.20.1...v1.20.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-04 08:39:54 +08:00
ᴜɴᴋɴᴡᴏɴ
a6bd00f807 locale: sync from Crowdin (#6367) 2020-10-04 08:37:55 +08:00
ouyangjinting
7797efe1bb docs: fix README_ZH.md link (#6360) 2020-10-01 12:21:50 +08:00
Zhukov Roman
be86d67e81 Add git diff timeout in app config (#6348)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-09-29 23:12:17 +08:00
Jeff
23823e9698 markup: render SHA links without branch prefix (#6350)
Co-authored-by: Zhukov Roman <zhukov.roman@gmail.com>
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-09-29 23:07:16 +08:00
ᴜɴᴋɴᴡᴏɴ
7bc3ee49aa cmd/serv: use different log files for ORMs in hook mode (#6361) 2020-09-29 22:26:07 +08:00
ᴜɴᴋɴᴡᴏɴ
8fc4013240 README: remove broken/deprecated links 2020-09-27 11:50:34 +08:00
dependabot-preview[bot]
211a1394b8 build(deps): bump gorm.io/driver/postgres from 1.0.0 to 1.0.1 (#6351)
Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/go-gorm/postgres/releases)
- [Commits](https://github.com/go-gorm/postgres/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-26 21:58:43 +08:00
ᴜɴᴋɴᴡᴏɴ
73e5936220 docs: update patch release issue template (#6353) 2020-09-26 18:00:04 +08:00
ᴜɴᴋɴᴡᴏɴ
e4e46d8fbc release: cut entries for 0.12.2 (#6355) 2020-09-26 16:49:10 +08:00
ᴜɴᴋɴᴡᴏɴ
b4abbf3ac8 ci: enable Go for release branches 2020-09-26 16:28:39 +08:00
ᴜɴᴋɴᴡᴏɴ
83a89127fd action: fix issue reference regexp and error handling (#6352) 2020-09-26 16:23:05 +08:00
ᴜɴᴋɴᴡᴏɴ
6ed98ca8f6 dep: update github.com/unknwon/cae to v1.0.2 (#6342) 2020-09-21 20:26:47 +08:00
ᴜɴᴋɴᴡᴏɴ
3af91d7cfd auth: decouple types and functions from db (#6320) 2020-09-20 11:19:02 +08:00
dependabot-preview[bot]
b836a56e6e build(deps): bump github.com/go-macaron/binding from 1.1.0 to 1.1.1 (#6340)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-19 22:37:22 +08:00
ᴜɴᴋɴᴡᴏɴ
c56db8f2c4 db: create new session for MySQL after changing attribute (#6338) 2020-09-18 18:37:47 +08:00
ᴜɴᴋɴᴡᴏɴ
dda1092e74 gitutil: infer submodule with baseURL when it is a relative path (#6337) 2020-09-18 16:19:31 +08:00
dependabot-preview[bot]
8b75e9a442 build(deps): bump gorm.io/driver/sqlite from 1.1.1 to 1.1.3 (#6336)
Bumps [gorm.io/driver/sqlite](https://github.com/go-gorm/sqlite) from 1.1.1 to 1.1.3.
- [Release notes](https://github.com/go-gorm/sqlite/releases)
- [Commits](https://github.com/go-gorm/sqlite/compare/v1.1.1...v1.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-18 15:06:43 +08:00
dependabot-preview[bot]
1da1e90d1e build(deps): bump gorm.io/driver/sqlserver from 1.0.3 to 1.0.4 (#6325)
Bumps [gorm.io/driver/sqlserver](https://github.com/go-gorm/sqlserver) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/go-gorm/sqlserver/releases)
- [Commits](https://github.com/go-gorm/sqlserver/compare/v1.0.3...v1.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-18 14:40:58 +08:00
dependabot-preview[bot]
9a268ca7f5 build(deps): bump github.com/editorconfig/editorconfig-core-go/v2 from 2.3.2 to 2.3.7 (#6324)
Bumps [github.com/editorconfig/editorconfig-core-go/v2](https://github.com/editorconfig/editorconfig-core-go) from 2.3.2 to 2.3.7.
- [Release notes](https://github.com/editorconfig/editorconfig-core-go/releases)
- [Changelog](https://github.com/editorconfig/editorconfig-core-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/editorconfig/editorconfig-core-go/compare/v2.3.2...v2.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-18 14:37:42 +08:00
dependabot-preview[bot]
d85504a9d1 build(deps): bump github.com/olekukonko/tablewriter from 0.0.1 to 0.0.4 (#6327)
Bumps [github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) from 0.0.1 to 0.0.4.
- [Release notes](https://github.com/olekukonko/tablewriter/releases)
- [Commits](https://github.com/olekukonko/tablewriter/compare/v0.0.1...v0.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-18 14:37:00 +08:00
dependabot-preview[bot]
8658ded190 build(deps): bump gorm.io/gorm from 1.20.0 to 1.20.1 (#6328)
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.20.0 to 1.20.1.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.20.0...v1.20.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-18 14:35:55 +08:00
dependabot-preview[bot]
04b11d3a07 build(deps): bump github.com/unknwon/cae from 1.0.0 to 1.0.1 (#6329)
Bumps [github.com/unknwon/cae](https://github.com/unknwon/cae) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/unknwon/cae/releases)
- [Commits](https://github.com/unknwon/cae/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-18 14:34:43 +08:00
ᴜɴᴋɴᴡᴏɴ
56eac57222 locale: sync from Crowdin (#6333) 2020-09-16 23:15:57 +08:00
ᴜɴᴋɴᴡᴏɴ
594a2dc41f web: correctly serving go-get pages for subdirs (#6318)
* web: correctly serving go-get page for subdirs

* Update CHANGELOG

* Fix golint error
2020-09-09 20:14:48 +08:00
ᴜɴᴋɴᴡᴏɴ
06193ed825 schemadoc: add go:generate to output database schema (#6310)
* schemadoc: add go:generate to output database schema

* Check errors

* Revert string renames
2020-09-06 17:02:25 +08:00
ᴜɴᴋɴᴡᴏɴ
519e59b577 db: migrate to GORM v2 (#6309) 2020-09-06 10:11:08 +08:00
dependabot-preview[bot]
771d3673f5 build(deps): bump github.com/gogs/git-module from 1.1.2 to 1.1.3 (#6306)
Bumps [github.com/gogs/git-module](https://github.com/gogs/git-module) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/gogs/git-module/releases)
- [Commits](https://github.com/gogs/git-module/compare/v1.1.2...v1.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-05 10:52:14 +08:00
ᴜɴᴋɴᴡᴏɴ
2cb83f13fd repo: set default value for is_unlisted column (#6305) 2020-09-04 05:56:31 +08:00
ᴜɴᴋɴᴡᴏɴ
2665b5968c locale: sync from Crowdin (#6303) 2020-09-04 04:08:31 +08:00
ᴜɴᴋɴᴡᴏɴ
7a649ada09 ci: only enforce Go checks for pushes to main branch
Otherwise would create duplicated GitHub Checks.
2020-09-04 04:08:00 +08:00
ᴜɴᴋɴᴡᴏɴ
a533e8fb52 Taskfile: add desc to each task (#6304) 2020-09-04 04:05:36 +08:00
ᴜɴᴋɴᴡᴏɴ
bb93cabd39 ci: re-run Go checks for every push on a pull request
If a pull request has changed any Go file, even if the new push doesn't change any,
we should re-run Go checks to make GitHub Checks look consistent.
2020-09-04 03:13:59 +08:00
Achilleas Koutsou
c4360747a3 repo: support unlisted but publicly accessible repositories (#6176)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-09-04 03:04:22 +08:00
ᴜɴᴋɴᴡᴏɴ
23ff182d1f chore: use Task as main build tool (#6297) 2020-08-29 21:05:55 +08:00
ᴜɴᴋɴᴡᴏɴ
cb88caa2d2 install: remove MSSQL option (#6295) 2020-08-29 14:49:54 +08:00
ᴜɴᴋɴᴡᴏɴ
cf216f12a1 github: add Go 1.15 to CI (#6294) 2020-08-29 13:41:35 +08:00
ᴜɴᴋɴᴡᴏɴ
a22fd01959 install: fix generating removed options (#6293) 2020-08-29 13:39:32 +08:00
ᴜɴᴋɴᴡᴏɴ
b38139a855 README: add emoji for license header 2020-08-28 13:01:20 +08:00
ᴜɴᴋɴᴡᴏɴ
1a681ad022 docker: revert shellcheck fix (#6288) 2020-08-28 11:43:14 +08:00
ᴜɴᴋɴᴡᴏɴ
f6d672a3cd chore: change default branch to main (#6285) 2020-08-27 19:51:44 +08:00
ᴜɴᴋɴᴡᴏɴ
016d9d8c88 Revert "README: update VPS sponsor"
This reverts commit f667d139bc.
2020-08-27 17:37:49 +08:00
ᴜɴᴋɴᴡᴏɴ
c769f2566a docs: add patch release docs 2020-08-27 15:33:46 +08:00
ᴜɴᴋɴᴡᴏɴ
423f9e6de7 github: enable Go actions on push 2020-08-27 14:57:12 +08:00
ᴜɴᴋɴᴡᴏɴ
bbef32b1ef CHANGELOG: cut more entries for 0.12.1 2020-08-27 14:42:54 +08:00
ᴜɴᴋɴᴡᴏɴ
92953007de CHANGELOG: cut entries for 0.12.1 2020-08-27 14:41:10 +08:00
ᴜɴᴋɴᴡᴏɴ
4ecd588776 db: fix wrong column type of login_source (#6283) 2020-08-27 14:29:03 +08:00
ᴜɴᴋɴᴡᴏɴ
4e5b7c5d24 docker: fix broken SSHD for Dockerfile.rpi (#6278) 2020-08-24 23:22:31 +08:00
ᴜɴᴋɴᴡᴏɴ
c1db31c130 CHANGELOG: add entry for #6210 2020-08-24 19:09:48 +08:00
Kosadchiy
a02b3e1258 issue: fix timestamp updating (#6210)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-08-24 19:06:29 +08:00
ᴜɴᴋɴᴡᴏɴ
afb445bb57 github: only run Actions when Go files are changed (#6275) 2020-08-23 15:27:54 +08:00
ᴜɴᴋɴᴡᴏɴ
92c5f94fe7 shellcheck: fix warnings (#6274)
* Remove outdated files

* Fix warnings
2020-08-23 15:17:54 +08:00
ᴜɴᴋɴᴡᴏɴ
a840ae9035 pkgr: use main branch and Go 1.15 for buildpack (#6273) 2020-08-23 14:55:01 +08:00
ᴜɴᴋɴᴡᴏɴ
0a5977e951 docker: fix missing make command (#6272) 2020-08-23 14:39:14 +08:00
ᴜɴᴋɴᴡᴏɴ
a7fb211827 docs: add release strategy (#6271) 2020-08-23 13:14:33 +08:00
ᴜɴᴋɴᴡᴏɴ
3ed8c292c2 migrations: remove old migrations before 0.12.0 (#6270) 2020-08-23 12:51:55 +08:00
ᴜɴᴋɴᴡᴏɴ
13ae25b785 Makefile: explicitly call go generate (#6269) 2020-08-22 22:36:58 +08:00
ᴜɴᴋɴᴡᴏɴ
40513a117f docs: add instructions for release (#6268) 2020-08-22 22:35:09 +08:00
ᴜɴᴋɴᴡᴏɴ
f0761eb7ec conf: remove legacy options (#6267)
* conf: remove legacy options

* Update tests
2020-08-22 22:25:21 +08:00
ᴜɴᴋɴᴡᴏɴ
05477f1d29 app: update dev version (#6266) 2020-08-22 21:36:28 +08:00
ᴜɴᴋɴᴡᴏɴ
ac4a708307 assets: make generate (#6265) 2020-08-22 19:12:31 +08:00
1168 changed files with 202392 additions and 125049 deletions

13
.claude/commands/ghsa.md Normal file
View File

@@ -0,0 +1,13 @@
Analyze and help fix the GitHub Security Advisory (GHSA) at: $ARGUMENTS
Steps:
1. Fetch the GHSA page using `gh api repos/gogs/gogs/security-advisories` and understand the vulnerability details (description, severity, affected versions, CWE).
2. Verify the reported vulnerability actually exists, and why.
3. Identify the affected code in this repository.
4. Propose a fix with a clear explanation of the root cause and how the fix addresses it. Check for prior art in the codebase to stay consistent with existing patterns.
5. Implement the fix. Only add tests when there is something meaningful to test at our layer.
6. Run all the usual build and test commands.
7. If a changelog entry is warranted (user will specify), add it to CHANGELOG.md with a placeholder for the PR link.
8. Create a branch named after the GHSA ID, commit, and push.
9. Create a pull request with a proper title and description, do not reveal too much detail and link the GHSA.
10. If a changelog entry was added, update it with the PR link, then commit and push again.

26
.deepsource.toml Normal file
View File

@@ -0,0 +1,26 @@
version = 1
exclude_patterns = ["**/mocks_test.go"]
[[analyzers]]
name = "docker"
enabled = true
[[analyzers]]
name = "shell"
enabled = true
[[analyzers]]
name = "go"
enabled = true
[analyzers.meta]
import_root = "github.com/gogs/gogs"
[[transformers]]
name = "gofumpt"
enabled = true
[[transformers]]
name = "gofmt"
enabled = true

View File

@@ -4,7 +4,6 @@ scripts
scripts/** scripts/**
.github/ .github/
.github/** .github/**
config.codekit
.dockerignore .dockerignore
*.yml *.yml
*.md *.md
@@ -12,3 +11,5 @@ config.codekit
.gitignore .gitignore
Dockerfile* Dockerfile*
gogs gogs
!Taskfile.yml

View File

@@ -4,7 +4,6 @@ root = true
[*] [*]
charset = utf-8 charset = utf-8
end_of_line = lf
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true

17
.gitattributes vendored
View File

@@ -1,9 +1,8 @@
conf/gitignore/* linguist-vendored conf/gitignore/** linguist-vendored
conf/license/* linguist-vendored conf/license/** linguist-vendored
public/assets/* linguist-vendored public/assets/** linguist-vendored
public/plugins/* linguist-vendored public/plugins/** linguist-vendored
public/css/themes/* linguist-vendored public/css/themes/** linguist-vendored
public/css/semantic-2.4.2.min.css linguist-vendored public/css/semantic-* linguist-vendored
public/js/libs/* linguist-vendored public/js/libs/** linguist-vendored
public/js/jquery-3.4.1.min.js linguist-vendored public/js/semantic-* linguist-vendored
public/js/semantic-2.4.2.min.js linguist-vendored

2
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,2 @@
# Default
* @unknwon

View File

@@ -1,44 +1,78 @@
# Contributing to Gogs # Welcome to Gogs contributing guide
> This guidelines sheet is forked from [CONTRIBUTING.md](https://github.com/drone/drone/blob/8d9c7cee56d6c2eac81dc156ce27be6716d97e68/CONTRIBUTING.md). Thank you for investing your time in contributing to our projects!
Gogs is not perfect, and it has bugs or incomplete features in rare cases. You're welcome to tell us, or to contribute some code. This document describes details about how can you contribute to Gogs project. Read our [Code of Conduct](https://go.dev/conduct) to keep our community approachable and respectable.
## Contribution guidelines In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
Depends on the situation, you will: Use the table of contents icon <img src="https://github.com/github/docs/raw/50561895328b8f369694973252127b7d93899d83/assets/images/table-of-contents.png" width="25" height="25" /> on the top left corner of this document to get to a specific section of this guide quickly.
- Find a bug and create an issue ## New contributor guide
- Need more functionality and make a feature request
- Want to contribute code and open a pull request
- Run into issue and need help
### Bug Report To get an overview of the project, read the [README](/README.md). Here are some resources to help you get started with open source contributions:
If you find something you consider a bug, please create an issue on [GitHub](https://github.com/gogits/gogs/issues). To avoid wasting time and reduce back-and-forth communication with team members, please be respect to [Issue Template](ISSUE_TEMPLATE.md). - [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git)
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Talk, then code](https://www.craft.do/s/kyHVs6OoE4Dj5V)
### Feature Request In addition to the general guides with open source contributions, you would also need to:
There is no standard form of making a feature request. Just try to describe the feature as clearly as possible, because team members may not have experience with the functionality you're talking about. - Have basic knowledge about web applications development, database management systems and programming in [Go](https://go.dev/).
- Have a working local development setup with a reasonable good IDE or editor like [Visual Studio Code](https://code.visualstudio.com/docs/languages/go), [GoLand](https://www.jetbrains.com/go/) or [Vim](https://github.com/fatih/vim-go).
- [Set up your development environment](/docs/dev/local_development.md).
### Pull Request ## Issues
Please read detailed information on [Wiki](https://github.com/gogits/gogs/wiki/Contributing-Code). ### Ask for help
### Ask For Help Before opening an issue, please make sure the problem you're encountering isn't already addressed on the [Troubleshooting](https://gogs.io/asking/troubleshooting) and [FAQs](https://gogs.io/asking/faq) pages.
Before opening an issue, please make sure your problem isn't already addressed on the [Troubleshooting](https://gogs.io/docs/intro/troubleshooting.html) and [FAQs](https://gogs.io/docs/intro/faqs.html) pages. ### Create a new issue
## Code of conduct - For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
- [Check to make sure](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments) someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
- If a similar issue doesn't exist, open a new issue using a relevant [issue form](https://github.com/gogs/gogs/issues/new/choose).
- Blank issues that are not coming from maintainers will be closed without a response.
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. ### Pick up an issue to solve
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion. - Scan through our [existing issues](https://github.com/gogs/gogs/issues) to find one that interests you.
- The [👋 good first issue](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22%F0%9F%91%8B+good+first+issue%22) is a good place to start exploring issues that are well-groomed for newcomers.
- Do not hesitate to ask for more details or clarifying questions on the issue!
- Communicate on the issue you are intended to pick up _before_ starting working on it.
- Every issue that gets picked up will have an expected timeline for the implementation, the issue may be reassigned after the expected timeline. Please be responsible and proactive on the communication 🙇‍♂️
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. ## Add new features or make big changes
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. New features or big changes require proposals before we may be able to accept any contribution. Proposals should be posted to the [Discussions - Proposal](https://github.com/gogs/gogs/discussions/categories/proposal) category for review and discussions. GitHub Discussions provides sub-threading which is much more suitable than GitHub Issues for discussions to happen. Please read [Write a proposal for open source contributions](https://unknwon.io/posts/220210-write-a-proposal-for-open-source-contributions/) to begin with.
Instances of abusive, harassing, or otherwise unacceptable behavior can be reported by emailing u@gogs.io ## Pull requests
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) When you're finished with the changes, create a pull request, or a series of pull requests if necessary.
Contributing to another codebase is not as simple as code changes, it is also about contributing influence to the design. Therefore, we kindly ask you that:
- Please acknowledge that no pull request is guaranteed to be merged.
- Please always do a self-review before requesting reviews from others.
- Please expect code review to be strict and may have multiple rounds.
- Please make self-contained incremental changes, pull requests with huge diff may be rejected for review.
- Please use English in code comments and docstring.
- Please do not force push unless absolutely necessary. Force pushes make review much harder in multiple rounds, and we use [Squash and merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-pull-request-commits) so you don't need to worry about messy commits and just focus on the changes.
### Things we do not accept
1. Updates to locale files (`conf/locale_xx-XX.ini`) other than the `conf/locale_en-US.ini`. Please read the [guide for localizing Gogs](https://gogs.io/advancing/localization).
1. Docker compose files.
### Coding guidelines
1. Please read the Sourcegraph's [Go style guide](https://github.com/sourcegraph/sourcegraph-public-snapshot/blob/main/doc/dev/background-information/languages/go.md).
1. **NO** direct modifications to `.css` files, `.css` files are all generated by `.less` files. You can regenerate `.css` files by executing `task less`.
## Your PR is merged!
Congratulations 🎉🎉 Thanks again for taking the effort to have this journey with us 🌟

View File

@@ -1,65 +0,0 @@
---
name: Bug report
about: Report problems and unexpected behavior
---
<!--
First of all, please read https://www.chiark.greenend.org.uk/~sgtatham/bugs.html.
If you don't want to read, it's up to you. But don't waste your time continue reporting.
The issue will be closed without any explanation if it does not satisfy any of following requirements:
1. Please speak English, we have forum in 中文: https://discuss.gogs.io/c/getting-help/getting-help-chinese.
2. Please post any questions, configuration or deploy problems on our forum: https://discuss.gogs.io.
3. Please do not end your title with a question mark or period.
4. Please take a moment to search and make sure the issue doesn't already exist.
5. Please give all relevant information below for bug reports; incomplete details are considered invalid report.
-->
**Describe the bug**
<!-- A clear and concise description of what the bug is -->
**Gogs version and commit**
<!--
The version number or the commit SHA of the Gogs instance you use.
You can find these information in the admin dashboard ("/admin").
-->
**Git version**
```
$ git version
```
**Operating system**
<!-- The name and version of your operating system -->
**Database**
<!-- The database and version you use -->
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Can you reproduce the bug at https://try.gogs.io?**
<!-- If yes, please provide the example URL; if no, please explain why -->
**Expected behavior**
<!-- A clear and concise description of what you expected to happen -->
**Actual behavior**
<!-- A clear and concise description of what you see instead -->
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem -->
**Additional context**
<!-- Please include any error logs found in `log/gogs.log` -->

82
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,82 @@
name: Bug report
description: File a bug report to help us improve
labels: ["\U0001F48A bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- Please use English :)
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
- Before you file an issue read the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
- Check to make sure someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
- type: input
attributes:
label: Gogs version
description: |
Please specify the exact Gogs version you're reporting for, e.g. "0.12.3". You can find the version information in the admin dashboard (`/admin`).
_Note that "gogs/gogs:latest" is not a Gogs version, it does not mean anything._
validations:
required: true
- type: textarea
attributes:
label: Git version
description: |
Please specify the exact Git version you're using of both server and client. You can find the version information by running `git version`.
value: |
- Server:
- Client:
validations:
required: true
- type: input
attributes:
label: Operating system
description: |
Please specify the exact operating system name and version you're reporting for, e.g. "Windows 10", "CentOS 7", "Ubuntu 20.04".
validations:
required: true
- type: input
attributes:
label: Database
description: |
Please specify the exact database and version you're reporting for, e.g. "PostgreSQL 9.6", "MySQL 5.7", "SQLite 3".
validations:
required: true
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: To reproduce
description: The steps to reproduce the problem described above.
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: |
Links? References? Suggestions? Anything that will give us more context about the issue you are encountering!
Please include any error logs found in the `log/gogs.log` file. Otherwise, we probably won't be able to help you much.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: checkboxes
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://go.dev/conduct)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -1,5 +1,8 @@
blank_issues_enabled: false blank_issues_enabled: true
contact_links: contact_links:
- name: Gogs Community Forum - name: Ask questions
url: https://discuss.gogs.io/ url: https://github.com/gogs/gogs/discussions
about: Please ask and answer questions here. about: Please ask questions in Discussions.
- name: Make a proposal
url: https://github.com/gogs/gogs/discussions/categories/proposal
about: Please make proposals in Discussions.

View File

@@ -0,0 +1,46 @@
---
name: "Dev: Release a minor version"
about: ONLY USED BY MAINTAINERS.
assignees: "unknwon"
title: "Release [VERSION]"
labels: 📸 release
---
_This is generated from the [minor release template](https://github.com/gogs/gogs/blob/main/.github/ISSUE_TEMPLATE/dev_release_minor_version.md)._
## Before release
On the `main` branch:
- [ ] Close stale issues with the label [status: needs feedback](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22status%3A+needs+feedback%22).
- [ ] [Sync locales from Crowdin](https://github.com/gogs/gogs/blob/main/docs/dev/import_locale.md).
- [ ] [Update CHANGELOG](https://github.com/gogs/gogs/commit/f1102a7a7c545ec221d2906f02fa19170d96f96d) to include entries for the current minor release.
- Do not forget adding entries for GHSA patches.
- [ ] Cut a new release branch `release/<MAJOR>.<MINOR>`, e.g. `release/0.14`.
## During release
On the release branch:
- [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.14.0+dev` -> `0.14.0`.
- [ ] Wait for GitHub Actions to complete and no failed jobs.
- [ ] Publish new RC releases (e.g. `v0.14.0-rc.1`, `v0.14.0-rc.2`) ⚠️ **on the release branch** ⚠️ and ensure Docker and release workflows both succeed.
- [ ] Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Download one of the release archives and run through application setup to make sure nothing blows up.
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) ⚠️ **on the release branch** ⚠️ with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current minor release.
- [ ] [Wait for new image tags for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs).
- Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Download all release archives and [generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
- [ ] Upload all archives and `checksum_sha256.txt` to https://dl.gogs.io.
## After release
On the `main` branch:
- [ ] Update the repository mirror on [Gitee](https://gitee.com/unknwon/gogs).
- [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements).
- [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the minor release.
- [ ] Close the milestone for the minor release.
- [ ] [Bump the hard-coded version](https://github.com/gogs/gogs/commit/a98968436cd5841cf691bb0b80c54c81470d1676) to the new develop version, e.g. `0.14.0+dev` -> `0.15.0+dev`.
- [ ] Run `task legacy` to identify deprecated code that is aimed to be removed in current develop version.
- [ ] **After 14 days**, publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.

View File

@@ -0,0 +1,49 @@
---
name: "Dev: Release a patch version"
about: ONLY USED BY MAINTAINERS.
assignees: "unknwon"
title: "Release [VERSION]"
labels: 📸 release
---
_This is generated from the [patch release template](https://github.com/gogs/gogs/blob/main/.github/ISSUE_TEMPLATE/dev_release_patch_version.md)._
## Before release
On the release branch:
- [ ] Make sure all commits are cherry-picked from the `main` branch by checking the patch milestone.
- Run `task build` for every cherry-picked commit to make sure there is no compilation error.
- [ ] [Update CHANGELOG on the `main` branch](https://github.com/gogs/gogs/commit/f1102a7a7c545ec221d2906f02fa19170d96f96d) to include entries for the current patch release.
## During release
On the release branch:
- [ ] [Update the hard-coded version](https://github.com/gogs/gogs/commit/f0e3cd90f8d7695960eeef2e4e54b2e717302f6c) to the current release, e.g. `0.12.0` -> `0.12.1`.
- [ ] Wait for GitHub Actions to complete and no failed jobs.
- [ ] Publish new RC releases in [GitHub release](https://github.com/gogs/gogs/releases) (e.g. `v0.12.0-rc.1`, `v0.12.0-rc.2`) ⚠️ **on the release branch** ⚠️ and ensure Docker workflow succeeds.
- [ ] Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Download one of the release archives and run through application setup to make sure nothing blows up.
- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) ⚠️ **on the release branch** ⚠️ with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md) for the current patch release and all previous releases with same minor version.
- [ ] Update all previous GitHub releases with same minor version with the warning:
```
** Heads up! There is a new patch release [0.12.1](https://github.com/gogs/gogs/releases/tag/v0.12.1) available, we recommend directly installing or upgrading to that version.**
```
- [ ] [Wait for new image tags for the current release](https://github.com/gogs/gogs/actions/workflows/docker.yml?query=event%3Arelease) to be created automatically on both [Docker Hub](https://hub.docker.com/r/gogs/gogs/tags) and [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs).
- Pull down the Docker image and [run through application setup](https://github.com/gogs/gogs/blob/main/docker/README.md) to make sure nothing blows up.
- [ ] Download all release archives and [generate SHA256 checksum](https://github.com/gogs/gogs/blob/main/docs/dev/release/sha256.sh) for all binaries to the file `checksum_sha256.txt`.
- [ ] Upload all archives and `checksum_sha256.txt` to https://dl.gogs.io.
## After release
On the `main` branch:
- [ ] Post the following message on issues that are included in the patch milestone:
```
The <MAJOR>.<MINOR>.<PATCH> has been released that includes the patch of the reported issue.
```
- [ ] Create a new release announcement in [Discussions](https://github.com/gogs/gogs/discussions/categories/announcements).
- [ ] Send a tweet on the [official Twitter account](https://twitter.com/GogsHQ) for the patch release.
- [ ] Close the milestone for the patch release.
- [ ] **After 14 days**, publish [GitHub security advisories](https://github.com/gogs/gogs/security) for security patches included in the release.

View File

@@ -0,0 +1,32 @@
name: Improve documentation
description: Suggest an idea or a patch for documentation
labels: ["📖 documentation"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this form!
- Please use English :)
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
- Before you file an issue read the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
- Check to make sure someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
- type: textarea
attributes:
label: What needs to be improved? Please describe
description: A clear and concise description of what is wrong or missing.
validations:
required: true
- type: textarea
attributes:
label: Why do you think it is important?
description: A clear and concise explanation of the rationale.
validations:
required: true
- type: checkboxes
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://go.dev/conduct)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -1,32 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
<!--
First of all, please read https://www.chiark.greenend.org.uk/~sgtatham/bugs.html.
If you don't want to read, it's up to you. But don't waste your time continue reporting.
The issue will be closed without any explanation if it does not satisfy any of following requirements:
1. Please speak English, we have forum in 中文: https://discuss.gogs.io/c/getting-help/getting-help-chinese.
2. Please post any questions, configuration or deploy problems on our forum: https://discuss.gogs.io.
3. Please do not end your title with a question mark or period.
4. Please take a moment to search and make sure the issue doesn't already exist.
-->
**Describe the feature**
<!-- A description of what feature you would like -->
**Describe the solution you'd like**
<!-- A clear and concise description of what you want to happen -->
**Describe alternatives you've considered**
<!-- A clear and concise description of any alternative solutions or features you've considered -->
**Additional context**
<!-- Add any other context or screenshots about the feature request here -->

View File

@@ -0,0 +1,47 @@
name: Feature request
description: Suggest an idea for this project
labels: ["\U0001F3AF feature"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this form!
- Please use English :)
- For questions, ask in [Discussions](https://github.com/gogs/gogs/discussions).
- Before you file an issue read the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
- Check to make sure someone hasn't already opened a similar [issue](https://github.com/gogs/gogs/issues).
- type: textarea
attributes:
label: Describe the feature
description: A clear and concise description of what the feature is, e.g. I think it is reasonable to have [...]
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: |
Links? References? Suggestions? Anything that will give us more context about the feature you are requesting!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: checkboxes
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://go.dev/conduct)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -1,12 +0,0 @@
---
name: Security vulnerability
about: Report security vulnerability for this project
---
<!--
Please create a dummy issue with high-level description of the security vulnerability,
then report details to u@gogs.io privately, thank you!
-->

View File

@@ -1,8 +0,0 @@
The pull request will be closed without any reasons if it does not satisfy any of following requirements:
1. Please read contributing guidelines:
https://github.com/gogits/gogs/wiki/Contributing-Code
2. Please describe what your pull request does and which issue you're targeting
3. ... if it is not related to any particular issues, explain why we should not reject your pull request.
**You MUST delete above content including this line before posting; too lazy to take this action considered invalid pull request.**

9
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,9 @@
# Docs: https://git.io/JCUAY
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "monthly"
commit-message:
prefix: "mod:"

16
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,16 @@
## Describe the pull request
A clear and concise description of what the pull request is about, i.e. what problem should be fixed?
Link to the issue: <!-- paste the issue link here, or put "n/a" if not applicable -->
## Checklist
- [ ] I agree to follow the [Code of Conduct](https://go.dev/conduct) by submitting this pull request.
- [ ] I have read and acknowledge the [Contributing guide](https://github.com/gogs/gogs/blob/main/.github/CONTRIBUTING.md).
- [ ] I have added test cases to cover the new code or have provided the test plan. (if applicable)
- [ ] I have added an entry to [CHANGELOG](https://github.com/gogs/gogs/blob/main/CHANGELOG.md). (if applicable)
## Test plan
<!-- Please provide concrete but concise steps to proof things are working as stated, see an example in https://github.com/gogs/gogs/pull/7345 -->

View File

@@ -1,52 +1,75 @@
name: "Code scanning - action" # For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on: on:
push: push:
branches: [master] branches: [ main ]
pull_request:
paths:
- '.github/workflows/codeql.yml'
schedule: schedule:
- cron: '0 19 * * 0' - cron: '0 19 * * 0'
jobs: permissions:
CodeQL-Build: contents: read
security-events: write
# CodeQL runs on ubuntu-latest and windows-latest jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps: steps:
- name: Checkout repository - name: Check out repository
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with: with:
# We must fetch at least the immediate parents so that if this is # We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head. # a pull request then we can checkout the head.
fetch-depth: 2 fetch-depth: 2
# If this run was triggered by a pull request event, then checkout # Initializes the CodeQL tools for scanning.
# the head of the pull request instead of the merge commit. - name: Initialize CodeQL
- run: git checkout HEAD^2 uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
if: ${{ github.event_name == 'pull_request' }} with:
languages: ${{ matrix.language }}
# Initializes the CodeQL tools for scanning. # If you wish to specify custom queries, you can do so here or in a config file.
- name: Initialize CodeQL # By default, queries listed here will override any specified in a config file.
uses: github/codeql-action/init@v1 # Prefix the list here with "+" to use these queries and those in the config file.
# Override language selection by uncommenting this and choosing your languages # queries: ./path/to/local/query, your-org/your-repo/queries@main
# with:
# languages: go, javascript, csharp, python, cpp, java
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project # and modify them (or add more) to build your code if your project
# uses a compiled language # uses a compiled language
#- run: | #- run: |
# make bootstrap # make bootstrap
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3.28.3

26
.github/workflows/digitalocean_gc.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: DigitalOcean
on:
workflow_dispatch:
workflow_call:
jobs:
garbage-collection:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Install doctl
uses: digitalocean/action-doctl@5727c67aa3c2c34ae9462d5a0ecfea8a1b31e5ce # v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Run garbage collection
run: |
# --force: Required for CI to skip confirmation prompts
# --include-untagged-manifests: Deletes unreferenced manifests to maximize space
doctl registry garbage-collection start --force --include-untagged-manifests
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}

View File

@@ -5,37 +5,36 @@ on:
- main - main
pull_request: pull_request:
paths: paths:
- '.trivy.yaml'
- 'Dockerfile' - 'Dockerfile'
- 'Dockerfile.next'
- 'docker/**' - 'docker/**'
- 'docker-next/**'
- '.github/workflows/docker.yml' - '.github/workflows/docker.yml'
release: release:
types: [ published ] types: [ published ]
jobs: jobs:
buildx: buildx:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
actions: write actions: write
contents: read contents: read
packages: write packages: write
steps: steps:
- name: Canel previous runs - name: Check out code
uses: styfle/cancel-workflow-action@0.9.1 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
all_but_latest: true
access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout code
uses: actions/checkout@v2
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
config-inline: |
[worker.oci]
max-parallelism = 2
- name: Inspect builder - name: Inspect builder
run: | run: |
echo "Name: ${{ steps.buildx.outputs.name }}" echo "Name: ${{ steps.buildx.outputs.name }}"
@@ -44,18 +43,18 @@ jobs:
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry - name: Login to GitHub Container registry
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push images - name: Build and push images
uses: docker/build-push-action@v2 uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
@@ -63,38 +62,38 @@ jobs:
tags: | tags: |
gogs/gogs:latest gogs/gogs:latest
ghcr.io/gogs/gogs:latest ghcr.io/gogs/gogs:latest
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # 0.35.0
with:
image-ref: gogs/gogs:latest
exit-code: '1'
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }} if: ${{ failure() }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} buildx-next:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
buildx-pull-request: concurrency:
if: ${{ github.event_name == 'pull_request' && github.repository == 'gogs/gogs' }} group: ${{ github.workflow }}-next-${{ github.ref }}
cancel-in-progress: true
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
actions: write
contents: read contents: read
packages: write
steps: steps:
- name: Checkout code - name: Check out code
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
config-inline: |
[worker.oci]
max-parallelism = 2
- name: Inspect builder - name: Inspect builder
run: | run: |
echo "Name: ${{ steps.buildx.outputs.name }}" echo "Name: ${{ steps.buildx.outputs.name }}"
@@ -103,32 +102,82 @@ jobs:
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Compute short commit SHA - name: Login to GitHub Container registry
uses: benjlevesque/short-sha@v1.2 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
- name: Build and push images with:
uses: docker/build-push-action@v2 registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to DigitalOcean Container registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: registry.digitalocean.com
username: ${{ secrets.DIGITALOCEAN_USERNAME }}
password: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Build and push next-gen images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64 file: Dockerfile.next
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true push: true
tags: | tags: |
gogs/gogs:commit-${{ env.SHA }} gogs/gogs:next-latest
ghcr.io/gogs/gogs:next-latest
registry.digitalocean.com/gogs/gogs:next-latest
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # 0.35.0
with:
image-ref: gogs/gogs:next-latest
exit-code: '1'
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}
buildx-pull-request-fork: deploy-demo:
if: ${{ github.event_name == 'pull_request' && github.repository != 'gogs/gogs' }} if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
needs: buildx-next
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
steps: steps:
- name: Checkout code - name: Configure kubectl
uses: actions/checkout@v2 run: |
mkdir -p ~/.kube
echo "${KUBECONFIG}" | base64 -d > ~/.kube/config
env:
KUBECONFIG: ${{ secrets.DIGITALOCEAN_K8S_CLUSTER_KUBECONFIG }}
- name: Restart gogs-demo deployment
timeout-minutes: 5
run: |
set -ex
kubectl rollout restart deployment gogs-demo -n gogs
kubectl rollout status deployment gogs-demo -n gogs
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}
buildx-pull-request:
if: ${{ github.event_name == 'pull_request'}}
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with: with:
config-inline: | config-inline: |
[worker.oci] [worker.oci]
@@ -140,12 +189,64 @@ jobs:
echo "Status: ${{ steps.buildx.outputs.status }}" echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Build images - name: Compute short commit SHA
uses: docker/build-push-action@v2 id: short-sha
uses: benjlevesque/short-sha@599815c8ee942a9616c92bcfb4f947a3b670ab0b # v3.0
- name: Build and push images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64 platforms: linux/amd64
push: true
tags: |
ttl.sh/gogs/gogs-${{ steps.short-sha.outputs.sha }}:7d
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # 0.35.0
with:
image-ref: ttl.sh/gogs/gogs-${{ steps.short-sha.outputs.sha }}:7d
exit-code: '1'
buildx-next-pull-request:
if: ${{ github.event_name == 'pull_request'}}
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
config-inline: |
[worker.oci]
max-parallelism = 2
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Compute short commit SHA
id: short-sha
uses: benjlevesque/short-sha@599815c8ee942a9616c92bcfb4f947a3b670ab0b # v3.0
- name: Build and push next-gen images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
file: Dockerfile.next
platforms: linux/amd64
push: true
tags: |
ttl.sh/gogs/gogs-next-${{ steps.short-sha.outputs.sha }}:7d
- name: Scan for container vulnerabilities
uses: aquasecurity/trivy-action@57a97c7e7821a5776cebc9bb87c984fa69cba8f1 # 0.35.0
with:
image-ref: ttl.sh/gogs/gogs-next-${{ steps.short-sha.outputs.sha }}:7d
exit-code: '1'
# Updates to the following section needs to be synced to all release branches within their lifecycles.
buildx-release: buildx-release:
if: ${{ github.event_name == 'release' }} if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -154,19 +255,34 @@ jobs:
contents: read contents: read
packages: write packages: write
steps: steps:
- name: Compute image tag name - name: Compute image tags
run: echo "IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)" >> $GITHUB_ENV run: |
- name: Checkout code IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)
uses: actions/checkout@v2 echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
TAGS="gogs/gogs:$IMAGE_TAG
ghcr.io/gogs/gogs:$IMAGE_TAG"
# Add minor version tag for stable releases (no prerelease suffix per semver).
if [[ ! "$IMAGE_TAG" =~ - ]]; then
MINOR_TAG=$(echo "$IMAGE_TAG" | cut -d. -f1,2)
TAGS="$TAGS
gogs/gogs:$MINOR_TAG
ghcr.io/gogs/gogs:$MINOR_TAG"
fi
echo "TAGS<<EOF" >> $GITHUB_ENV
echo "$TAGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
config-inline: |
[worker.oci]
max-parallelism = 2
- name: Inspect builder - name: Inspect builder
run: | run: |
echo "Name: ${{ steps.buildx.outputs.name }}" echo "Name: ${{ steps.buildx.outputs.name }}"
@@ -175,38 +291,112 @@ jobs:
echo "Flags: ${{ steps.buildx.outputs.flags }}" echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry - name: Login to GitHub Container registry
uses: docker/login-action@v1 uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push images - name: Build and push images
uses: docker/build-push-action@v2 uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with: with:
context: . context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true push: true
tags: | tags: ${{ env.TAGS }}
gogs/gogs:${{ env.IMAGE_TAG }}
ghcr.io/gogs/gogs:${{ env.IMAGE_TAG }}
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }} if: ${{ failure() }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} # Updates to the following section needs to be synced to all release branches within their lifecycles.
buildx-next-release:
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
packages: write
steps:
- name: Compute image tags
run: |
IMAGE_TAG=$(echo $GITHUB_REF_NAME | cut -c 2-)
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
TAGS="gogs/gogs:next-$IMAGE_TAG
ghcr.io/gogs/gogs:next-$IMAGE_TAG"
# Add minor version tag for stable releases (no prerelease suffix per semver).
if [[ ! "$IMAGE_TAG" =~ - ]]; then
MINOR_TAG=$(echo "$IMAGE_TAG" | cut -d. -f1,2)
TAGS="$TAGS
gogs/gogs:next-$MINOR_TAG
ghcr.io/gogs/gogs:next-$MINOR_TAG"
fi
echo "TAGS<<EOF" >> $GITHUB_ENV
echo "$TAGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Login to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push next-gen images
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
file: Dockerfile.next
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ env.TAGS }}
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() }}
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}
digitalocean-gc:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }}
needs: buildx-next
permissions:
contents: read
uses: ./.github/workflows/digitalocean_gc.yml
secrets: inherit
digitalocean-gc-pull-request:
if: ${{ github.event_name == 'pull_request' && github.repository == 'gogs/gogs' }}
needs: buildx-next-pull-request
permissions:
contents: read
uses: ./.github/workflows/digitalocean_gc.yml
secrets: inherit

View File

@@ -18,111 +18,159 @@ on:
env: env:
GOPROXY: "https://proxy.golang.org" GOPROXY: "https://proxy.golang.org"
permissions:
contents: read
jobs: jobs:
lint: lint:
permissions:
contents: read # for actions/checkout to fetch code
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
name: Lint name: Lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Check out code
uses: actions/checkout@v2 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Run golangci-lint - name: Install Go
uses: golangci/golangci-lint-action@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
version: latest go-version: 1.26.x
args: --timeout=30m
- name: Install Task - name: Install Task
uses: arduino/setup-task@v1 uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0
- name: Install go-bindata with:
shell: bash repo-token: ${{ secrets.GITHUB_TOKEN }}
run: | - name: Check Go module tidiness and generated files
curl --silent --location --output /usr/local/bin/go-bindata https://github.com/kevinburke/go-bindata/releases/download/v3.23.0/go-bindata-linux-amd64
chmod +x /usr/local/bin/go-bindata
- name: Check Go module tidiness
shell: bash shell: bash
run: | run: |
go mod tidy go mod tidy
task generate
STATUS=$(git status --porcelain) STATUS=$(git status --porcelain)
if [ ! -z "$STATUS" ]; then if [ ! -z "$STATUS" ]; then
echo "Unstaged files:" echo "Unstaged files:"
echo $STATUS echo $STATUS
echo "Run 'go mod tidy' and commit them" echo "Run 'go mod tidy' or 'task generate' commit them"
exit 1 exit 1
fi fi
- name: Run golangci-lint
uses: golangci/golangci-lint-action@9fae48acfc02a90574d7c304a1758ef9895495fa # v7.0.1
with:
version: latest
args: --timeout=30m
test: test:
name: Test name: Test
strategy: strategy:
matrix: matrix:
go-version: [ 1.17.x, 1.18.x, 1.19.x ] go-version: [ 1.26.x ]
platform: [ ubuntu-latest, macos-latest ] platform: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go - name: Install Go
uses: actions/setup-go@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage - name: Run tests with coverage
run: go test -v -race -coverprofile=coverage -covermode=atomic ./... run: |
- name: Upload coverage report to Codecov go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./... > test-report.json
uses: codecov/codecov-action@v1.5.0 go install github.com/mfridman/tparse@latest
with: tparse -all -file=test-report.json
file: ./coverage
flags: unittests
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
# Running tests with race detection consumes too much memory on Windows, # Running tests with race detection consumes too much memory on Windows,
# see https://github.com/golang/go/issues/46099 for details. # see https://github.com/golang/go/issues/46099 for details.
test-windows: test-windows:
name: Test name: Test Windows
strategy: strategy:
matrix: matrix:
go-version: [ 1.17.x, 1.18.x, 1.19.x ] go-version: [ 1.26.x ]
platform: [ windows-latest ] platform: [ windows-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go - name: Install Go
uses: actions/setup-go@v2 uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with: with:
go-version: ${{ matrix.go-version }} go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests with coverage - name: Run tests with coverage
run: go test -v -coverprofile=coverage -covermode=atomic ./... run: go test -shuffle=on -v -coverprofile=coverage -covermode=atomic ./...
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@v1.5.0
with:
file: ./coverage
flags: unittests
- name: Send email on failure - name: Send email on failure
uses: dawidd6/action-send-mail@v3 uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
with: with:
server_address: smtp.mailgun.org smtp_username: ${{ secrets.SMTP_USERNAME }}
server_port: 465 smtp_password: ${{ secrets.SMTP_PASSWORD }}
username: ${{ secrets.SMTP_USERNAME }}
password: ${{ secrets.SMTP_PASSWORD }}
subject: GitHub Actions (${{ github.repository }}) job result
to: github-actions-8ce6454@unknwon.io
from: GitHub Actions (${{ github.repository }})
reply_to: noreply@unknwon.io
body: |
The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}".
View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} postgres:
name: Postgres
strategy:
matrix:
go-version: [ 1.26.x ]
platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }}
services:
postgres:
image: postgres:9.6
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: ${{ matrix.go-version }}
- name: Run tests with coverage
run: |
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./internal/database/... > test-report.json
go install github.com/mfridman/tparse@latest
tparse -all -file=test-report.json
env:
GOGS_DATABASE_TYPE: postgres
PGPORT: 5432
PGHOST: localhost
PGUSER: postgres
PGPASSWORD: postgres
PGSSLMODE: disable
mysql:
name: MySQL
strategy:
matrix:
go-version: [ 1.26.x ]
platform: [ ubuntu-22.04 ] # Use the lowest version possible for backwards compatibility
runs-on: ${{ matrix.platform }}
steps:
- name: Start MySQL server
run: sudo systemctl start mysql
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: ${{ matrix.go-version }}
- name: Run tests with coverage
run: |
go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic -json ./internal/database/... > test-report.json
go install github.com/mfridman/tparse@latest
tparse -all -file=test-report.json
env:
GOGS_DATABASE_TYPE: mysql
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_HOST: localhost
MYSQL_PORT: 3306

25
.github/workflows/lock.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: 'Lock Threads'
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
concurrency:
group: lock
jobs:
action:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1
with:
github-token: ${{ github.token }}
issue-inactive-days: '90'
issue-lock-reason: 'resolved'
pr-inactive-days: '365'
pr-lock-reason: 'resolved'

View File

@@ -1,28 +0,0 @@
name: LSIF
on:
push:
paths:
- '**.go'
- 'go.mod'
- '.github/workflows/lsif.yml'
env:
GOPROXY: "https://proxy.golang.org"
jobs:
lsif-go:
if: github.repository == 'gogs/gogs'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Generate LSIF data
uses: sourcegraph/lsif-go-action@master
- name: Upload LSIF data to sourcegraph.com
continue-on-error: true
uses: docker://sourcegraph/src-cli:latest
with:
args: lsif upload -github-token=${{ secrets.GITHUB_TOKEN }}
- name: Upload LSIF data to sourcegraph.unknwon.cn
continue-on-error: true
uses: docker://sourcegraph/src-cli:latest
with:
args: -endpoint=https://sourcegraph.unknwon.cn lsif upload -github-token=${{ secrets.GITHUB_TOKEN }}

146
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,146 @@
name: Release
on:
release:
types: [published]
push:
branches:
- main
pull_request:
paths:
- '.github/workflows/release.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GOPROXY: "https://proxy.golang.org"
permissions:
contents: write
jobs:
build:
name: Build ${{ matrix.goos }}/${{ matrix.goarch }}${{ matrix.suffix }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- {goos: linux, goarch: amd64}
- {goos: linux, goarch: arm64}
- {goos: linux, goarch: "386"}
- {goos: darwin, goarch: amd64}
- {goos: darwin, goarch: arm64}
- {goos: windows, goarch: amd64}
- {goos: windows, goarch: arm64}
- {goos: windows, goarch: "386"}
- {goos: windows, goarch: amd64, suffix: "_mws", tags: minwinsvc}
- {goos: windows, goarch: arm64, suffix: "_mws", tags: minwinsvc}
- {goos: windows, goarch: "386", suffix: "_mws", tags: minwinsvc}
steps:
- name: Check out code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.26.x
- name: Determine version
id: version
run: |
if [ "${{ github.event_name }}" = "release" ]; then
echo "version=${{ github.event.release.tag_name }}" | sed 's/version=v/version=/' >> "$GITHUB_OUTPUT"
echo "release_tag=${{ github.event.release.tag_name }}" >> "$GITHUB_OUTPUT"
elif [ "${{ github.event_name }}" = "push" ] && [ "${{ github.ref }}" = "refs/heads/main" ]; then
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
echo "release_tag=latest-commit-build" >> "$GITHUB_OUTPUT"
else
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
echo "release_tag=release-archive-testing" >> "$GITHUB_OUTPUT"
fi
- name: Build binary
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: "0"
run: |
BINARY_NAME="gogs"
if [ "${{ matrix.goos }}" = "windows" ]; then
BINARY_NAME="gogs.exe"
fi
TAGS_FLAG=""
if [ -n "${{ matrix.tags }}" ]; then
TAGS_FLAG="-tags ${{ matrix.tags }}"
fi
go build -v \
-ldflags "
-X \"gogs.io/gogs/internal/conf.BuildTime=$(date -u '+%Y-%m-%d %I:%M:%S %Z')\"
-X \"gogs.io/gogs/internal/conf.BuildCommit=$(git rev-parse HEAD)\"
" \
$TAGS_FLAG \
-trimpath -o "$BINARY_NAME" ./cmd/gogs
- name: Prepare archive contents
run: |
mkdir -p dist/gogs
BINARY_NAME="gogs"
if [ "${{ matrix.goos }}" = "windows" ]; then
BINARY_NAME="gogs.exe"
fi
cp "$BINARY_NAME" dist/gogs/
cp LICENSE README.md dist/gogs/
cp -r scripts dist/gogs/
- name: Create archives
working-directory: dist
run: |
VERSION="${{ steps.version.outputs.version }}"
ARCHIVE_BASE="gogs_${VERSION}_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.suffix }}"
zip -r "${ARCHIVE_BASE}.zip" gogs
if [ "${{ matrix.goos }}" = "linux" ]; then
tar -czvf "${ARCHIVE_BASE}.tar.gz" gogs
fi
- name: Upload to release
env:
GH_TOKEN: ${{ github.token }}
run: |
RELEASE_TAG="${{ steps.version.outputs.release_tag }}"
if [ "${{ github.event_name }}" != "release" ]; then
git tag -f "$RELEASE_TAG"
git push origin "$RELEASE_TAG" --force || true
RELEASE_TITLE="Release archive testing"
RELEASE_NOTES="Automated testing release for workflow development."
if [ "$RELEASE_TAG" = "latest-commit-build" ]; then
RELEASE_TITLE="Latest commit build"
RELEASE_NOTES="Automated build from the latest commit on main branch. This release is updated automatically with every push to main."
fi
gh release view "$RELEASE_TAG" || gh release create "$RELEASE_TAG" --title "$RELEASE_TITLE" --notes "$RELEASE_NOTES" --prerelease
fi
PATTERN="_${{ matrix.goos }}_${{ matrix.goarch }}${{ matrix.suffix }}\."
gh release view "$RELEASE_TAG" --json assets --jq ".assets[].name" | grep "$PATTERN" | while read -r asset; do
gh release delete-asset "$RELEASE_TAG" "$asset" --yes || true
done
gh release upload "$RELEASE_TAG" dist/gogs_*.zip --clobber
if [ "${{ matrix.goos }}" = "linux" ]; then
gh release upload "$RELEASE_TAG" dist/gogs_*.tar.gz --clobber
fi
notify-failure:
name: Notify on failure
runs-on: ubuntu-latest
needs: [build]
if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- name: Send email on failure
uses: unknwon/send-email-on-failure@89339a1bc93f4ad1d30f3b7e4911fcba985c9adb # v1
with:
smtp_username: ${{ secrets.SMTP_USERNAME }}
smtp_password: ${{ secrets.SMTP_PASSWORD }}

View File

@@ -4,11 +4,14 @@ on:
branches: [ main ] branches: [ main ]
pull_request: pull_request:
permissions:
contents: read
jobs: jobs:
shellcheck: shellcheck:
name: Shellcheck name: Shellcheck
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- name: Run ShellCheck - name: Run ShellCheck
uses: ludeeus/action-shellcheck@master uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0

27
.gitignore vendored
View File

@@ -1,19 +1,16 @@
.DS_Store # Build artifacts
*.db .bin/
*.log dist/
# Runtime data
log/ log/
custom/ custom/
data/ data/
# Configuration and application files
.idea/ .idea/
*.iml .task/
public/img/avatar/ .envrc
*.exe
*.exe~ # System junk
/gogs .DS_Store
profile/
*.pem
output*
*.sublime-project
*.sublime-workspace
/release
.task

View File

@@ -1,26 +1,42 @@
linters-settings: version: "2"
staticcheck:
checks: [
"all",
"-SA1019" # There are valid use cases of strings.Title
]
nakedret:
max-func-lines: 0 # Disallow any unnamed return statement
linters: linters:
enable: enable:
- deadcode
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- structcheck
- typecheck
- unused
- varcheck
- nakedret - nakedret
- gofmt
- rowserrcheck - rowserrcheck
- unconvert - unconvert
- unparam
settings:
govet:
disable:
# printf: non-constant format string in call to fmt.Errorf (govet)
# showing up since golangci-lint version 1.60.1
- printf
staticcheck:
checks:
- all
- "-SA1019" # This project is under active refactoring and not all code is up to date.
- "-QF1001" # I'm a math noob
- "-ST1016" # Some legit code uses this pattern
nakedret:
max-func-lines: 0 # Disallow any unnamed return statement
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- third_party$
- builtin$
- examples$
formatters:
enable:
- gofmt
- goimports - goimports
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$

View File

@@ -1,2 +1,4 @@
Unknwon <u@gogs.io> <joe2010xtmf@163.com> Joe Chen <jc@unknwon.io> Unknwon <u@gogs.io>
Unknwon <u@gogs.io> 无闻 <u@gogs.io> Joe Chen <jc@unknwon.io> 无闻 <u@gogs.io>
Joe Chen <jc@unknwon.io> ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
Joe Chen <jc@unknwon.io> ᴜɴᴋɴᴡᴏɴ <jc@unknwon.io>

View File

@@ -1,26 +1,25 @@
targets: targets:
debian-8: &debian debian-11: &debian
build_dependencies: build_dependencies:
- libpam0g-dev - libpam0g-dev
dependencies: dependencies:
- libpam0g - libpam0g
- git - git
debian-9: debian-12:
<<: *debian <<: *debian
debian-10: debian-13:
<<: *debian <<: *debian
debian-11: debian-14:
<<: *debian <<: *debian
ubuntu-14.04:
<<: *debian
ubuntu-16.04:
<<: *debian
build_dependencies:
- bzr
- mercurial
ubuntu-18.04: ubuntu-18.04:
<<: *debian <<: *debian
centos-7: ubuntu-20.04:
<<: *debian
ubuntu-22.04:
<<: *debian
ubuntu-24.04:
<<: *debian
centos-9:
build_dependencies: build_dependencies:
- pam-devel - pam-devel
# required for Go buildpack # required for Go buildpack
@@ -33,4 +32,4 @@ before:
after: after:
- mv bin/gogs gogs - mv bin/gogs gogs
after_install: ./.packager/hooks/postinst after_install: ./.packager/hooks/postinst
buildpack: https://github.com/heroku/heroku-buildpack-go.git buildpack: https://github.com/heroku/heroku-buildpack-go.git#main

33
AGENTS.md Normal file
View File

@@ -0,0 +1,33 @@
## Core principles
- Stop telling me "You're right", it just shows how incompetent you are. Do it right on your first try, fact-check and review after changes. If you are not sure, ask for help.
- When you see changes made outside your knowledge, use the current version as your new starting point. Do not blindly overwrite those changes or you suck. Even if you have to update the code, always respect the pattern in the surrounding context!
## Style and mechanics
This applies to all texts, including but not limited to UI, documentation, code comments.
- Use sentence case. Preserve original casing for brand names.
- End with a period for a full sentence.
- Do not add comments that repeat what the code is doing, always prefer more descriptive names. Do add comments for intentions that aren't obvious via reading the code alone. This rule takes precedence over matching existing patterns.
## Coding guidelines
- Use `github.com/cockroachdb/errors` for error handling.
- Use `github.com/stretchr/testify` for assertions in tests. Be mindful about the choice of `require` and `assert`, the former should be used when the test cannot proceed meaningfully after a failed assertion.
## Build instructions
- Prefer `task` command over vanilla `go` command when available. Use `--force` flag when necessary.
- Run `task lint` after every time you finish changing code, and fix all linter errors.
- Run `go mod tidy` after every time you change `go.mod`, do not manually edit `go.sum` file.
## Tool-use guidance
- Use `gh` CLI to access information on github.com that is not publicly available.
## Source code control
- When pushing changes to a pull request from a fork, use SSH address and do not add remote.
- Never commit on the `main` branch directly unless being explicitly asked to do so. A single ask only grants a single commit action on the `main` branch.
- Never amend commits unless being explicitly asked to do so.

View File

@@ -2,7 +2,99 @@
All notable changes to Gogs are documented in this file. All notable changes to Gogs are documented in this file.
## 0.13.0+dev (`main`) ## 0.15.0+dev (`main`)
### Removed
- The `gogs cert` subcommand. [#8153](https://github.com/gogs/gogs/pull/8153)
- The `[email] DISABLE_HELO` configuration option. HELO/EHLO is now always sent during SMTP handshake. [#8164](https://github.com/gogs/gogs/pull/8164)
- Support for MSSQL as a database backend. Stay on 0.14 for continued usage. [#8173](https://github.com/gogs/gogs/pull/8173)
## 0.14.2
### Fixed
- _Security:_ Cross-repository LFS object overwrite via missing content hash verification. [#8166](https://github.com/gogs/gogs/pull/8166) - [GHSA-gmf8-978x-2fg2](https://github.com/gogs/gogs/security/advisories/GHSA-gmf8-978x-2fg2)
- _Security:_ Stored XSS via data URI in issue comments. [#8174](https://github.com/gogs/gogs/pull/8174) - [GHSA-xrcr-gmf5-2r8j](https://github.com/gogs/gogs/security/advisories/GHSA-xrcr-gmf5-2r8j)
- _Security:_ Release tag option injection in release deletion. [#8175](https://github.com/gogs/gogs/pull/8175) - [GHSA-v9vm-r24h-6rqm](https://github.com/gogs/gogs/security/advisories/GHSA-v9vm-r24h-6rqm)
- _Security:_ Stored XSS in branch and wiki views through author and committer names. [#8176](https://github.com/gogs/gogs/pull/8176) - [GHSA-vgvf-m4fw-938j](https://github.com/gogs/gogs/security/advisories/GHSA-vgvf-m4fw-938j)
- _Security:_ DOM-based XSS via issue meta selection on the issue page. [#8178](https://github.com/gogs/gogs/pull/8178) - [GHSA-vgjm-2cpf-4g7c](https://github.com/gogs/gogs/security/advisories/GHSA-vgjm-2cpf-4g7c)
- Unable to update files via web editor and API. [#8184](https://github.com/gogs/gogs/pull/8184)
### Removed
- Support for passing API access tokens via URL query parameters (`token`, `access_token`). Use the `Authorization` header instead. [#8177](https://github.com/gogs/gogs/pull/8177) - [GHSA-x9p5-w45c-7ffc](https://github.com/gogs/gogs/security/advisories/GHSA-x9p5-w45c-7ffc)
## 0.14.1
### Added
- Support comparing tags in addition to branches. [#6141](https://github.com/gogs/gogs/issues/6141)
- Show file name in browser tab title when viewing files. [#5896](https://github.com/gogs/gogs/pull/5896)
- Support using TLS for Redis session provider using `[session] PROVIDER_CONFIG = ...,tls=true`. [#7860](https://github.com/gogs/gogs/pull/7860)
- Support expanading values in `app.ini` from environment variables, e.g. `[database] PASSWORD = ${DATABASE_PASSWORD}`. [#8057](https://github.com/gogs/gogs/pull/8057)
- Support custom logout URL that users get redirected to after sign out using `[auth] CUSTOM_LOGOUT_URL`. [#8089](https://github.com/gogs/gogs/pull/8089)
- Start publishing next-generation, security-focused Docker image via `gogs/gogs:next-latest`, which will become the default image distribution (`gogs/gogs:latest`) starting 0.16.0. While not all container options support have been added in the next-generation image, the use of current legacy Docker image is deprecated, it will be published as `gogs/gogs:legacy-latest` starting 0.16.0, and be completely removed no earlier than 0.17.0. [#8061](https://github.com/gogs/gogs/pull/8061)
### Changed
- The required Go version to compile source code changed to 1.25.
- The build tag `cert` has been removed, and the `gogs cert` subcommand is now always available. [#7883](https://github.com/gogs/gogs/pull/7883)
- Switched to pure-Go SQLite driver, CGO is no longer required to compile Gogs. [#7882](https://github.com/gogs/gogs/issues/7882)
- Updated Mermaid JS to 11.9.0. [#8009](https://github.com/gogs/gogs/pull/8009)
- Halt the repository creation and leave the directory untouched if the repository root already exists. [#8091](https://github.com/gogs/gogs/pull/8091)
### Fixed
- _Security:_ Unauthenticated file upload. [#8128](https://github.com/gogs/gogs/pull/8128) - [GHSA-fc3h-92p8-h36f](https://github.com/gogs/gogs/security/advisories/GHSA-fc3h-92p8-h36f)
- _Security:_ Protected branch bypass in web UI. [#8124](https://github.com/gogs/gogs/pull/8124) - [GHSA-2c6v-8r3v-gh6p](https://github.com/gogs/gogs/security/advisories/GHSA-2c6v-8r3v-gh6p)
- _Security:_ Authorization bypass allows cross-repository label modification. [#8123](https://github.com/gogs/gogs/pull/8123) - [GHSA-cv22-72px-f4gh](https://github.com/gogs/gogs/security/advisories/GHSA-cv22-72px-f4gh)
- _Security:_ Cross-repository comment deletion. [#8119](https://github.com/gogs/gogs/pull/8119) - [GHSA-jj5m-h57j-5gv7](https://github.com/gogs/gogs/security/advisories/GHSA-jj5m-h57j-5gv7)
- 500 error on repository watchers and stargazers pages when using MSSQL. [#5482](https://github.com/gogs/gogs/issues/5482)
- Submodules using `ssh://` protocol and a port number are not rendered correctly. [#4941](https://github.com/gogs/gogs/issues/4941)
- Missing link to user profile on the first commit in commits history page. [#7404](https://github.com/gogs/gogs/issues/7404)
- Unable to delete or display files with special characters in their names. [#7596](https://github.com/gogs/gogs/issues/7596)
- Docker healthcheck fails when `HTTP_PROXY` or `HTTPS_PROXY` environment variables are set. [#7529](https://github.com/gogs/gogs/issues/7529)
## 0.13.4
### Fixed
- _Security:_ DoS in repository mirror sync. [#8065](https://github.com/gogs/gogs/pull/8065) - [GHSA-cr88-6mqm-4g57](https://github.com/gogs/gogs/security/advisories/GHSA-cr88-6mqm-4g57)
- _Security:_ RCE in repository put contents API. [#8082](https://github.com/gogs/gogs/pull/8082) - [GHSA-gg64-xxr9-qhjp](https://github.com/gogs/gogs/security/advisories/GHSA-gg64-xxr9-qhjp)
- _Security:_ Arbitrary file deletion via path traversal in wiki page update. [#8099](https://github.com/gogs/gogs/pull/8099) - [GHSA-jp7c-wj6q-3qf2](https://github.com/gogs/gogs/security/advisories/GHSA-jp7c-wj6q-3qf2)
- _Security:_ 2FA bypass via recovery code. [#8100](https://github.com/gogs/gogs/pull/8100) - [GHSA-p6x6-9mx6-26wj](https://github.com/gogs/gogs/security/advisories/GHSA-p6x6-9mx6-26wj)
- _Security:_ Authorization bypass in repository deletion API. [#8101](https://github.com/gogs/gogs/pull/8101) - [GHSA-rjv5-9px2-fqw6](https://github.com/gogs/gogs/security/advisories/GHSA-rjv5-9px2-fqw6)
- _Security:_ Update repository content via API with read-only permission. [#8102](https://github.com/gogs/gogs/pull/8102) - [GHSA-5qhx-gwfj-6jqr](https://github.com/gogs/gogs/security/advisories/GHSA-5qhx-gwfj-6jqr)
- _Security:_ Arbitrary file read/write via path traversal in Git hook editing. [#8103](https://github.com/gogs/gogs/pull/8103) - [GHSA-mrph-w4hh-gx3g](https://github.com/gogs/gogs/security/advisories/GHSA-mrph-w4hh-gx3g)
- _Security:_ Stored XSS via Mermaid diagrams. [`2c88cd4`](https://github.com/gogs/gogs/commit/2c88cd4d9fdc346d8e06d82f5368d657c10e79c2) - [GHSA-26gq-grmh-6xm6](https://github.com/gogs/gogs/security/advisories/GHSA-26gq-grmh-6xm6)
- Route `GET /api/v1/user/repos` responses 500 when accessible repositories contain forks. [#8069](https://github.com/gogs/gogs/pull/8069)
- Newer Git versions that uses default branch `main` cause wiki initialization to fail. [#8094](https://github.com/gogs/gogs/pull/8094)
## 0.13.3
### Fixed
- _Security:_ Stored XSS in PDF renderer. [GHSA-xh32-cx6c-cp4v](https://github.com/gogs/gogs/security/advisories/GHSA-xh32-cx6c-cp4v)
- _Security:_ Path Traversal in file editing UI. [GHSA-wj44-9vcg-wjq7](https://github.com/gogs/gogs/security/advisories/GHSA-wj44-9vcg-wjq7)
- Randomly timeout on repository file uploads. [#7890](https://github.com/gogs/gogs/pull/7890)
- Unable to override email templates in custom directory. [#7905](https://github.com/gogs/gogs/pull/7905)
## 0.13.2
### Fixed
- _Security:_ Path Traversal in file editing UI. [GHSA-r7j8-5h9c-f6fx](https://github.com/gogs/gogs/security/advisories/GHSA-r7j8-5h9c-f6fx)
- _Security:_ Path Traversal in file update API. [GHSA-qf5v-rp47-55gg](https://github.com/gogs/gogs/security/advisories/GHSA-qf5v-rp47-55gg)
- _Security:_ Argument Injection in the built-in SSH server. [GHSA-vm62-9jw3-c8w3](https://github.com/gogs/gogs/security/advisories/GHSA-vm62-9jw3-c8w3)
- _Security:_ Deletion of internal files. [GHSA-ccqv-43vm-4f3w](https://github.com/gogs/gogs/security/advisories/GHSA-ccqv-43vm-4f3w)
- _Security:_ Argument Injection during changes preview. [GHSA-9pp6-wq8c-3w2c](https://github.com/gogs/gogs/security/advisories/GHSA-9pp6-wq8c-3w2c)
- _Security:_ Argument Injection when tagging new releases. [GHSA-m27m-h5gj-wwmg](https://github.com/gogs/gogs/security/advisories/GHSA-m27m-h5gj-wwmg)
- Use the non-deprecated section name `[email]` during installation for email settings. [#7704](https://github.com/gogs/gogs/pull/7704)
- Use the non-deprecated section name `[email] PASSWORD` during installation for email password. [#7807](https://github.com/gogs/gogs/pull/7807)
- Make purple template label color to actually use the hexcode of purple. [#7722](https://github.com/gogs/gogs/pull/7722)
## 0.13.0
### Added ### Added
@@ -28,12 +120,10 @@ All notable changes to Gogs are documented in this file.
### Fixed ### Fixed
- _Security:_ Stored XSS for issue assignees. [#7145](https://github.com/gogs/gogs/issues/7145)
- _Security:_ OS Command Injection in repo editor on case-insensitive file systems. [#7030](https://github.com/gogs/gogs/issues/7030)
- Unable to use LDAP authentication on ARM machines. [#6761](https://github.com/gogs/gogs/issues/6761) - Unable to use LDAP authentication on ARM machines. [#6761](https://github.com/gogs/gogs/issues/6761)
- Unable to choose "Lookup Avatar by mail" in user settings without deleting custom avatar. [#7267](https://github.com/gogs/gogs/pull/7267) - Unable to choose "Lookup Avatar by mail" in user settings without deleting custom avatar. [#7267](https://github.com/gogs/gogs/pull/7267)
- Mistakenly include the "data" directory under the custom directory in the Docker setup. [#7343](https://github.com/gogs/gogs/pull/7343) - Mistakenly include the "data" directory under the custom directory in the Docker setup. [#7343](https://github.com/gogs/gogs/pull/7343)
- Unable to render repository pages with implicit submodules (e.g. `get submodule "REDACTED": revision does not exist`). [#6436](https://github.com/gogs/gogs/issues/6436) - Unable to start after data recovery with an outdated migration version. [#7125](https://github.com/gogs/gogs/issues/7125)
### Removed ### Removed
@@ -55,6 +145,14 @@ All notable changes to Gogs are documented in this file.
- Configuration option `[database] PASSWD` is no longer used, please use `[database] PASSWORD`. - Configuration option `[database] PASSWD` is no longer used, please use `[database] PASSWORD`.
- Remove option to use Makefile as the build tool. [#6980](https://github.com/gogs/gogs/pull/6980) - Remove option to use Makefile as the build tool. [#6980](https://github.com/gogs/gogs/pull/6980)
## 0.12.11
### Fixed
- _Security:_ Stored XSS for issue assignees. [#7145](https://github.com/gogs/gogs/issues/7145)
- _Security:_ OS Command Injection in repo editor on case-insensitive file systems. [#7030](https://github.com/gogs/gogs/issues/7030)
- Unable to render repository pages with implicit submodules (e.g. `get submodule "REDACTED": revision does not exist`). [#6436](https://github.com/gogs/gogs/issues/6436)
## 0.12.10 ## 0.12.10
### Changed ### Changed

1
CLAUDE.md Symbolic link
View File

@@ -0,0 +1 @@
AGENTS.md

2
CODEOWNERS Normal file
View File

@@ -0,0 +1,2 @@
# Default
* @gogs/core

View File

@@ -1,4 +1,4 @@
FROM golang:alpine3.14 AS binarybuilder FROM golang:1.26-alpine3.23 AS binarybuilder
RUN apk --no-cache --no-progress add --virtual \ RUN apk --no-cache --no-progress add --virtual \
build-deps \ build-deps \
build-base \ build-base \
@@ -7,20 +7,12 @@ RUN apk --no-cache --no-progress add --virtual \
WORKDIR /gogs.io/gogs WORKDIR /gogs.io/gogs
COPY . . COPY . .
RUN make build TAGS="cert pam"
FROM alpine:3.14 RUN ./docker/build/install-task.sh
RUN if [ `uname -m` == "aarch64" ] ; then \ RUN TAGS="cert pam" task build
export arch="arm64" ; \
elif [ `uname -m` == "armv7l" ] ; then \ FROM alpine:3.23
export arch="armhf"; \ RUN apk --no-cache --no-progress add \
else \
export arch="amd64" ; \
fi \
&& wget https://github.com/tianon/gosu/releases/download/1.11/gosu-$arch -O /usr/sbin/gosu \
&& chmod +x /usr/sbin/gosu \
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
&& apk --no-cache --no-progress add \
bash \ bash \
ca-certificates \ ca-certificates \
curl \ curl \
@@ -31,21 +23,23 @@ RUN if [ `uname -m` == "aarch64" ] ; then \
shadow \ shadow \
socat \ socat \
tzdata \ tzdata \
rsync rsync \
"zlib>1.3.2"
ENV GOGS_CUSTOM /data/gogs ENV GOGS_CUSTOM=/data/gogs
# Configure LibC Name Service # Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf COPY docker/nsswitch.conf /etc/nsswitch.conf
WORKDIR /app/gogs WORKDIR /app/gogs
COPY docker ./docker COPY docker ./docker
COPY --from=binarybuilder /gogs.io/gogs/gogs . COPY --from=binarybuilder /gogs.io/gogs/.bin/gogs .
RUN ./docker/finalize.sh RUN ./docker/build/finalize.sh
# Configure Docker Container # Configure Docker Container
VOLUME ["/data", "/backup"] VOLUME ["/data", "/backup"]
EXPOSE 22 3000 EXPOSE 22 3000
HEALTHCHECK CMD (curl --noproxy localhost -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
ENTRYPOINT ["/app/gogs/docker/start.sh"] ENTRYPOINT ["/app/gogs/docker/start.sh"]
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"] CMD ["/usr/bin/s6-svscan", "/app/gogs/docker/s6/"]

51
Dockerfile.next Normal file
View File

@@ -0,0 +1,51 @@
FROM golang:1.26-alpine3.23 AS binarybuilder
RUN apk --no-cache --no-progress add --virtual \
build-deps \
build-base \
git \
linux-pam-dev
WORKDIR /gogs.io/gogs
COPY . .
RUN ./docker/build/install-task.sh
RUN TAGS="cert pam" task build
FROM alpine:3.23
# Create git user and group with fixed UID/GID at build time for better K8s security context support.
# Using 1000:1000 as it's a common non-root UID/GID that works well with most volume permission setups.
ARG GOGS_UID=1000
ARG GOGS_GID=1000
RUN addgroup -g ${GOGS_GID} -S git && \
adduser -u ${GOGS_UID} -G git -H -D -g 'Gogs Git User' -h /data/git -s /bin/sh git
RUN apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh-keygen \
"zlib>1.3.2"
ENV GOGS_CUSTOM=/data/gogs
WORKDIR /app/gogs
COPY --from=binarybuilder /gogs.io/gogs/.bin/gogs .
COPY docker-next/start.sh .
RUN chmod +x start.sh && \
mkdir -p /data && \
ln -s /data/git /home/git && \
chown -R git:git /app/gogs /data
# Configure Docker Container
VOLUME ["/data", "/backup"]
EXPOSE 22 3000
HEALTHCHECK CMD (curl --noproxy localhost -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
# Run as non-root user by default for better K8s security context support.
USER git:git
ENTRYPOINT ["/app/gogs/start.sh"]
CMD ["/app/gogs/gogs", "web"]

View File

@@ -1,64 +0,0 @@
LDFLAGS += -X "gogs.io/gogs/internal/conf.BuildTime=$(shell date -u '+%Y-%m-%d %I:%M:%S %Z')"
LDFLAGS += -X "gogs.io/gogs/internal/conf.BuildCommit=$(shell git rev-parse HEAD)"
CONF_FILES := $(shell find conf | sed 's/ /\\ /g')
TEMPLATES_FILES := $(shell find templates | sed 's/ /\\ /g')
PUBLIC_FILES := $(shell find public | sed 's/ /\\ /g')
LESS_FILES := $(wildcard public/less/*.less)
TAGS = ""
BUILD_FLAGS = "-v"
RELEASE_ROOT = "release"
RELEASE_GOGS = "release/gogs"
NOW = $(shell date -u '+%Y%m%d%I%M%S')
.PHONY: check dist build build-no-gen pack release generate less clean test fixme todo legacy
.IGNORE: public/css/gogs.css
all: build
check: test
dist: release
web: build
./gogs web
build:
go build $(BUILD_FLAGS) -ldflags '$(LDFLAGS)' -tags '$(TAGS)' -trimpath -o gogs
pack:
rm -rf $(RELEASE_GOGS)
mkdir -p $(RELEASE_GOGS)
cp -r gogs LICENSE README.md README_ZH.md scripts $(RELEASE_GOGS)
cd $(RELEASE_ROOT) && zip -r gogs.$(NOW).zip "gogs"
release: build pack
generate: clean
go generate internal/assets/conf/conf.go
go generate internal/assets/templates/templates.go
go generate internal/assets/public/public.go
less: clean public/css/gogs.min.css
public/css/gogs.min.css: $(LESS_FILES)
@type lessc >/dev/null 2>&1 && lessc --clean-css --source-map "public/less/gogs.less" $@ || echo "lessc command not found or failed"
clean:
find . -name "*.DS_Store" -type f -delete
test:
go test -cover -race ./...
fixme:
grep -rnw "FIXME" internal
todo:
grep -rnw "TODO" internal
# Legacy code should be removed by the time of release
legacy:
grep -rnw "\(LEGACY\|Deprecated\)" internal

View File

@@ -1,24 +1,22 @@
# <img src="https://github.com/gogs/gogs/raw/master/public/img/favicon.png" width="45" align="left">Gogs - A painless self-hosted Git service ![gogs-brand](https://user-images.githubusercontent.com/2946214/146899259-6a8b58ad-8d6e-40d2-ab02-79dc6aadabbf.png)
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/gogs/gogs/Go?logo=github&style=for-the-badge)](https://github.com/gogs/gogs/actions?query=workflow%3AGo) [![Discord](https://img.shields.io/discord/382595433060499458.svg?style=for-the-badge&logo=discord)](https://discord.gg/9aqdHU7) [![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg?style=for-the-badge&logo=sourcegraph)](https://sourcegraph.com/github.com/gogs/gogs) [![GitHub Workflow Status](https://img.shields.io/github/checks-status/gogs/gogs/main?logo=github&style=for-the-badge)](https://github.com/gogs/gogs/actions?query=branch%3Amain) [![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg?style=for-the-badge&logo=sourcegraph)](https://sourcegraph.com/github.com/gogs/gogs)
![Repository](https://gogs.io/img/screenshots/2.png) 👉 Deploy on DigitalOcean and [get $200 in free credits](https://m.do.co/c/5aeb02268b55)!
[简体中文](README_ZH.md)
## 🔮 Vision ## 🔮 Vision
The Gogs (`/gɑgz/`) project aims to build a simple, stable and extensible self-hosted Git service that can be setup in the most painless way. With Go, this can be done with an independent binary distribution across **ALL platforms** that Go supports, including Linux, macOS, Windows and ARM. The Gogs (`/gɑgz/`) project aims to build a simple, stable and extensible self-hosted Git service that can be set up in the most painless way. With Go, this can be done with an independent binary distribution across all platforms that Go supports, including Linux, macOS, Windows and ARM-based systems.
## 📡 Overview ## 📡 Overview
- Please visit [our home page](https://gogs.io) for user documentation. - Please visit [our home page](https://gogs.io) for user documentation.
- Please refer to [CHANGELOG.md](CHANGELOG.md) for list of changes in each releases. - Please refer to [CHANGELOG.md](CHANGELOG.md) for list of changes in each releases.
- Want to try it before doing anything else? Do it [online](https://try.gogs.io/gogs/gogs)! - Want to try it before doing anything else? Do it [online](https://try.gogs.io/gogs/gogs)!
- Having trouble? Help yourself with [troubleshooting](https://gogs.io/docs/intro/troubleshooting.html) or ask questions on [user forum](https://discuss.gogs.io/). - Having trouble? Help yourself with [troubleshooting](https://gogs.io/asking/troubleshooting) or ask questions in [Discussions](https://github.com/gogs/gogs/discussions).
- Want to help with localization? Check out the [localization documentation](https://gogs.io/docs/features/i18n.html). - Want to help with localization? Check out the [localization documentation](https://gogs.io/advancing/localization).
- Ready to get hands dirty? Read our guide to [set up your development environment](docs/dev/local_development.md). - Ready to get hands dirty? Read our [contributing guide](.github/CONTRIBUTING.md).
- Hmm... What about APIs? We have experimental support with [documentation](https://github.com/gogs/docs-api). - Hmm... What about APIs? We have experimental support with [documentation](https://gogs.io/api-reference).
## 💌 Features ## 💌 Features
@@ -33,12 +31,12 @@ The Gogs (`/gɑgz/`) project aims to build a simple, stable and extensible self-
- Jupyter Notebook and PDF rendering. - Jupyter Notebook and PDF rendering.
- Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA. - Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA.
- Customize HTML templates, static files and many others. - Customize HTML templates, static files and many others.
- Rich database backend, including PostgreSQL, MySQL, SQLite3 and [TiDB](https://github.com/pingcap/tidb). - Rich database backend support, including PostgreSQL, MySQL, SQLite3 or any database backend that speaks one of those protocols.
- Have localization over [30 languages](https://crowdin.com/project/gogs). - Have localization over [31 languages](https://crowdin.com/project/gogs).
## 💾 Hardware requirements ## 💾 Hardware requirements
- A Raspberry Pi or $5 Digital Ocean Droplet is more than enough to get you started. Some even use 64MB RAM Docker [CaaS](https://blog.docker.com/2016/02/containers-as-a-service-caas/). - A Raspberry Pi or $5 Digital Ocean Droplet is more than enough to get you started. Some even use 64MB RAM Docker [CaaS](https://www.docker.com/blog/containers-as-a-service-caas/).
- 2 CPU cores and 512MB RAM would be the baseline for teamwork. - 2 CPU cores and 512MB RAM would be the baseline for teamwork.
- Increase CPU cores when your team size gets significantly larger, memory footprint remains low. - Increase CPU cores when your team size gets significantly larger, memory footprint remains low.
@@ -49,57 +47,47 @@ The Gogs (`/gɑgz/`) project aims to build a simple, stable and extensible self-
## 📜 Installation ## 📜 Installation
Make sure you install the [prerequisites](https://gogs.io/docs/installation) first. Please follow [the guide in our documentation](https://gogs.io/getting-started/installation).
There are 6 ways to install Gogs:
- [Install from binary](https://gogs.io/docs/installation/install_from_binary.html)
- [Install from source](https://gogs.io/docs/installation/install_from_source.html)
- [Install from packages](https://gogs.io/docs/installation/install_from_packages.html)
- [Ship with Docker](https://github.com/gogs/gogs/tree/master/docker)
- [Install with Vagrant](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
- [Install with Kubernetes Using Helm Charts](https://github.com/helm/charts/tree/master/incubator/gogs)
### Deploy to cloud ### Deploy to cloud
- [Cloudron](https://cloudron.io/appstore.html#io.gogs.cloudronapp) - [Cloudron](https://www.cloudron.io/store/io.gogs.cloudronapp.html)
- [Scaleway](https://www.scaleway.com/imagehub/gogs/)
- [Sandstorm](https://github.com/cem/gogs-sandstorm)
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
- [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh) - [YunoHost](https://github.com/YunoHost-Apps/gogs_ynh)
- [DPlatform](https://github.com/j8r/DPlatform) - [alwaysdata](https://www.alwaysdata.com/en/marketplace/gogs/)
- [LunaNode](https://github.com/LunaNode/launchgogs)
### Tutorials ### Tutorials
- [Private Git Web Portal in Raspberry PI With Gogs](https://peppe8o.com/private-git-web-portal-in-raspberry-pi-with-gogs/)
- [How To Set Up Gogs on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-set-up-gogs-on-ubuntu-14-04) - [How To Set Up Gogs on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-set-up-gogs-on-ubuntu-14-04)
- [Run your own GitHub-like service with the help of Docker](http://blog.hypriot.com/post/run-your-own-github-like-service-with-docker/) - [Run your own GitHub-like service with the help of Docker](https://blog.hypriot.com/post/run-your-own-github-like-service-with-docker/)
- [Dockerized Gogs git server and alpine postgres in 20 minutes or less](http://garthwaite.org/docker-gogs.html) - [Dockerized Gogs git server and alpine postgres in 20 minutes or less](https://garthwaite.org/docker-gogs.html)
- [Host Your Own Private GitHub with Gogs](https://eladnava.com/host-your-own-private-github-with-gogs-io/) - [Host Your Own Private GitHub with Gogs](https://eladnava.com/host-your-own-private-github-with-gogs-io/)
- [使用 Gogs 搭建自己的 Git 服务器](https://blog.mynook.info/post/host-your-own-git-server-using-gogs/) (Chinese) - [使用 Gogs 搭建自己的 Git 服务器](https://blog.mynook.info/post/host-your-own-git-server-using-gogs/) (Chinese)
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](http://my.oschina.net/luyao/blog/375654) (Chinese) - [阿里云上 Ubuntu 14.04 64 位安装 Gogs](https://my.oschina.net/luyao/blog/375654) (Chinese)
- [Installing Gogs on FreeBSD](https://www.codejam.info/2015/03/installing-gogs-on-freebsd.html) - [Installing Gogs on FreeBSD](https://www.codejam.info/2015/03/installing-gogs-on-freebsd.html)
- [Cloudflare Full SSL with Gogs using NGINX](http://www.listekconsulting.com/articles/cloudflare-full-ssl-with-gogs-go-git-service-using-nginx/)
- [How to install Gogs on a Linux Server (DigitalOcean)](https://www.youtube.com/watch?v=deSfX0gqefE) - [How to install Gogs on a Linux Server (DigitalOcean)](https://www.youtube.com/watch?v=deSfX0gqefE)
## 📦 Software, service and product support ## 📦 Software, service and product support
- [Fabric8](http://fabric8.io/) (DevOps)
- [Jenkins](https://plugins.jenkins.io/gogs-webhook/) (CI) - [Jenkins](https://plugins.jenkins.io/gogs-webhook/) (CI)
- [Taiga](https://taiga.io/) (Project Management) - [Puppet](https://forge.puppet.com/modules/Siteminds/gogs) (IT)
- [Puppet](https://forge.puppet.com/Siteminds/gogs) (IT)
- [Kanboard](https://github.com/kanboard/plugin-gogs-webhook) (Project Management)
- [BearyChat](https://bearychat.com/) (Team Communication)
- [GitPitch](https://gitpitch.com/) (Markdown Presentations)
- [Synology](https://www.synology.com) (Docker) - [Synology](https://www.synology.com) (Docker)
- [Syncloud](https://syncloud.org/) (App Store) - [Syncloud](https://syncloud.org/) (App Store)
## 🙇‍♂️ Acknowledgments ## 🙇‍♂️ Acknowledgments
<p>This project is proudly supported by:</p>
<p>
<a href="https://m.do.co/c/5aeb02268b55">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px">
</a>
</p>
Other acknowledgments:
- Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing the original version of the logo. - Thanks [Egon Elbre](https://twitter.com/egonelbre) for designing the original version of the logo.
- Thanks [Crowdin](https://crowdin.com/project/gogs) for sponsoring open source translation plan. - Thanks [Mintlify](https://mintlify.com) for sponsoring open source documentation plan.
- Thanks [DigitalOcean](https://www.digitalocean.com), [VPSServer](https://www.vpsserver.com/), [Hosted.nl](https://www.hosted.nl/) and [BitLaunch](https://bitlaunch.io) for sponsoring VPS services. - Thanks [Crowdin](https://crowdin.com) for sponsoring open source translation plan.
- Thanks [KeyCDN](https://www.keycdn.com/) for sponsoring CDN service.
- Thanks [Buildkite](https://buildkite.com) for sponsoring open source CI/CD plan. - Thanks [Buildkite](https://buildkite.com) for sponsoring open source CI/CD plan.
## 👋 Contributors ## 👋 Contributors
@@ -107,6 +95,6 @@ There are 6 ways to install Gogs:
- See [contributors page](https://github.com/gogs/gogs/graphs/contributors) for top 100 contributors. - See [contributors page](https://github.com/gogs/gogs/graphs/contributors) for top 100 contributors.
- See [TRANSLATORS](conf/locale/TRANSLATORS) for public list of translators. - See [TRANSLATORS](conf/locale/TRANSLATORS) for public list of translators.
## License ## ⚖️ License
This project is under the MIT License. See the [LICENSE](https://github.com/gogs/gogs/blob/master/LICENSE) file for the full license text. This project is under the MIT License. See the [LICENSE](https://github.com/gogs/gogs/blob/main/LICENSE) file for the full license text.

View File

@@ -1,103 +0,0 @@
# Gogs
Gogs 是一款极易搭建的自助 Git 服务。
## 项目愿景
Gogs`/gɑgz/`)项目旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、macOS、Windows 以及 ARM 平台。
## 概览
- 请移步[官网](https://gogs.io)查看用户使用文档
- 请通过 [CHANGELOG.md](CHANGELOG.md) 文件查看各个版本的变更历史
- 想要先睹为快?直接去[在线体验](https://try.gogs.io/gogs/gogs)吧!
- 使用过程中遇到问题?尝试[故障排查](https://gogs.io/docs/intro/troubleshooting.html)或者前往[用户论坛](https://discuss.gogs.io/)获取帮助
- 希望帮助多国语言的翻译吗?请查看[本地化文档](https://gogs.io/docs/features/i18n.html)
- 准备搞点事情?请阅读[开发指南](docs/local_development.md)配置开发环境
- 想调用 API 吗?请查看[文档](https://github.com/gogs/docs-api)吧
## 主要特性
- 控制面板、用户页面以及活动时间线
- 通过 SSH、HTTP 和 HTTPS 协议操作仓库
- 管理用户、组织和仓库
- 仓库和组织级 Webhook包括 Slack、Discord 和钉钉
- 仓库 Git 钩子、部署密钥和 Git LFS
- 仓库工单Issue、合并请求Pull Request、Wiki、保护分支和多人协作
- 从其它代码平台迁移和镜像仓库以及 Wiki
- 在线编辑仓库文件和 Wiki
- Jupyter Notebook 和 PDF 的渲染
- 通过 SMTP、LDAP、反向代理、GitHub.com 和 GitHub 企业版进行用户认证
- 开启两步验证2FA登录
- 自定义 HTML 模板、静态文件和许多其它组件
- 多样的数据库后端,包括 PostgreSQL、MySQL、SQLite3 和 [TiDB](https://github.com/pingcap/tidb)
- 超过[30 种语言](https://crowdin.com/project/gogs)的本地化
## 硬件要求
- 最低的系统硬件要求为一个廉价的树莓派
- 如果用于团队项目管理,建议使用 2 核 CPU 及 512MB 内存
- 当团队成员大量增加时,可以考虑添加 CPU 核数,内存占用保持不变
## 浏览器支持
- 请根据 [Semantic UI](https://github.com/Semantic-Org/Semantic-UI#browser-support) 查看具体支持的浏览器版本。
- 官方支持的最小 UI 尺寸为 **1024*768**UI 不一定会在更小尺寸的设备上被破坏,但我们无法保证且不会修复。
## 安装部署
在安装 Gogs 之前,您需要先安装 [基本环境](https://gogs.io/docs/installation)。
然后,您可以通过以下 6 种方式来安装 Gogs
- [二进制安装](https://gogs.io/docs/installation/install_from_binary.html)
- [源码安装](https://gogs.io/docs/installation/install_from_source.html)
- [包管理安装](https://gogs.io/docs/installation/install_from_packages.html)
- [采用 Docker 部署](https://github.com/gogs/gogs/tree/master/docker)
- [通过 Vagrant 安装](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
- [通过基于 Kubernetes 的 Helm Charts](https://github.com/helm/charts/tree/master/incubator/gogs)
### 云端部署
- [OpenShift](https://github.com/tkisme/gogs-openshift)
- [Cloudron](https://cloudron.io/appstore.html#io.gogs.cloudronapp)
- [Scaleway](https://www.scaleway.com/imagehub/gogs/)
- [Sandstorm](https://github.com/cem/gogs-sandstorm)
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
- [YunoHost](https://github.com/mbugeia/gogs_ynh)
- [DPlatform](https://github.com/j8r/DPlatform)
- [LunaNode](https://github.com/LunaNode/launchgogs)
### 使用教程
- [使用 Gogs 搭建自己的 Git 服务器](https://blog.mynook.info/post/host-your-own-git-server-using-gogs/)
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](http://my.oschina.net/luyao/blog/375654)
## 软件、服务以及产品支持
- [Fabric8](http://fabric8.io/)DevOps
- [Jenkins](https://plugins.jenkins.io/gogs-webhook/)CI
- [Taiga](https://taiga.io/)(项目管理)
- [Puppet](https://forge.puppet.com/Siteminds/gogs)IT
- [Kanboard](https://github.com/kanboard/plugin-gogs-webhook)(项目管理)
- [BearyChat](https://bearychat.com/)(团队交流)
- [GitPitch](https://gitpitch.com/)Markdown 演示)
- [Synology](https://www.synology.com)Docker
- [Syncloud](https://syncloud.org/)(应用商店)
## 特别鸣谢
- 感谢 [Egon Elbre](https://twitter.com/egonelbre) 设计的 Logo。
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。
- 感谢 [DigitalOcean](https://www.digitalocean.com)、[VPSServer](https://www.vpsserver.com/)、[Hosted.nl](https://www.hosted.nl/)、[MonoVM](https://monovm.com) 和 [BitLaunch](https://bitlaunch.io) 提供服务器赞助。
- 感谢 [KeyCDN](https://www.keycdn.com/) 提供 CDN 服务赞助。
- 感谢 [Buildkite](https://buildkite.com) 提供免费的开源项目 CI/CD 支持。
## 贡献成员
- 您可以通过查看 [贡献者页面](https://github.com/gogs/gogs/graphs/contributors) 获取 TOP 100 的贡献者列表。
- 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取公开的翻译人员列表。
## 授权许可
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/gogs/gogs/blob/master/LICENSE) 文件中。

View File

@@ -2,10 +2,26 @@
## Supported versions ## Supported versions
Only lastest two minor version releases are supported for patching security fixes. Only the latest minor version releases are supported (e.g., 0.14) for patching vulnerabilities. You can find the latest minor version in the [GitHub releases](https://github.com/gogs/gogs/releases) page.
## Reporting a vulnerability Existing vulnerability reports are being tracked in [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories). Not all accepted GHSA are published.
Please send report privately to [security@gogs.io](mailto:security@gogs.io), and include how would you like to be credited. ## Vulnerability lifecycle
Thank you! > [!important]
> Starting **Nov 9, 2023 00:00 UTC**, only security vulnerabilities reported through [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories/new) are accepted.
> Pre-existing vulnerability reported through https://huntr.dev/ or email (`security@gogs.io`) will continue to be worked through.
1. Report an advisory for the vulnerability.
- Please be aware that **only advisories reported in plain English** will be reviewed.
- We DO NOT accept vulnerabilities cannot be reproduced on the latest `main` commit.
1. Project maintainers review the advisory:
- Ask clarifying questions
- Make sure there was no prior advisory exists for the same vulnerability
- Confirm or deny the vulnerability
1. Once the advisory is accepted, the reporter may submit a patch or wait for project maintainers to patch.
- The latter is usually significantly slower.
1. Patch releases will be made for the supported versions.
1. After 14 days of the release, publish the corresponding advisory on [GitHub Security Advisories](https://github.com/gogs/gogs/security/advisories).
Thank you for making open source community a better place!

View File

@@ -5,22 +5,24 @@ vars:
sh: echo '{{if eq OS "windows"}}.exe{{end}}' sh: echo '{{if eq OS "windows"}}.exe{{end}}'
tasks: tasks:
default:
deps: [build]
web: web:
desc: Build the binary and start the web server. desc: Build the binary and start the web server
deps: [build] deps: [build]
cmds: cmds:
- ./gogs web - .bin/gogs web
build: build:
desc: Build the binary. desc: Build the binary
cmds: cmds:
- go build -v - go build -v
-ldflags ' -ldflags '
-X "{{.PKG_PATH}}.BuildTime={{.BUILD_TIME}}" -X "{{.PKG_PATH}}.BuildTime={{.BUILD_TIME}}"
-X "{{.PKG_PATH}}.BuildCommit={{.BUILD_COMMIT}}" -X "{{.PKG_PATH}}.BuildCommit={{.BUILD_COMMIT}}"
' '
-tags '{{.TAGS}}' -tags '{{.TAGS}}'
-trimpath -o gogs{{.BINARY_EXT}} -trimpath -o .bin/gogs{{.BINARY_EXT}} ./cmd/gogs
vars: vars:
PKG_PATH: gogs.io/gogs/internal/conf PKG_PATH: gogs.io/gogs/internal/conf
BUILD_TIME: BUILD_TIME:
@@ -28,25 +30,24 @@ tasks:
BUILD_COMMIT: BUILD_COMMIT:
sh: git rev-parse HEAD sh: git rev-parse HEAD
sources: sources:
- gogs.go - go.mod
- cmd/gogs/*.go
- internal/**/*.go - internal/**/*.go
- conf/**/*
generate-bindata: - public/**/*
desc: Generate bindata for all assets. - templates/**/*
deps: [clean] - custom/**/*
cmds: method: timestamp
- go generate internal/assets/conf/conf.go
- go generate internal/assets/templates/templates.go
- go generate internal/assets/public/public.go
generate-schemadoc: generate-schemadoc:
desc: Generate database schema documentation. desc: Generate database schema documentation
cmds: cmds:
- go generate ./internal/db/schemadoc - go generate ./internal/database/schemadoc
generate: generate:
desc: Run all go:generate commands. desc: Run all go:generate commands
deps: [generate-bindata, generate-schemadoc] cmds:
- go generate ./...
test: test:
desc: Run all tests. desc: Run all tests.
@@ -54,38 +55,45 @@ tasks:
- go test -cover -race ./... - go test -cover -race ./...
clean: clean:
desc: Cleans up system meta files for code generation. desc: Cleans up system meta files
cmds: cmds:
- find . -name "*.DS_Store" -type f -delete - find . -name "*.DS_Store" -type f -delete
release:
desc: Build the binary and pack resources to a ZIP file.
deps: [build]
cmds:
- rm -rf {{.RELEASE_GOGS}}
- mkdir -p {{.RELEASE_GOGS}}
- cp -r gogs{{.BINARY_EXT}} LICENSE README.md README_ZH.md scripts {{.RELEASE_GOGS}}
- cd {{.RELEASE_ROOT}} && zip -r gogs.$(NOW).zip "gogs"
vars:
RELEASE_ROOT: release
RELEASE_GOGS: release/gogs
less: less:
desc: Generate CSS from LESS files. desc: Generate CSS from LESS files
cmds: cmds:
- lessc --clean-css --source-map "public/less/gogs.less" public/css/gogs.min.css - lessc --clean-css --source-map "public/less/gogs.less" public/css/gogs.min.css
fixme: fixme:
desc: Show all occurrences of "FIXME". desc: Show all occurrences of "FIXME"
cmds: cmds:
- grep -rnw "FIXME" internal - grep -rnw "FIXME" internal
todo: todo:
desc: Show all occurrences of "TODO". desc: Show all occurrences of "TODO"
cmds: cmds:
- grep -rnw "TODO" internal - grep -rnw "TODO" internal
legacy: legacy:
desc: Identify legacy and deprecated lines. desc: Identify legacy and deprecated lines
cmds: cmds:
- grep -rnw "\(LEGACY\|Deprecated\)" internal - grep -rnw "\(LEGACY\|Deprecated\)" internal
drop-test-db:
desc: Drop the test database
cmds:
- |
for dbname in $(psql -Xc "copy (select datname from pg_database where datname like 'gogs-%') to stdout"); do
dropdb "$dbname"
echo "dropped $dbname"
done
lint:
desc: Run all linters
cmds:
- golangci-lint run
docs:
desc: Start docs server
cmds:
- cd docs && mint dev --port 3333

View File

@@ -1,36 +1,33 @@
// Copyright 2016 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context"
"fmt" "fmt"
"reflect" "reflect"
"runtime" "runtime"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/urfave/cli" "github.com/urfave/cli/v3"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
) )
var ( var (
Admin = cli.Command{ adminCommand = cli.Command{
Name: "admin", Name: "admin",
Usage: "Perform admin operations on command line", Usage: "Perform admin operations on command line",
Description: `Allow using internal logic of Gogs without hacking into the source code Description: `Allow using internal logic of Gogs without hacking into the source code
to make automatic initialization process more smoothly`, to make automatic initialization process more smoothly`,
Subcommands: []cli.Command{ Commands: []*cli.Command{
subcmdCreateUser, &subcmdCreateUser,
subcmdDeleteInactivateUsers, &subcmdDeleteInactivateUsers,
subcmdDeleteRepositoryArchives, &subcmdDeleteRepositoryArchives,
subcmdDeleteMissingRepositories, &subcmdDeleteMissingRepositories,
subcmdGitGcRepos, &subcmdGitGcRepos,
subcmdRewriteAuthorizedKeys, &subcmdRewriteAuthorizedKeys,
subcmdSyncRepositoryHooks, &subcmdSyncRepositoryHooks,
subcmdReinitMissingRepositories, &subcmdReinitMissingRepositories,
}, },
} }
@@ -51,8 +48,8 @@ to make automatic initialization process more smoothly`,
Name: "delete-inactive-users", Name: "delete-inactive-users",
Usage: "Delete all inactive accounts", Usage: "Delete all inactive accounts",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.DeleteInactivateUsers, func() error { return database.Handle.Users().DeleteInactivated() },
"All inactivate accounts have been deleted successfully", "All inactivated accounts have been deleted successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
stringFlag("config, c", "", "Custom configuration file path"), stringFlag("config, c", "", "Custom configuration file path"),
@@ -63,7 +60,7 @@ to make automatic initialization process more smoothly`,
Name: "delete-repository-archives", Name: "delete-repository-archives",
Usage: "Delete all repositories archives", Usage: "Delete all repositories archives",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.DeleteRepositoryArchives, database.DeleteRepositoryArchives,
"All repositories archives have been deleted successfully", "All repositories archives have been deleted successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -75,7 +72,7 @@ to make automatic initialization process more smoothly`,
Name: "delete-missing-repositories", Name: "delete-missing-repositories",
Usage: "Delete all repository records that lost Git files", Usage: "Delete all repository records that lost Git files",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.DeleteMissingRepositories, database.DeleteMissingRepositories,
"All repositories archives have been deleted successfully", "All repositories archives have been deleted successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -87,7 +84,7 @@ to make automatic initialization process more smoothly`,
Name: "collect-garbage", Name: "collect-garbage",
Usage: "Do garbage collection on repositories", Usage: "Do garbage collection on repositories",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.GitGcRepos, database.GitGcRepos,
"All repositories have done garbage collection successfully", "All repositories have done garbage collection successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -99,7 +96,7 @@ to make automatic initialization process more smoothly`,
Name: "rewrite-authorized-keys", Name: "rewrite-authorized-keys",
Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)", Usage: "Rewrite '.ssh/authorized_keys' file (caution: non-Gogs keys will be lost)",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.RewriteAuthorizedKeys, database.RewriteAuthorizedKeys,
"All public keys have been rewritten successfully", "All public keys have been rewritten successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -111,7 +108,7 @@ to make automatic initialization process more smoothly`,
Name: "resync-hooks", Name: "resync-hooks",
Usage: "Resync pre-receive, update and post-receive hooks", Usage: "Resync pre-receive, update and post-receive hooks",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.SyncRepositoryHooks, database.SyncRepositoryHooks,
"All repositories' pre-receive, update and post-receive hooks have been resynced successfully", "All repositories' pre-receive, update and post-receive hooks have been resynced successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -123,7 +120,7 @@ to make automatic initialization process more smoothly`,
Name: "reinit-missing-repositories", Name: "reinit-missing-repositories",
Usage: "Reinitialize all repository records that lost Git files", Usage: "Reinitialize all repository records that lost Git files",
Action: adminDashboardOperation( Action: adminDashboardOperation(
db.ReinitMissingRepositories, database.ReinitMissingRepositories,
"All repository records that lost Git files have been reinitialized successfully", "All repository records that lost Git files have been reinitialized successfully",
), ),
Flags: []cli.Flag{ Flags: []cli.Flag{
@@ -132,54 +129,58 @@ to make automatic initialization process more smoothly`,
} }
) )
func runCreateUser(c *cli.Context) error { func runCreateUser(ctx context.Context, cmd *cli.Command) error {
if !c.IsSet("name") { if !cmd.IsSet("name") {
return errors.New("Username is not specified") return errors.New("Username is not specified")
} else if !c.IsSet("password") { } else if !cmd.IsSet("password") {
return errors.New("Password is not specified") return errors.New("Password is not specified")
} else if !c.IsSet("email") { } else if !cmd.IsSet("email") {
return errors.New("Email is not specified") return errors.New("Email is not specified")
} }
err := conf.Init(c.String("config")) err := conf.Init(configFromLineage(cmd))
if err != nil { if err != nil {
return errors.Wrap(err, "init configuration") return errors.Wrap(err, "init configuration")
} }
conf.InitLogging(true) conf.InitLogging(true)
if _, err = db.SetEngine(); err != nil { if _, err = database.SetEngine(); err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
if err := db.CreateUser(&db.User{ user, err := database.Handle.Users().Create(
Name: c.String("name"), ctx,
Email: c.String("email"), cmd.String("name"),
Passwd: c.String("password"), cmd.String("email"),
IsActive: true, database.CreateUserOptions{
IsAdmin: c.Bool("admin"), Password: cmd.String("password"),
}); err != nil { Activated: true,
return fmt.Errorf("CreateUser: %v", err) Admin: cmd.Bool("admin"),
},
)
if err != nil {
return errors.Wrap(err, "create user")
} }
fmt.Printf("New user '%s' has been successfully created!\n", c.String("name")) fmt.Printf("New user %q has been successfully created!\n", user.Name)
return nil return nil
} }
func adminDashboardOperation(operation func() error, successMessage string) func(*cli.Context) error { func adminDashboardOperation(operation func() error, successMessage string) func(context.Context, *cli.Command) error {
return func(c *cli.Context) error { return func(_ context.Context, cmd *cli.Command) error {
err := conf.Init(c.String("config")) err := conf.Init(configFromLineage(cmd))
if err != nil { if err != nil {
return errors.Wrap(err, "init configuration") return errors.Wrap(err, "init configuration")
} }
conf.InitLogging(true) conf.InitLogging(true)
if _, err = db.SetEngine(); err != nil { if _, err = database.SetEngine(); err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
if err := operation(); err != nil { if err := operation(); err != nil {
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name() functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
return fmt.Errorf("%s: %v", functionName, err) return errors.Newf("%s: %v", functionName, err)
} }
fmt.Printf("%s\n", successMessage) fmt.Printf("%s\n", successMessage)

View File

@@ -1,29 +1,26 @@
// Copyright 2017 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context"
"fmt" "fmt"
"io/ioutil"
"os" "os"
"path" "path"
"path/filepath" "path/filepath"
"strconv"
"time" "time"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/unknwon/cae/zip" "github.com/unknwon/cae/zip"
"github.com/unknwon/com" "github.com/urfave/cli/v3"
"github.com/urfave/cli"
"gopkg.in/ini.v1" "gopkg.in/ini.v1"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/osx"
) )
var Backup = cli.Command{ var backupCommand = cli.Command{
Name: "backup", Name: "backup",
Usage: "Backup files and database", Usage: "Backup files and database",
Description: `Backup dumps and compresses all related files and database into zip file, Description: `Backup dumps and compresses all related files and database into zip file,
@@ -42,28 +39,30 @@ portable among all supported database engines.`,
}, },
} }
const currentBackupFormatVersion = 1 const (
const archiveRootDir = "gogs-backup" currentBackupFormatVersion = 1
archiveRootDir = "gogs-backup"
)
func runBackup(c *cli.Context) error { func runBackup(ctx context.Context, cmd *cli.Command) error {
zip.Verbose = c.Bool("verbose") zip.Verbose = cmd.Bool("verbose")
err := conf.Init(c.String("config")) err := conf.Init(configFromLineage(cmd))
if err != nil { if err != nil {
return errors.Wrap(err, "init configuration") return errors.Wrap(err, "init configuration")
} }
conf.InitLogging(true) conf.InitLogging(true)
conn, err := db.SetEngine() conn, err := database.SetEngine()
if err != nil { if err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
tmpDir := c.String("tempdir") tmpDir := cmd.String("tempdir")
if !com.IsExist(tmpDir) { if !osx.Exist(tmpDir) {
log.Fatal("'--tempdir' does not exist: %s", tmpDir) log.Fatal("'--tempdir' does not exist: %s", tmpDir)
} }
rootDir, err := ioutil.TempDir(tmpDir, "gogs-backup-") rootDir, err := os.MkdirTemp(tmpDir, "gogs-backup-")
if err != nil { if err != nil {
log.Fatal("Failed to create backup root directory '%s': %v", rootDir, err) log.Fatal("Failed to create backup root directory '%s': %v", rootDir, err)
} }
@@ -72,14 +71,14 @@ func runBackup(c *cli.Context) error {
// Metadata // Metadata
metaFile := path.Join(rootDir, "metadata.ini") metaFile := path.Join(rootDir, "metadata.ini")
metadata := ini.Empty() metadata := ini.Empty()
metadata.Section("").Key("VERSION").SetValue(com.ToStr(currentBackupFormatVersion)) metadata.Section("").Key("VERSION").SetValue(strconv.Itoa(currentBackupFormatVersion))
metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String()) metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String())
metadata.Section("").Key("GOGS_VERSION").SetValue(conf.App.Version) metadata.Section("").Key("GOGS_VERSION").SetValue(conf.App.Version)
if err = metadata.SaveTo(metaFile); err != nil { if err = metadata.SaveTo(metaFile); err != nil {
log.Fatal("Failed to save metadata '%s': %v", metaFile, err) log.Fatal("Failed to save metadata '%s': %v", metaFile, err)
} }
archiveName := filepath.Join(c.String("target"), c.String("archive-name")) archiveName := filepath.Join(cmd.String("target"), cmd.String("archive-name"))
log.Info("Packing backup files to: %s", archiveName) log.Info("Packing backup files to: %s", archiveName)
z, err := zip.Create(archiveName) z, err := zip.Create(archiveName)
@@ -92,25 +91,24 @@ func runBackup(c *cli.Context) error {
// Database // Database
dbDir := filepath.Join(rootDir, "db") dbDir := filepath.Join(rootDir, "db")
if err = db.DumpDatabase(conn, dbDir, c.Bool("verbose")); err != nil { if err = database.DumpDatabase(ctx, conn, dbDir, cmd.Bool("verbose")); err != nil {
log.Fatal("Failed to dump database: %v", err) log.Fatal("Failed to dump database: %v", err)
} }
if err = z.AddDir(archiveRootDir+"/db", dbDir); err != nil { if err = z.AddDir(archiveRootDir+"/db", dbDir); err != nil {
log.Fatal("Failed to include 'db': %v", err) log.Fatal("Failed to include 'db': %v", err)
} }
// Custom files if !cmd.Bool("database-only") {
if !c.Bool("database-only") { // Custom files
if err = z.AddDir(archiveRootDir+"/custom", conf.CustomDir()); err != nil { err = addCustomDirToBackup(z)
log.Fatal("Failed to include 'custom': %v", err) if err != nil {
log.Fatal("Failed to add custom directory to backup: %v", err)
} }
}
// Data files // Data files
if !c.Bool("database-only") { for _, dir := range []string{"ssh", "attachments", "avatars", "repo-avatars"} {
for _, dir := range []string{"attachments", "avatars", "repo-avatars"} {
dirPath := filepath.Join(conf.Server.AppDataPath, dir) dirPath := filepath.Join(conf.Server.AppDataPath, dir)
if !com.IsDir(dirPath) { if !osx.IsDir(dirPath) {
continue continue
} }
@@ -121,11 +119,11 @@ func runBackup(c *cli.Context) error {
} }
// Repositories // Repositories
if !c.Bool("exclude-repos") && !c.Bool("database-only") { if !cmd.Bool("exclude-repos") && !cmd.Bool("database-only") {
reposDump := filepath.Join(rootDir, "repositories.zip") reposDump := filepath.Join(rootDir, "repositories.zip")
log.Info("Dumping repositories in %q", conf.Repository.Root) log.Info("Dumping repositories in %q", conf.Repository.Root)
if c.Bool("exclude-mirror-repos") { if cmd.Bool("exclude-mirror-repos") {
repos, err := db.GetNonMirrorRepositories() repos, err := database.GetNonMirrorRepositories()
if err != nil { if err != nil {
log.Fatal("Failed to get non-mirror repositories: %v", err) log.Fatal("Failed to get non-mirror repositories: %v", err)
} }
@@ -164,3 +162,33 @@ func runBackup(c *cli.Context) error {
log.Stop() log.Stop()
return nil return nil
} }
func addCustomDirToBackup(z *zip.ZipArchive) error {
customDir := conf.CustomDir()
entries, err := os.ReadDir(customDir)
if err != nil {
return errors.Wrap(err, "list custom directory entries")
}
for _, e := range entries {
if e.Name() == "data" {
// Skip the "data" directory because it lives under the "custom" directory in
// the Docker setup and will be backed up separately.
log.Trace(`Skipping "data" directory in custom directory`)
continue
}
add := z.AddFile
if e.IsDir() {
add = z.AddDir
}
err = add(
fmt.Sprintf("%s/custom/%s", archiveRootDir, e.Name()),
filepath.Join(customDir, e.Name()),
)
if err != nil {
return errors.Wrapf(err, "add %q", e.Name())
}
}
return nil
}

43
cmd/gogs/cmd.go Normal file
View File

@@ -0,0 +1,43 @@
package main
import (
"strings"
"github.com/urfave/cli/v3"
)
func stringFlag(name, value, usage string) *cli.StringFlag {
parts := strings.SplitN(name, ", ", 2)
f := &cli.StringFlag{
Name: parts[0],
Value: value,
Usage: usage,
}
if len(parts) > 1 {
f.Aliases = []string{parts[1]}
}
return f
}
// configFromLineage walks the command lineage to find the --config flag value.
// This is needed because subcommands may not directly see flags set on parent commands.
func configFromLineage(cmd *cli.Command) string {
for _, c := range cmd.Lineage() {
if c.IsSet("config") {
return c.String("config")
}
}
return ""
}
func boolFlag(name, usage string) *cli.BoolFlag {
parts := strings.SplitN(name, ", ", 2)
f := &cli.BoolFlag{
Name: parts[0],
Usage: usage,
}
if len(parts) > 1 {
f.Aliases = []string{parts[1]}
}
return f
}

View File

@@ -1,44 +1,42 @@
// Copyright 2014 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"bufio" "bufio"
"bytes" "bytes"
"context"
"crypto/tls" "crypto/tls"
"fmt" "fmt"
"net/url" "net/url"
"os" "os"
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"strconv"
"strings" "strings"
"github.com/unknwon/com" "github.com/urfave/cli/v3"
"github.com/urfave/cli"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"github.com/gogs/git-module" "github.com/gogs/git-module"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/email" "gogs.io/gogs/internal/email"
"gogs.io/gogs/internal/httplib" "gogs.io/gogs/internal/httplib"
"gogs.io/gogs/internal/osx"
) )
var ( var (
Hook = cli.Command{ hookCommand = cli.Command{
Name: "hook", Name: "hook",
Usage: "Delegate commands to corresponding Git hooks", Usage: "Delegate commands to corresponding Git hooks",
Description: "All sub-commands should only be called by Git", Description: "All sub-commands should only be called by Git",
Flags: []cli.Flag{ Flags: []cli.Flag{
stringFlag("config, c", "", "Custom configuration file path"), stringFlag("config, c", "", "Custom configuration file path"),
}, },
Subcommands: []cli.Command{ Commands: []*cli.Command{
subcmdHookPreReceive, &subcmdHookPreReceive,
subcmdHookUpadte, &subcmdHookUpadte,
subcmdHookPostReceive, &subcmdHookPostReceive,
}, },
} }
@@ -62,13 +60,13 @@ var (
} }
) )
func runHookPreReceive(c *cli.Context) error { func runHookPreReceive(_ context.Context, cmd *cli.Command) error {
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 { if os.Getenv("SSH_ORIGINAL_COMMAND") == "" {
return nil return nil
} }
setup(c, "pre-receive.log", true) setup(cmd, "pre-receive.log", true)
isWiki := strings.Contains(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/") isWiki := strings.Contains(os.Getenv(database.EnvRepoCustomHooksPath), ".wiki.git/")
buf := bytes.NewBuffer(nil) buf := bytes.NewBuffer(nil)
scanner := bufio.NewScanner(os.Stdin) scanner := bufio.NewScanner(os.Stdin)
@@ -89,10 +87,10 @@ func runHookPreReceive(c *cli.Context) error {
branchName := git.RefShortName(string(fields[2])) branchName := git.RefShortName(string(fields[2]))
// Branch protection // Branch protection
repoID := com.StrTo(os.Getenv(db.ENV_REPO_ID)).MustInt64() repoID, _ := strconv.ParseInt(os.Getenv(database.EnvRepoID), 10, 64)
protectBranch, err := db.GetProtectBranchOfRepoByName(repoID, branchName) protectBranch, err := database.GetProtectBranchOfRepoByName(repoID, branchName)
if err != nil { if err != nil {
if db.IsErrBranchNotExist(err) { if database.IsErrBranchNotExist(err) {
continue continue
} }
fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err) fail("Internal error", "GetProtectBranchOfRepoByName [repo_id: %d, branch: %s]: %v", repoID, branchName, err)
@@ -105,9 +103,9 @@ func runHookPreReceive(c *cli.Context) error {
bypassRequirePullRequest := false bypassRequirePullRequest := false
// Check if user is in whitelist when enabled // Check if user is in whitelist when enabled
userID := com.StrTo(os.Getenv(db.ENV_AUTH_USER_ID)).MustInt64() userID, _ := strconv.ParseInt(os.Getenv(database.EnvAuthUserID), 10, 64)
if protectBranch.EnableWhitelist { if protectBranch.EnableWhitelist {
if !db.IsUserInProtectBranchWhitelist(repoID, userID, branchName) { if !database.IsUserInProtectBranchWhitelist(repoID, userID, branchName) {
fail(fmt.Sprintf("Branch '%s' is protected and you are not in the push whitelist", branchName), "") fail(fmt.Sprintf("Branch '%s' is protected and you are not in the push whitelist", branchName), "")
} }
@@ -126,7 +124,7 @@ func runHookPreReceive(c *cli.Context) error {
// Check force push // Check force push
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID). output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
RunInDir(db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME))) RunInDir(database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName)))
if err != nil { if err != nil {
fail("Internal error", "Failed to detect force push: %v", err) fail("Internal error", "Failed to detect force push: %v", err)
} else if len(output) > 0 { } else if len(output) > 0 {
@@ -134,8 +132,8 @@ func runHookPreReceive(c *cli.Context) error {
} }
} }
customHooksPath := filepath.Join(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), "pre-receive") customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "pre-receive")
if !com.IsFile(customHooksPath) { if !osx.IsFile(customHooksPath) {
return nil return nil
} }
@@ -145,7 +143,7 @@ func runHookPreReceive(c *cli.Context) error {
} else { } else {
hookCmd = exec.Command(customHooksPath) hookCmd = exec.Command(customHooksPath)
} }
hookCmd.Dir = db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)) hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
hookCmd.Stdout = os.Stdout hookCmd.Stdout = os.Stdout
hookCmd.Stdin = buf hookCmd.Stdin = buf
hookCmd.Stderr = os.Stderr hookCmd.Stderr = os.Stderr
@@ -155,21 +153,21 @@ func runHookPreReceive(c *cli.Context) error {
return nil return nil
} }
func runHookUpdate(c *cli.Context) error { func runHookUpdate(_ context.Context, cmd *cli.Command) error {
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 { if os.Getenv("SSH_ORIGINAL_COMMAND") == "" {
return nil return nil
} }
setup(c, "update.log", false) setup(cmd, "update.log", false)
args := c.Args() args := cmd.Args().Slice()
if len(args) != 3 { if len(args) != 3 {
fail("Arguments received are not equal to three", "Arguments received are not equal to three") fail("Arguments received are not equal to three", "Arguments received are not equal to three")
} else if len(args[0]) == 0 { } else if args[0] == "" {
fail("First argument 'refName' is empty", "First argument 'refName' is empty") fail("First argument 'refName' is empty", "First argument 'refName' is empty")
} }
customHooksPath := filepath.Join(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), "update") customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "update")
if !com.IsFile(customHooksPath) { if !osx.IsFile(customHooksPath) {
return nil return nil
} }
@@ -179,7 +177,7 @@ func runHookUpdate(c *cli.Context) error {
} else { } else {
hookCmd = exec.Command(customHooksPath, args...) hookCmd = exec.Command(customHooksPath, args...)
} }
hookCmd.Dir = db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)) hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
hookCmd.Stdout = os.Stdout hookCmd.Stdout = os.Stdout
hookCmd.Stdin = os.Stdin hookCmd.Stdin = os.Stdin
hookCmd.Stderr = os.Stderr hookCmd.Stderr = os.Stderr
@@ -189,17 +187,17 @@ func runHookUpdate(c *cli.Context) error {
return nil return nil
} }
func runHookPostReceive(c *cli.Context) error { func runHookPostReceive(_ context.Context, cmd *cli.Command) error {
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 { if os.Getenv("SSH_ORIGINAL_COMMAND") == "" {
return nil return nil
} }
setup(c, "post-receive.log", true) setup(cmd, "post-receive.log", true)
// Post-receive hook does more than just gather Git information, // Post-receive hook does more than just gather Git information,
// so we need to setup additional services for email notifications. // so we need to setup additional services for email notifications.
email.NewContext() email.NewContext()
isWiki := strings.Contains(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), ".wiki.git/") isWiki := strings.Contains(os.Getenv(database.EnvRepoCustomHooksPath), ".wiki.git/")
buf := bytes.NewBuffer(nil) buf := bytes.NewBuffer(nil)
scanner := bufio.NewScanner(os.Stdin) scanner := bufio.NewScanner(os.Stdin)
@@ -217,24 +215,25 @@ func runHookPostReceive(c *cli.Context) error {
continue continue
} }
options := db.PushUpdateOptions{ pusherID, _ := strconv.ParseInt(os.Getenv(database.EnvAuthUserID), 10, 64)
options := database.PushUpdateOptions{
OldCommitID: string(fields[0]), OldCommitID: string(fields[0]),
NewCommitID: string(fields[1]), NewCommitID: string(fields[1]),
FullRefspec: string(fields[2]), FullRefspec: string(fields[2]),
PusherID: com.StrTo(os.Getenv(db.ENV_AUTH_USER_ID)).MustInt64(), PusherID: pusherID,
PusherName: os.Getenv(db.ENV_AUTH_USER_NAME), PusherName: os.Getenv(database.EnvAuthUserName),
RepoUserName: os.Getenv(db.ENV_REPO_OWNER_NAME), RepoUserName: os.Getenv(database.EnvRepoOwnerName),
RepoName: os.Getenv(db.ENV_REPO_NAME), RepoName: os.Getenv(database.EnvRepoName),
} }
if err := db.PushUpdate(options); err != nil { if err := database.PushUpdate(options); err != nil {
log.Error("PushUpdate: %v", err) log.Error("PushUpdate: %v", err)
} }
// Ask for running deliver hook and test pull request tasks // Ask for running deliver hook and test pull request tasks
q := make(url.Values) q := make(url.Values)
q.Add("branch", git.RefShortName(options.FullRefspec)) q.Add("branch", git.RefShortName(options.FullRefspec))
q.Add("secret", os.Getenv(db.ENV_REPO_OWNER_SALT_MD5)) q.Add("secret", os.Getenv(database.EnvRepoOwnerSaltMd5))
q.Add("pusher", os.Getenv(db.ENV_AUTH_USER_ID)) q.Add("pusher", os.Getenv(database.EnvAuthUserID))
reqURL := fmt.Sprintf("%s%s/%s/tasks/trigger?%s", conf.Server.LocalRootURL, options.RepoUserName, options.RepoName, q.Encode()) reqURL := fmt.Sprintf("%s%s/%s/tasks/trigger?%s", conf.Server.LocalRootURL, options.RepoUserName, options.RepoName, q.Encode())
log.Trace("Trigger task: %s", reqURL) log.Trace("Trigger task: %s", reqURL)
@@ -252,8 +251,8 @@ func runHookPostReceive(c *cli.Context) error {
} }
} }
customHooksPath := filepath.Join(os.Getenv(db.ENV_REPO_CUSTOM_HOOKS_PATH), "post-receive") customHooksPath := filepath.Join(os.Getenv(database.EnvRepoCustomHooksPath), "post-receive")
if !com.IsFile(customHooksPath) { if !osx.IsFile(customHooksPath) {
return nil return nil
} }
@@ -263,7 +262,7 @@ func runHookPostReceive(c *cli.Context) error {
} else { } else {
hookCmd = exec.Command(customHooksPath) hookCmd = exec.Command(customHooksPath)
} }
hookCmd.Dir = db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)) hookCmd.Dir = database.RepoPath(os.Getenv(database.EnvRepoOwnerName), os.Getenv(database.EnvRepoName))
hookCmd.Stdout = os.Stdout hookCmd.Stdout = os.Stdout
hookCmd.Stdin = buf hookCmd.Stdin = buf
hookCmd.Stderr = os.Stderr hookCmd.Stderr = os.Stderr

View File

@@ -1,32 +1,29 @@
// Copyright 2016 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"bufio" "bufio"
"bytes" "bytes"
"context"
"fmt" "fmt"
"os" "os"
"path/filepath" "path/filepath"
"time" "time"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/unknwon/com" "github.com/urfave/cli/v3"
"github.com/urfave/cli"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/osx"
) )
var ( var (
Import = cli.Command{ importCommand = cli.Command{
Name: "import", Name: "import",
Usage: "Import portable data as local Gogs data", Usage: "Import portable data as local Gogs data",
Description: `Allow user import data from other Gogs installations to local instance Description: `Allow user import data from other Gogs installations to local instance
without manually hacking the data files`, without manually hacking the data files`,
Subcommands: []cli.Command{ Commands: []*cli.Command{
subcmdImportLocale, &subcmdImportLocale,
}, },
} }
@@ -42,19 +39,19 @@ without manually hacking the data files`,
} }
) )
func runImportLocale(c *cli.Context) error { func runImportLocale(_ context.Context, cmd *cli.Command) error {
if !c.IsSet("source") { if !cmd.IsSet("source") {
return errors.New("source directory is not specified") return errors.New("source directory is not specified")
} else if !c.IsSet("target") { } else if !cmd.IsSet("target") {
return errors.New("target directory is not specified") return errors.New("target directory is not specified")
} }
if !com.IsDir(c.String("source")) { if !osx.IsDir(cmd.String("source")) {
return fmt.Errorf("source directory %q does not exist or is not a directory", c.String("source")) return errors.Newf("source directory %q does not exist or is not a directory", cmd.String("source"))
} else if !com.IsDir(c.String("target")) { } else if !osx.IsDir(cmd.String("target")) {
return fmt.Errorf("target directory %q does not exist or is not a directory", c.String("target")) return errors.Newf("target directory %q does not exist or is not a directory", cmd.String("target"))
} }
err := conf.Init(c.String("config")) err := conf.Init(configFromLineage(cmd))
if err != nil { if err != nil {
return errors.Wrap(err, "init configuration") return errors.Wrap(err, "init configuration")
} }
@@ -68,9 +65,9 @@ func runImportLocale(c *cli.Context) error {
// Cut out en-US. // Cut out en-US.
for _, lang := range conf.I18n.Langs[1:] { for _, lang := range conf.I18n.Langs[1:] {
name := fmt.Sprintf("locale_%s.ini", lang) name := fmt.Sprintf("locale_%s.ini", lang)
source := filepath.Join(c.String("source"), name) source := filepath.Join(cmd.String("source"), name)
target := filepath.Join(c.String("target"), name) target := filepath.Join(cmd.String("target"), name)
if !com.IsFile(source) { if !osx.IsFile(source) {
continue continue
} }
@@ -78,14 +75,12 @@ func runImportLocale(c *cli.Context) error {
// this breaks INI parser, we need to fix that. // this breaks INI parser, we need to fix that.
sr, err := os.Open(source) sr, err := os.Open(source)
if err != nil { if err != nil {
return fmt.Errorf("Open: %v", err) return errors.Newf("open: %v", err)
} }
tw, err := os.Create(target) tw, err := os.Create(target)
if err != nil { if err != nil {
if err != nil { return errors.Newf("create: %v", err)
return fmt.Errorf("Open: %v", err)
}
} }
scanner := bufio.NewScanner(sr) scanner := bufio.NewScanner(sr)
@@ -95,7 +90,7 @@ func runImportLocale(c *cli.Context) error {
if idx > -1 && line[len(line)-1] == '"' { if idx > -1 && line[len(line)-1] == '"' {
// We still want the "=" sign // We still want the "=" sign
line = append(line[:idx+1], line[idx+2:len(line)-1]...) line = append(line[:idx+1], line[idx+2:len(line)-1]...)
line = bytes.Replace(line, escapedQuotes, regularQuotes, -1) line = bytes.ReplaceAll(line, escapedQuotes, regularQuotes)
} }
_, _ = tw.Write(line) _, _ = tw.Write(line)
_, _ = tw.WriteString("\n") _, _ = tw.WriteString("\n")

36
cmd/gogs/main.go Normal file
View File

@@ -0,0 +1,36 @@
// Gogs is a painless self-hosted Git Service.
package main
import (
"context"
"os"
"github.com/urfave/cli/v3"
log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf"
)
func init() {
conf.App.Version = "0.15.0+dev"
}
func main() {
cmd := &cli.Command{
Name: "Gogs",
Usage: "A painless self-hosted Git service",
Version: conf.App.Version,
Commands: []*cli.Command{
&webCommand,
&servCommand,
&hookCommand,
&adminCommand,
&importCommand,
&backupCommand,
&restoreCommand,
},
}
if err := cmd.Run(context.Background(), os.Args); err != nil {
log.Fatal("Failed to start application: %v", err)
}
}

View File

@@ -1,27 +1,24 @@
// Copyright 2017 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context"
"os" "os"
"path" "path"
"path/filepath" "path/filepath"
"github.com/pkg/errors" "github.com/cockroachdb/errors"
"github.com/unknwon/cae/zip" "github.com/unknwon/cae/zip"
"github.com/unknwon/com" "github.com/urfave/cli/v3"
"github.com/urfave/cli"
"gopkg.in/ini.v1" "gopkg.in/ini.v1"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/semverutil" "gogs.io/gogs/internal/osx"
"gogs.io/gogs/internal/semverx"
) )
var Restore = cli.Command{ var restoreCommand = cli.Command{
Name: "restore", Name: "restore",
Usage: "Restore files and database from backup", Usage: "Restore files and database from backup",
Description: `Restore imports all related files and database from a backup archive. Description: `Restore imports all related files and database from a backup archive.
@@ -45,24 +42,31 @@ be skipped and remain unchanged.`,
// format that is able to import. // format that is able to import.
var lastSupportedVersionOfFormat = map[int]string{} var lastSupportedVersionOfFormat = map[int]string{}
func runRestore(c *cli.Context) error { func runRestore(ctx context.Context, cmd *cli.Command) error {
zip.Verbose = c.Bool("verbose") zip.Verbose = cmd.Bool("verbose")
tmpDir := c.String("tempdir") tmpDir := cmd.String("tempdir")
if !com.IsExist(tmpDir) { if !osx.IsDir(tmpDir) {
log.Fatal("'--tempdir' does not exist: %s", tmpDir) log.Fatal("'--tempdir' does not exist: %s", tmpDir)
} }
archivePath := path.Join(tmpDir, archiveRootDir)
log.Info("Restore backup from: %s", c.String("from")) // Make sure there was no leftover and also clean up afterwards
if err := zip.ExtractTo(c.String("from"), tmpDir); err != nil { err := os.RemoveAll(archivePath)
if err != nil {
log.Fatal("Failed to clean up previous leftover in %q: %v", archivePath, err)
}
defer func() { _ = os.RemoveAll(archivePath) }()
log.Info("Restoring backup from: %s", cmd.String("from"))
err = zip.ExtractTo(cmd.String("from"), tmpDir)
if err != nil {
log.Fatal("Failed to extract backup archive: %v", err) log.Fatal("Failed to extract backup archive: %v", err)
} }
archivePath := path.Join(tmpDir, archiveRootDir)
defer func() { _ = os.RemoveAll(archivePath) }()
// Check backup version // Check backup version
metaFile := filepath.Join(archivePath, "metadata.ini") metaFile := filepath.Join(archivePath, "metadata.ini")
if !com.IsExist(metaFile) { if !osx.IsFile(metaFile) {
log.Fatal("File 'metadata.ini' is missing") log.Fatal("File 'metadata.ini' is missing")
} }
metadata, err := ini.Load(metaFile) metadata, err := ini.Load(metaFile)
@@ -70,7 +74,7 @@ func runRestore(c *cli.Context) error {
log.Fatal("Failed to load metadata '%s': %v", metaFile, err) log.Fatal("Failed to load metadata '%s': %v", metaFile, err)
} }
backupVersion := metadata.Section("").Key("GOGS_VERSION").MustString("999.0") backupVersion := metadata.Section("").Key("GOGS_VERSION").MustString("999.0")
if semverutil.Compare(conf.App.Version, "<", backupVersion) { if semverx.Compare(conf.App.Version, "<", backupVersion) {
log.Fatal("Current Gogs version is lower than backup version: %s < %s", conf.App.Version, backupVersion) log.Fatal("Current Gogs version is lower than backup version: %s < %s", conf.App.Version, backupVersion)
} }
formatVersion := metadata.Section("").Key("VERSION").MustInt() formatVersion := metadata.Section("").Key("VERSION").MustInt()
@@ -86,9 +90,9 @@ func runRestore(c *cli.Context) error {
// Otherwise, it's optional to set config file flag. // Otherwise, it's optional to set config file flag.
configFile := filepath.Join(archivePath, "custom", "conf", "app.ini") configFile := filepath.Join(archivePath, "custom", "conf", "app.ini")
var customConf string var customConf string
if c.IsSet("config") { if lineageConf := configFromLineage(cmd); lineageConf != "" {
customConf = c.String("config") customConf = lineageConf
} else if !com.IsExist(configFile) { } else if !osx.IsFile(configFile) {
log.Fatal("'--config' is not specified and custom config file is not found in backup") log.Fatal("'--config' is not specified and custom config file is not found in backup")
} else { } else {
customConf = configFile customConf = configFile
@@ -100,20 +104,20 @@ func runRestore(c *cli.Context) error {
} }
conf.InitLogging(true) conf.InitLogging(true)
conn, err := db.SetEngine() conn, err := database.SetEngine()
if err != nil { if err != nil {
return errors.Wrap(err, "set engine") return errors.Wrap(err, "set engine")
} }
// Database // Database
dbDir := path.Join(archivePath, "db") dbDir := path.Join(archivePath, "db")
if err = db.ImportDatabase(conn, dbDir, c.Bool("verbose")); err != nil { if err = database.ImportDatabase(ctx, conn, dbDir, cmd.Bool("verbose")); err != nil {
log.Fatal("Failed to import database: %v", err) log.Fatal("Failed to import database: %v", err)
} }
// Custom files if !cmd.Bool("database-only") {
if !c.Bool("database-only") { // Custom files
if com.IsExist(conf.CustomDir()) { if osx.IsDir(conf.CustomDir()) {
if err = os.Rename(conf.CustomDir(), conf.CustomDir()+".bak"); err != nil { if err = os.Rename(conf.CustomDir(), conf.CustomDir()+".bak"); err != nil {
log.Fatal("Failed to backup current 'custom': %v", err) log.Fatal("Failed to backup current 'custom': %v", err)
} }
@@ -121,20 +125,18 @@ func runRestore(c *cli.Context) error {
if err = os.Rename(filepath.Join(archivePath, "custom"), conf.CustomDir()); err != nil { if err = os.Rename(filepath.Join(archivePath, "custom"), conf.CustomDir()); err != nil {
log.Fatal("Failed to import 'custom': %v", err) log.Fatal("Failed to import 'custom': %v", err)
} }
}
// Data files // Data files
if !c.Bool("database-only") {
_ = os.MkdirAll(conf.Server.AppDataPath, os.ModePerm) _ = os.MkdirAll(conf.Server.AppDataPath, os.ModePerm)
for _, dir := range []string{"attachments", "avatars", "repo-avatars"} { for _, dir := range []string{"attachments", "avatars", "repo-avatars"} {
// Skip if backup archive does not have corresponding data // Skip if backup archive does not have corresponding data
srcPath := filepath.Join(archivePath, "data", dir) srcPath := filepath.Join(archivePath, "data", dir)
if !com.IsDir(srcPath) { if !osx.IsDir(srcPath) {
continue continue
} }
dirPath := filepath.Join(conf.Server.AppDataPath, dir) dirPath := filepath.Join(conf.Server.AppDataPath, dir)
if com.IsExist(dirPath) { if osx.IsDir(dirPath) {
if err = os.Rename(dirPath, dirPath+".bak"); err != nil { if err = os.Rename(dirPath, dirPath+".bak"); err != nil {
log.Fatal("Failed to backup current 'data': %v", err) log.Fatal("Failed to backup current 'data': %v", err)
} }
@@ -147,7 +149,7 @@ func runRestore(c *cli.Context) error {
// Repositories // Repositories
reposPath := filepath.Join(archivePath, "repositories.zip") reposPath := filepath.Join(archivePath, "repositories.zip")
if !c.Bool("exclude-repos") && !c.Bool("database-only") && com.IsExist(reposPath) { if !cmd.Bool("exclude-repos") && !cmd.Bool("database-only") && osx.IsFile(reposPath) {
if err := zip.ExtractTo(reposPath, filepath.Dir(conf.Repository.Root)); err != nil { if err := zip.ExtractTo(reposPath, filepath.Dir(conf.Repository.Root)); err != nil {
log.Fatal("Failed to extract 'repositories.zip': %v", err) log.Fatal("Failed to extract 'repositories.zip': %v", err)
} }

View File

@@ -1,30 +1,27 @@
// Copyright 2014 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
"context"
"fmt" "fmt"
"os" "os"
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"strconv"
"strings" "strings"
"time" "time"
"github.com/unknwon/com" "github.com/urfave/cli/v3"
"github.com/urfave/cli"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
) )
const ( const (
_ACCESS_DENIED_MESSAGE = "Repository does not exist or you do not have access" accessDeniedMessage = "Repository does not exist or you do not have access"
) )
var Serv = cli.Command{ var servCommand = cli.Command{
Name: "serv", Name: "serv",
Usage: "This command should only be called by SSH shell", Usage: "This command should only be called by SSH shell",
Description: `Serv provide access auth for repositories`, Description: `Serv provide access auth for repositories`,
@@ -37,7 +34,7 @@ var Serv = cli.Command{
// fail prints user message to the Git client (i.e. os.Stderr) and // fail prints user message to the Git client (i.e. os.Stderr) and
// logs error message on the server side. When not in "prod" mode, // logs error message on the server side. When not in "prod" mode,
// error message is also printed to the client for easier debugging. // error message is also printed to the client for easier debugging.
func fail(userMessage, errMessage string, args ...interface{}) { func fail(userMessage, errMessage string, args ...any) {
_, _ = fmt.Fprintln(os.Stderr, "Gogs:", userMessage) _, _ = fmt.Fprintln(os.Stderr, "Gogs:", userMessage)
if len(errMessage) > 0 { if len(errMessage) > 0 {
@@ -51,15 +48,10 @@ func fail(userMessage, errMessage string, args ...interface{}) {
os.Exit(1) os.Exit(1)
} }
func setup(c *cli.Context, logFile string, connectDB bool) { func setup(cmd *cli.Command, logFile string, connectDB bool) {
conf.HookMode = true conf.HookMode = true
var customConf string customConf := configFromLineage(cmd)
if c.IsSet("config") {
customConf = c.String("config")
} else if c.GlobalIsSet("config") {
customConf = c.GlobalString("config")
}
err := conf.Init(customConf) err := conf.Init(customConf)
if err != nil { if err != nil {
@@ -94,7 +86,7 @@ func setup(c *cli.Context, logFile string, connectDB bool) {
_ = os.Chdir(conf.WorkDir()) _ = os.Chdir(conf.WorkDir())
} }
if _, err := db.SetEngine(); err != nil { if _, err := database.SetEngine(); err != nil {
fail("Internal error", "Failed to set database engine: %v", err) fail("Internal error", "Failed to set database engine: %v", err)
} }
} }
@@ -107,46 +99,44 @@ func parseSSHCmd(cmd string) (string, string) {
return ss[0], strings.Replace(ss[1], "'/", "'", 1) return ss[0], strings.Replace(ss[1], "'/", "'", 1)
} }
func checkDeployKey(key *db.PublicKey, repo *db.Repository) { func checkDeployKey(key *database.PublicKey, repo *database.Repository) {
// Check if this deploy key belongs to current repository. // Check if this deploy key belongs to current repository.
if !db.HasDeployKey(key.ID, repo.ID) { if !database.HasDeployKey(key.ID, repo.ID) {
fail("Key access denied", "Deploy key access denied: [key_id: %d, repo_id: %d]", key.ID, repo.ID) fail("Key access denied", "Deploy key access denied: [key_id: %d, repo_id: %d]", key.ID, repo.ID)
} }
// Update deploy key activity. // Update deploy key activity.
deployKey, err := db.GetDeployKeyByRepo(key.ID, repo.ID) deployKey, err := database.GetDeployKeyByRepo(key.ID, repo.ID)
if err != nil { if err != nil {
fail("Internal error", "GetDeployKey: %v", err) fail("Internal error", "GetDeployKey: %v", err)
} }
deployKey.Updated = time.Now() deployKey.Updated = time.Now()
if err = db.UpdateDeployKey(deployKey); err != nil { if err = database.UpdateDeployKey(deployKey); err != nil {
fail("Internal error", "UpdateDeployKey: %v", err) fail("Internal error", "UpdateDeployKey: %v", err)
} }
} }
var ( var allowedCommands = map[string]database.AccessMode{
allowedCommands = map[string]db.AccessMode{ "git-upload-pack": database.AccessModeRead,
"git-upload-pack": db.AccessModeRead, "git-upload-archive": database.AccessModeRead,
"git-upload-archive": db.AccessModeRead, "git-receive-pack": database.AccessModeWrite,
"git-receive-pack": db.AccessModeWrite, }
}
)
func runServ(c *cli.Context) error { func runServ(ctx context.Context, cmd *cli.Command) error {
setup(c, "serv.log", true) setup(cmd, "serv.log", true)
if conf.SSH.Disabled { if conf.SSH.Disabled {
println("Gogs: SSH has been disabled") println("Gogs: SSH has been disabled")
return nil return nil
} }
if len(c.Args()) < 1 { if cmd.Args().Len() < 1 {
fail("Not enough arguments", "Not enough arguments") fail("Not enough arguments", "Not enough arguments")
} }
sshCmd := os.Getenv("SSH_ORIGINAL_COMMAND") sshCmd := os.Getenv("SSH_ORIGINAL_COMMAND")
if len(sshCmd) == 0 { if sshCmd == "" {
println("Hi there, You've successfully authenticated, but Gogs does not provide shell access.") println("Hi there, You've successfully authenticated, but Gogs does not provide shell access.")
println("If this is unexpected, please log in with password and setup Gogs under another user.") println("If this is unexpected, please log in with password and setup Gogs under another user.")
return nil return nil
@@ -162,18 +152,18 @@ func runServ(c *cli.Context) error {
repoName := strings.TrimSuffix(strings.ToLower(repoFields[1]), ".git") repoName := strings.TrimSuffix(strings.ToLower(repoFields[1]), ".git")
repoName = strings.TrimSuffix(repoName, ".wiki") repoName = strings.TrimSuffix(repoName, ".wiki")
owner, err := db.GetUserByName(ownerName) owner, err := database.Handle.Users().GetByUsername(ctx, ownerName)
if err != nil { if err != nil {
if db.IsErrUserNotExist(err) { if database.IsErrUserNotExist(err) {
fail("Repository owner does not exist", "Unregistered owner: %s", ownerName) fail("Repository owner does not exist", "Unregistered owner: %s", ownerName)
} }
fail("Internal error", "Failed to get repository owner '%s': %v", ownerName, err) fail("Internal error", "Failed to get repository owner '%s': %v", ownerName, err)
} }
repo, err := db.GetRepositoryByName(owner.ID, repoName) repo, err := database.GetRepositoryByName(owner.ID, repoName)
if err != nil { if err != nil {
if db.IsErrRepoNotExist(err) { if database.IsErrRepoNotExist(err) {
fail(_ACCESS_DENIED_MESSAGE, "Repository does not exist: %s/%s", owner.Name, repoName) fail(accessDeniedMessage, "Repository does not exist: %s/%s", owner.Name, repoName)
} }
fail("Internal error", "Failed to get repository: %v", err) fail("Internal error", "Failed to get repository: %v", err)
} }
@@ -185,19 +175,20 @@ func runServ(c *cli.Context) error {
} }
// Prohibit push to mirror repositories. // Prohibit push to mirror repositories.
if requestMode > db.AccessModeRead && repo.IsMirror { if requestMode > database.AccessModeRead && repo.IsMirror {
fail("Mirror repository is read-only", "") fail("Mirror repository is read-only", "")
} }
// Allow anonymous (user is nil) clone for public repositories. // Allow anonymous (user is nil) clone for public repositories.
var user *db.User var user *database.User
key, err := db.GetPublicKeyByID(com.StrTo(strings.TrimPrefix(c.Args()[0], "key-")).MustInt64()) keyID, _ := strconv.ParseInt(strings.TrimPrefix(cmd.Args().Get(0), "key-"), 10, 64)
key, err := database.GetPublicKeyByID(keyID)
if err != nil { if err != nil {
fail("Invalid key ID", "Invalid key ID '%s': %v", c.Args()[0], err) fail("Invalid key ID", "Invalid key ID '%s': %v", cmd.Args().Get(0), err)
} }
if requestMode == db.AccessModeWrite || repo.IsPrivate { if requestMode == database.AccessModeWrite || repo.IsPrivate {
// Check deploy key or user key. // Check deploy key or user key.
if key.IsDeployKey() { if key.IsDeployKey() {
if key.Mode < requestMode { if key.Mode < requestMode {
@@ -205,19 +196,20 @@ func runServ(c *cli.Context) error {
} }
checkDeployKey(key, repo) checkDeployKey(key, repo)
} else { } else {
user, err = db.GetUserByKeyID(key.ID) user, err = database.Handle.Users().GetByKeyID(ctx, key.ID)
if err != nil { if err != nil {
fail("Internal error", "Failed to get user by key ID '%d': %v", key.ID, err) fail("Internal error", "Failed to get user by key ID '%d': %v", key.ID, err)
} }
mode, err := db.UserAccessMode(user.ID, repo) mode := database.Handle.Permissions().AccessMode(ctx, user.ID, repo.ID,
if err != nil { database.AccessModeOptions{
fail("Internal error", "Failed to check access: %v", err) OwnerID: repo.OwnerID,
} Private: repo.IsPrivate,
},
)
if mode < requestMode { if mode < requestMode {
clientMessage := _ACCESS_DENIED_MESSAGE clientMessage := accessDeniedMessage
if mode >= db.AccessModeRead { if mode >= database.AccessModeRead {
clientMessage = "You do not have sufficient authorization for this action" clientMessage = "You do not have sufficient authorization for this action"
} }
fail(clientMessage, fail(clientMessage,
@@ -229,7 +221,7 @@ func runServ(c *cli.Context) error {
// Check if the key can access to the repository in case of it is a deploy key (a deploy keys != user key). // Check if the key can access to the repository in case of it is a deploy key (a deploy keys != user key).
// A deploy key doesn't represent a signed in user, so in a site with Auth.RequireSignInView enabled, // A deploy key doesn't represent a signed in user, so in a site with Auth.RequireSignInView enabled,
// we should give read access only in repositories where this deploy key is in use. In other cases, // we should give read access only in repositories where this deploy key is in use. In other cases,
// a server or system using an active deploy key can get read access to all repositories on a Gogs instace. // a server or system using an active deploy key can get read access to all repositories on a Gogs instance.
if key.IsDeployKey() && conf.Auth.RequireSigninView { if key.IsDeployKey() && conf.Auth.RequireSigninView {
checkDeployKey(key, repo) checkDeployKey(key, repo)
} }
@@ -237,13 +229,13 @@ func runServ(c *cli.Context) error {
// Update user key activity. // Update user key activity.
if key.ID > 0 { if key.ID > 0 {
key, err := db.GetPublicKeyByID(key.ID) key, err := database.GetPublicKeyByID(key.ID)
if err != nil { if err != nil {
fail("Internal error", "GetPublicKeyByID: %v", err) fail("Internal error", "GetPublicKeyByID: %v", err)
} }
key.Updated = time.Now() key.Updated = time.Now()
if err = db.UpdatePublicKey(key); err != nil { if err = database.UpdatePublicKey(key); err != nil {
fail("Internal error", "UpdatePublicKey: %v", err) fail("Internal error", "UpdatePublicKey: %v", err)
} }
} }
@@ -260,8 +252,8 @@ func runServ(c *cli.Context) error {
} else { } else {
gitCmd = exec.Command(verb, repoFullName) gitCmd = exec.Command(verb, repoFullName)
} }
if requestMode == db.AccessModeWrite { if requestMode == database.AccessModeWrite {
gitCmd.Env = append(os.Environ(), db.ComposeHookEnvs(db.ComposeHookEnvsOptions{ gitCmd.Env = append(os.Environ(), database.ComposeHookEnvs(database.ComposeHookEnvsOptions{
AuthUser: user, AuthUser: user,
OwnerName: owner.Name, OwnerName: owner.Name,
OwnerSalt: owner.Salt, OwnerSalt: owner.Salt,

View File

@@ -1,10 +1,7 @@
// Copyright 2014 The Gogs Authors. All rights reserved. package main
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package cmd
import ( import (
stdctx "context"
"crypto/tls" "crypto/tls"
"fmt" "fmt"
"io" "io"
@@ -24,19 +21,17 @@ import (
"github.com/go-macaron/session" "github.com/go-macaron/session"
"github.com/go-macaron/toolbox" "github.com/go-macaron/toolbox"
"github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/unknwon/com" "github.com/urfave/cli/v3"
"github.com/urfave/cli"
"gopkg.in/macaron.v1" "gopkg.in/macaron.v1"
log "unknwon.dev/clog/v2" log "unknwon.dev/clog/v2"
embedConf "gogs.io/gogs/conf"
"gogs.io/gogs/internal/app" "gogs.io/gogs/internal/app"
"gogs.io/gogs/internal/assets/public"
"gogs.io/gogs/internal/assets/templates"
"gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/context" "gogs.io/gogs/internal/context"
"gogs.io/gogs/internal/db" "gogs.io/gogs/internal/database"
"gogs.io/gogs/internal/form" "gogs.io/gogs/internal/form"
"gogs.io/gogs/internal/osutil" "gogs.io/gogs/internal/osx"
"gogs.io/gogs/internal/route" "gogs.io/gogs/internal/route"
"gogs.io/gogs/internal/route/admin" "gogs.io/gogs/internal/route/admin"
apiv1 "gogs.io/gogs/internal/route/api/v1" apiv1 "gogs.io/gogs/internal/route/api/v1"
@@ -46,9 +41,11 @@ import (
"gogs.io/gogs/internal/route/repo" "gogs.io/gogs/internal/route/repo"
"gogs.io/gogs/internal/route/user" "gogs.io/gogs/internal/route/user"
"gogs.io/gogs/internal/template" "gogs.io/gogs/internal/template"
"gogs.io/gogs/public"
"gogs.io/gogs/templates"
) )
var Web = cli.Command{ var webCommand = cli.Command{
Name: "web", Name: "web",
Usage: "Start web server", Usage: "Start web server",
Description: `Gogs web server is the only thing you need to run, Description: `Gogs web server is the only thing you need to run,
@@ -56,7 +53,7 @@ and it takes care of all the other things for you`,
Action: runWeb, Action: runWeb,
Flags: []cli.Flag{ Flags: []cli.Flag{
stringFlag("port, p", "3000", "Temporary port number to prevent conflict"), stringFlag("port, p", "3000", "Temporary port number to prevent conflict"),
stringFlag("config, c", "", "Custom configuration file path"), stringFlag("config, c", filepath.Join(conf.CustomDir(), "conf", "app.ini"), "Custom configuration file path"),
}, },
} }
@@ -83,11 +80,12 @@ func newMacaron() *macaron.Macaron {
)) ))
var publicFs http.FileSystem var publicFs http.FileSystem
if !conf.Server.LoadAssetsFromDisk { if !conf.Server.LoadAssetsFromDisk {
publicFs = public.NewFileSystem() publicFs = http.FS(public.Files)
} }
m.Use(macaron.Static( m.Use(macaron.Static(
filepath.Join(conf.WorkDir(), "public"), filepath.Join(conf.WorkDir(), "public"),
macaron.StaticOptions{ macaron.StaticOptions{
ETag: true,
SkipLogging: conf.Server.DisableRouterLog, SkipLogging: conf.Server.DisableRouterLog,
FileSystem: publicFs, FileSystem: publicFs,
}, },
@@ -96,36 +94,42 @@ func newMacaron() *macaron.Macaron {
m.Use(macaron.Static( m.Use(macaron.Static(
conf.Picture.AvatarUploadPath, conf.Picture.AvatarUploadPath,
macaron.StaticOptions{ macaron.StaticOptions{
Prefix: db.USER_AVATAR_URL_PREFIX, ETag: true,
Prefix: conf.UsersAvatarPathPrefix,
SkipLogging: conf.Server.DisableRouterLog, SkipLogging: conf.Server.DisableRouterLog,
}, },
)) ))
m.Use(macaron.Static( m.Use(macaron.Static(
conf.Picture.RepositoryAvatarUploadPath, conf.Picture.RepositoryAvatarUploadPath,
macaron.StaticOptions{ macaron.StaticOptions{
Prefix: db.REPO_AVATAR_URL_PREFIX, ETag: true,
Prefix: database.RepoAvatarURLPrefix,
SkipLogging: conf.Server.DisableRouterLog, SkipLogging: conf.Server.DisableRouterLog,
}, },
)) ))
customDir := filepath.Join(conf.CustomDir(), "templates")
renderOpt := macaron.RenderOptions{ renderOpt := macaron.RenderOptions{
Directory: filepath.Join(conf.WorkDir(), "templates"), Directory: filepath.Join(conf.WorkDir(), "templates"),
AppendDirectories: []string{filepath.Join(conf.CustomDir(), "templates")}, AppendDirectories: []string{customDir},
Funcs: template.FuncMap(), Funcs: template.FuncMap(),
IndentJSON: macaron.Env != macaron.PROD, IndentJSON: macaron.Env != macaron.PROD,
} }
if !conf.Server.LoadAssetsFromDisk { if !conf.Server.LoadAssetsFromDisk {
renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", renderOpt.AppendDirectories[0]) renderOpt.TemplateFileSystem = templates.NewTemplateFileSystem("", customDir)
} }
m.Use(macaron.Renderer(renderOpt)) m.Use(macaron.Renderer(renderOpt))
localeNames, err := conf.AssetDir("conf/locale") localeNames, err := embedConf.FileNames("locale")
if err != nil { if err != nil {
log.Fatal("Failed to list locale files: %v", err) log.Fatal("Failed to list locale files: %v", err)
} }
localeFiles := make(map[string][]byte) localeFiles := make(map[string][]byte)
for _, name := range localeNames { for _, name := range localeNames {
localeFiles[name] = conf.MustAsset("conf/locale/" + name) localeFiles[name], err = embedConf.Files.ReadFile("locale/" + name)
if err != nil {
log.Fatal("Failed to read locale file %q: %v", name, err)
}
} }
m.Use(i18n.I18n(i18n.Options{ m.Use(i18n.I18n(i18n.Options{
SubURL: conf.Server.Subpath, SubURL: conf.Server.Subpath,
@@ -148,15 +152,15 @@ func newMacaron() *macaron.Macaron {
HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{ HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{
{ {
Desc: "Database connection", Desc: "Database connection",
Func: db.Ping, Func: database.Ping,
}, },
}, },
})) }))
return m return m
} }
func runWeb(c *cli.Context) error { func runWeb(_ stdctx.Context, cmd *cli.Command) error {
err := route.GlobalInit(c.String("config")) err := route.GlobalInit(configFromLineage(cmd))
if err != nil { if err != nil {
log.Fatal("Failed to initialize application: %v", err) log.Fatal("Failed to initialize application: %v", err)
} }
@@ -230,9 +234,11 @@ func runWeb(c *cli.Context) error {
m.Get("", user.SettingsOrganizations) m.Get("", user.SettingsOrganizations)
m.Post("/leave", user.SettingsLeaveOrganization) m.Post("/leave", user.SettingsLeaveOrganization)
}) })
m.Combo("/applications").Get(user.SettingsApplications).
Post(bindIgnErr(form.NewAccessToken{}), user.SettingsApplicationsPost) settingsHandler := user.NewSettingsHandler(user.NewSettingsStore())
m.Post("/applications/delete", user.SettingsDeleteApplication) m.Combo("/applications").Get(settingsHandler.Applications()).
Post(bindIgnErr(form.NewAccessToken{}), settingsHandler.ApplicationsPost())
m.Post("/applications/delete", settingsHandler.DeleteApplication())
m.Route("/delete", "GET,POST", user.SettingsDelete) m.Route("/delete", "GET,POST", user.SettingsDelete)
}, reqSignIn, func(c *context.Context) { }, reqSignIn, func(c *context.Context) {
c.Data["PageIsUserSettings"] = true c.Data["PageIsUserSettings"] = true
@@ -298,11 +304,11 @@ func runWeb(c *cli.Context) error {
}, context.InjectParamsUser()) }, context.InjectParamsUser())
m.Get("/attachments/:uuid", func(c *context.Context) { m.Get("/attachments/:uuid", func(c *context.Context) {
attach, err := db.GetAttachmentByUUID(c.Params(":uuid")) attach, err := database.GetAttachmentByUUID(c.Params(":uuid"))
if err != nil { if err != nil {
c.NotFoundOrError(err, "get attachment by UUID") c.NotFoundOrError(err, "get attachment by UUID")
return return
} else if !com.IsFile(attach.LocalPath()) { } else if !osx.IsFile(attach.LocalPath()) {
c.NotFound() c.NotFound()
return return
} }
@@ -323,9 +329,12 @@ func runWeb(c *cli.Context) error {
return return
} }
}) })
}, ignSignIn)
m.Group("", func() {
m.Post("/issues/attachments", repo.UploadIssueAttachment) m.Post("/issues/attachments", repo.UploadIssueAttachment)
m.Post("/releases/attachments", repo.UploadReleaseAttachment) m.Post("/releases/attachments", repo.UploadReleaseAttachment)
}, ignSignIn) }, reqSignIn)
m.Group("/:username", func() { m.Group("/:username", func() {
m.Post("/action/:action", user.Action) m.Post("/action/:action", user.Action)
@@ -457,7 +466,6 @@ func runWeb(c *cli.Context) error {
Post(bindIgnErr(form.AddSSHKey{}), repo.SettingsDeployKeysPost) Post(bindIgnErr(form.AddSSHKey{}), repo.SettingsDeployKeysPost)
m.Post("/delete", repo.DeleteDeployKey) m.Post("/delete", repo.DeleteDeployKey)
}) })
}, func(c *context.Context) { }, func(c *context.Context) {
c.Data["PageIsSettings"] = true c.Data["PageIsSettings"] = true
}) })
@@ -471,7 +479,7 @@ func runWeb(c *cli.Context) error {
m.Get("/milestones", repo.Milestones) m.Get("/milestones", repo.Milestones)
}, ignSignIn, context.RepoAssignment(true)) }, ignSignIn, context.RepoAssignment(true))
m.Group("/:username/:reponame", func() { m.Group("/:username/:reponame", func() {
// FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest. // FIXME: should use different URLs but mostly same logic for comments of issue and pull request.
// So they can apply their own enable/disable logic on routers. // So they can apply their own enable/disable logic on routers.
m.Group("/issues", func() { m.Group("/issues", func() {
m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue). m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue).
@@ -496,7 +504,7 @@ func runWeb(c *cli.Context) error {
}, ignSignIn, context.RepoAssignment(false, true)) }, ignSignIn, context.RepoAssignment(false, true))
m.Group("/:username/:reponame", func() { m.Group("/:username/:reponame", func() {
// FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest. // FIXME: should use different URLs but mostly same logic for comments of issue and pull request.
// So they can apply their own enable/disable logic on routers. // So they can apply their own enable/disable logic on routers.
m.Group("/issues", func() { m.Group("/issues", func() {
m.Group("/:index", func() { m.Group("/:index", func() {
@@ -612,10 +620,10 @@ func runWeb(c *cli.Context) error {
m.Get("/compare/:before([a-z0-9]{40})\\.\\.\\.:after([a-z0-9]{40})", repo.MustBeNotBare, context.RepoRef(), repo.CompareDiff) m.Get("/compare/:before([a-z0-9]{40})\\.\\.\\.:after([a-z0-9]{40})", repo.MustBeNotBare, context.RepoRef(), repo.CompareDiff)
}, ignSignIn, context.RepoAssignment()) }, ignSignIn, context.RepoAssignment())
m.Group("/:username/:reponame", func() { m.Group("/:username/:reponame", func() {
m.Get("", context.ServeGoGet(), repo.Home) m.Get("", repo.Home)
m.Get("/stars", repo.Stars) m.Get("/stars", repo.Stars)
m.Get("/watchers", repo.Watchers) m.Get("/watchers", repo.Watchers)
}, ignSignIn, context.RepoAssignment(), context.RepoRef()) }, context.ServeGoGet(), ignSignIn, context.RepoAssignment(), context.RepoRef())
// ***** END: Repository ***** // ***** END: Repository *****
// ********************** // **********************
@@ -646,7 +654,7 @@ func runWeb(c *cli.Context) error {
SetCookie: true, SetCookie: true,
Secure: conf.Server.URL.Scheme == "https", Secure: conf.Server.URL.Scheme == "https",
}), }),
context.Contexter(), context.Contexter(context.NewStore()),
) )
// *************************** // ***************************
@@ -660,7 +668,7 @@ func runWeb(c *cli.Context) error {
lfs.RegisterRoutes(m.Router) lfs.RegisterRoutes(m.Router)
}) })
m.Route("/*", "GET,POST,OPTIONS", context.ServeGoGet(), repo.HTTPContexter(), repo.HTTP) m.Route("/*", "GET,POST,OPTIONS", context.ServeGoGet(), repo.HTTPContexter(repo.NewStore()), repo.HTTP)
}) })
// *************************** // ***************************
@@ -690,20 +698,19 @@ func runWeb(c *cli.Context) error {
m.NotFound(route.NotFound) m.NotFound(route.NotFound)
// Flag for port number in case first time run conflict. // Flag for port number in case first time run conflict.
if c.IsSet("port") { if cmd.IsSet("port") {
conf.Server.URL.Host = strings.Replace(conf.Server.URL.Host, ":"+conf.Server.URL.Port(), ":"+c.String("port"), 1) conf.Server.URL.Host = strings.Replace(conf.Server.URL.Host, ":"+conf.Server.URL.Port(), ":"+cmd.String("port"), 1)
conf.Server.ExternalURL = conf.Server.URL.String() conf.Server.ExternalURL = conf.Server.URL.String()
conf.Server.HTTPPort = c.String("port") conf.Server.HTTPPort = cmd.String("port")
} }
var listenAddr string var listenAddr string
if conf.Server.Protocol == "unix" { if conf.Server.Protocol == "unix" {
listenAddr = conf.Server.HTTPAddr listenAddr = conf.Server.HTTPAddr
log.Info("Listen on %v://%s", conf.Server.Protocol, listenAddr)
} else { } else {
listenAddr = fmt.Sprintf("%s:%s", conf.Server.HTTPAddr, conf.Server.HTTPPort) listenAddr = fmt.Sprintf("%s:%s", conf.Server.HTTPAddr, conf.Server.HTTPPort)
log.Info("Listen on %v://%s%s", conf.Server.Protocol, listenAddr, conf.Server.Subpath)
} }
log.Info("Available on %s", conf.Server.ExternalURL)
switch conf.Server.Protocol { switch conf.Server.Protocol {
case "http": case "http":
@@ -735,14 +742,15 @@ func runWeb(c *cli.Context) error {
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
}, },
}, Handler: m} }, Handler: m,
}
err = server.ListenAndServeTLS(conf.Server.CertFile, conf.Server.KeyFile) err = server.ListenAndServeTLS(conf.Server.CertFile, conf.Server.KeyFile)
case "fcgi": case "fcgi":
err = fcgi.Serve(nil, m) err = fcgi.Serve(nil, m)
case "unix": case "unix":
if osutil.IsExist(listenAddr) { if osx.Exist(listenAddr) {
err = os.Remove(listenAddr) err = os.Remove(listenAddr)
if err != nil { if err != nil {
log.Fatal("Failed to remove existing Unix domain socket: %v", err) log.Fatal("Failed to remove existing Unix domain socket: %v", err)

View File

@@ -1,9 +0,0 @@
coverage:
range: "60...95"
status:
project:
default:
threshold: 1%
comment:
layout: 'diff'

View File

@@ -81,6 +81,10 @@ SSH_LISTEN_HOST = 0.0.0.0
SSH_LISTEN_PORT = %(SSH_PORT)s SSH_LISTEN_PORT = %(SSH_PORT)s
; The list of accepted ciphers for connections to builtin SSH server. ; The list of accepted ciphers for connections to builtin SSH server.
SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128 SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
; The list of accepted MACs for connections to builtin SSH server.
SSH_SERVER_MACS = hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1
; The list of accepted key exchange algorithms for connections to builtin SSH server.
SSH_SERVER_ALGORITHMS = rsa, ecdsa, ed25519
; Define allowed algorithms and their minimum key length (use -1 to disable a type). ; Define allowed algorithms and their minimum key length (use -1 to disable a type).
[ssh.minimum_key_sizes] [ssh.minimum_key_sizes]
@@ -113,6 +117,8 @@ ENABLE_RAW_FILE_RENDER_MODE = false
; fetch request. Usually, the value depend of how many CPU (cores) you have. If ; fetch request. Usually, the value depend of how many CPU (cores) you have. If
; the value is non-positive, it matches the number of CPUs available to the application. ; the value is non-positive, it matches the number of CPUs available to the application.
COMMITS_FETCH_CONCURRENCY = 0 COMMITS_FETCH_CONCURRENCY = 0
; Default branch name when creating new repositories.
DEFAULT_BRANCH = master
[repository.editor] [repository.editor]
; List of file extensions that should have line wraps in the CodeMirror editor. ; List of file extensions that should have line wraps in the CodeMirror editor.
@@ -135,13 +141,14 @@ FILE_MAX_SIZE = 3
MAX_FILES = 5 MAX_FILES = 5
[database] [database]
; The database backend, either "postgres", "mysql" "sqlite3" or "mssql". ; The database backend, either "postgres", "mysql" or "sqlite3".
; You can connect to TiDB with MySQL protocol.
TYPE = postgres TYPE = postgres
HOST = 127.0.0.1:5432 HOST = 127.0.0.1:5432
NAME = gogs NAME = gogs
USER = gogs USER = gogs
PASSWORD = PASSWORD =
; For "postgres" only
SCHEMA = public
; For "postgres" only, either "disable", "require" or "verify-full". ; For "postgres" only, either "disable", "require" or "verify-full".
SSL_MODE = disable SSL_MODE = disable
; For "sqlite3" only, make sure to use absolute path. ; For "sqlite3" only, make sure to use absolute path.
@@ -189,8 +196,6 @@ USER = noreply@gogs.localhost
; The login password. ; The login password.
PASSWORD = PASSWORD =
; Whether to disable HELO operation when the hostname is different.
DISABLE_HELO =
; The custom hostname for HELO operation, default is from system. ; The custom hostname for HELO operation, default is from system.
HELO_HOSTNAME = HELO_HOSTNAME =
@@ -239,7 +244,7 @@ PROVIDER = memory
; The configuration for respective provider: ; The configuration for respective provider:
; - memory: does not need any config yet ; - memory: does not need any config yet
; - file: session file path, e.g. `data/sessions` ; - file: session file path, e.g. `data/sessions`
; - redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180 ; - redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180,tls=true
PROVIDER_CONFIG = data/sessions PROVIDER_CONFIG = data/sessions
; The cookie name to store the session identifier. ; The cookie name to store the session identifier.
COOKIE_NAME = i_like_gogs COOKIE_NAME = i_like_gogs
@@ -271,6 +276,8 @@ ACCESS_CONTROL_ALLOW_ORIGIN =
STORAGE = local STORAGE = local
; The root path to store LFS objects on local file system. ; The root path to store LFS objects on local file system.
OBJECTS_PATH = data/lfs-objects OBJECTS_PATH = data/lfs-objects
; The path to temporarily store LFS objects during upload verification.
OBJECTS_TEMP_PATH = data/tmp/lfs-objects
[attachment] [attachment]
; Whether to enabled upload attachments in general. ; Whether to enabled upload attachments in general.
@@ -463,6 +470,7 @@ MIGRATE = 600
MIRROR = 300 MIRROR = 300
CLONE = 300 CLONE = 300
PULL = 300 PULL = 300
DIFF = 60
GC = 60 GC = 60
[mirror] [mirror]
@@ -521,10 +529,11 @@ BASIC_AUTH_PASSWORD =
[highlight.mapping] [highlight.mapping]
[i18n] [i18n]
LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT,mn-MN,ro-RO
NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português,Монгол,Română
; Used for datetimepicker ; Used for jQuery DateTimePicker,
; list of supported languages in https://xdsoft.net/jqplugins/datetimepicker/#lang
[i18n.datelang] [i18n.datelang]
en-US = en en-US = en
zh-CN = zh zh-CN = zh
@@ -556,6 +565,8 @@ id-ID = id
fa-IR = fa fa-IR = fa
vi-VN = vi vi-VN = vi
pt-PT = pt pt-PT = pt
mn-MN = mn
ro-RO = ro
[other] [other]
SHOW_FOOTER_BRANDING = false SHOW_FOOTER_BRANDING = false

23
conf/embed.go Normal file
View File

@@ -0,0 +1,23 @@
package conf
import (
"embed"
)
//go:embed app.ini **/*
var Files embed.FS
// FileNames returns a list of filenames exists in the given direction within
// Files. The list includes names of subdirectories.
func FileNames(dir string) ([]string, error) {
entries, err := Files.ReadDir(dir)
if err != nil {
return nil, err
}
fileNames := make([]string, 0, len(entries))
for _, entry := range entries {
fileNames = append(fileNames, entry.Name())
}
return fileNames, nil
}

16
conf/embed_test.go Normal file
View File

@@ -0,0 +1,16 @@
package conf
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestFileNames(t *testing.T) {
names, err := FileNames(".")
require.NoError(t, err)
want := []string{"app.ini", "auth.d", "gitignore", "label", "license", "locale", "readme"}
assert.Equal(t, want, names)
}

View File

@@ -76,9 +76,11 @@ Robin Hübner <profan AT prfn DOT se>
Rste Risafov <risafov AT lazy DOT com> Rste Risafov <risafov AT lazy DOT com>
SeongJae Park <sj38 DOT park AT gmail DOT com> SeongJae Park <sj38 DOT park AT gmail DOT com>
Sergey Stepanov <sergystepanov AT gmail DOT com> Sergey Stepanov <sergystepanov AT gmail DOT com>
Simona Iacob <s AT zp1 DOT net>
Thomas Fanninger <gogs DOT thomas AT fanninger DOT at> Thomas Fanninger <gogs DOT thomas AT fanninger DOT at>
Tilmann Bach <tilmann AT outlook DOT com> Tilmann Bach <tilmann AT outlook DOT com>
Toni Villena Jiménez <tonivj5 AT gmail DOT com> Toni Villena Jiménez <tonivj5 AT gmail DOT com>
Vincent AMSTOUTZ <vincent DOT amstoutz AT outlook DOT fr>
Vladimir Jigulin mogaika AT yandex DOT ru Vladimir Jigulin mogaika AT yandex DOT ru
Vladimir Vissoultchev <wqweto AT gmail DOT com> Vladimir Vissoultchev <wqweto AT gmail DOT com>
Vongola <me AT vongola DOT tw> Vongola <me AT vongola DOT tw>

View File

@@ -44,21 +44,21 @@ issues=Задачи
cancel=Отказ cancel=Отказ
[status] [status]
page_not_found=Page Not Found page_not_found=Страницата не е намерена
internal_server_error=Internal Server Error internal_server_error=Вътрешна грешка в сървър
[install] [install]
install=Инсталация install=Инсталация
title=Стъпки за инсталиране при първоначално стартиране title=Стъпки за инсталиране при първоначално стартиране
docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница! docker_helper=Ако Gogs е стартиран в Docker контейнер, моля прочетете <a target="_blank" href="%s">нашите указания</a> внимателно, преди да правите промени по настройките на тази страница!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs изисква MySQL, PostgreSQL, SQLite3 или TiDB (през MySQL протокол).
db_title=Настройки на базата данни db_title=Настройки на базата данни
db_type=Тип на база данни db_type=Тип на база данни
host=Сървър host=Сървър
user=Потребител user=Потребител
password=Парола password=Парола
db_name=Име на база данни db_name=Име на база данни
db_schema=Schema db_schema=Схема
db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL. db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
ssl_mode=Режим SSL ssl_mode=Режим SSL
path=Път path=Път
@@ -88,6 +88,7 @@ log_root_path=Път към журналите
log_root_path_helper=Директория в която се записват журналите. log_root_path_helper=Директория в която се записват журналите.
enable_console_mode=Включване на конзолен режим enable_console_mode=Включване на конзолен режим
enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим. enable_console_mode_popup=Изписване на логовете в конзолата, в допълнение към файловият режим.
default_branch=Клон по подразбиране
optional_title=Опционални настройки optional_title=Опционални настройки
email_title=Настройки на пощенска услуга email_title=Настройки на пощенска услуга
@@ -126,7 +127,7 @@ run_user_not_match=Потребителският контекст на прил
smtp_host_missing_port=Липсва порт в зададения SMTP адрес. smtp_host_missing_port=Липсва порт в зададения SMTP адрес.
invalid_smtp_from=Невалидно поле От: %v invalid_smtp_from=Невалидно поле От: %v
save_config_failed=Неуспешно запазване на конфигурация: %v save_config_failed=Неуспешно запазване на конфигурация: %v
init_failed=Failed to initialize application: %v init_failed=Грешка при инициализация на приложение: %v
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
install_success=Добре дошли! Радваме се, че избрахте Gogs, и Ви пожелаваме приятна работа и сърдечни поздрави! install_success=Добре дошли! Радваме се, че избрахте Gogs, и Ви пожелаваме приятна работа и сърдечни поздрави!
invalid_log_root_path=Основният път към журналите е невалиден: %v invalid_log_root_path=Основният път към журналите е невалиден: %v
@@ -156,8 +157,8 @@ register_hepler_msg=Вече имате профил? Впишете се сег
social_register_hepler_msg=Вече имате профил? Свържете се сега! social_register_hepler_msg=Вече имате профил? Свържете се сега!
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта. disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
disable_register_mail=За съжаление потвърждението на регистрации е изключено. disable_register_mail=За съжаление потвърждението на регистрации е изключено.
auth_source=Authentication Source auth_source=Източник за удостоверяване
local=Local local=Локален
remember_me=Запомни ме remember_me=Запомни ме
forgot_password=Забравена парола forgot_password=Забравена парола
forget_password=Забравена парола? forget_password=Забравена парола?
@@ -178,10 +179,10 @@ non_local_account=Нелокални потребители не могат да
login_two_factor=Двуфакторно удостоверяване login_two_factor=Двуфакторно удостоверяване
login_two_factor_passcode=Парола за удостоверяване login_two_factor_passcode=Парола за удостоверяване
login_two_factor_enter_recovery_code=Enter a two-factor recovery code login_two_factor_enter_recovery_code=Въведете двуфакторен код за възстановяване
login_two_factor_recovery=Two-factor Recovery login_two_factor_recovery=Двуфакторно възстановяване
login_two_factor_recovery_code=Код за възстановяване login_two_factor_recovery_code=Код за възстановяване
login_two_factor_enter_passcode=Enter a two-factor passcode login_two_factor_enter_passcode=Въведете двуфакторен код
login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден. login_two_factor_invalid_recovery_code=Този код за възстановяване вече е бил използван или не е валиден.
[mail] [mail]
@@ -316,6 +317,7 @@ delete_email=Изтрий
email_deletion=Изтрий ел. поща email_deletion=Изтрий ел. поща
email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите? email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите?
email_deletion_success=Ел. пощата беше изтрита успешно! email_deletion_success=Ел. пощата беше изтрита успешно!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Добавяне на нов адрес на ел. поща add_new_email=Добавяне на нов адрес на ел. поща
add_email=Добави ел. поща add_email=Добави ел. поща
add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация. add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация.
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Управление на индивидуални API ключове за достъп manage_access_token=Управление на индивидуални API ключове за достъп
generate_new_token=Генериране на нов API ключ generate_new_token=Генериране на нов API ключ
tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gogs. tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил. new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил.
token_name=Име на API ключ token_name=Име на API ключ
generate_token=Генериране на API ключ generate_token=Генериране на API ключ
@@ -491,6 +494,8 @@ branches.stale_branches=Застинали клонове
branches.all=Всички клонове branches.all=Всички клонове
branches.updated_by=Актуализирани %[1]s от %[2]s branches.updated_by=Актуализирани %[1]s от %[2]s
branches.change_default_branch=Промяна на клон по подразбиране branches.change_default_branch=Промяна на клон по подразбиране
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Нов файл editor.new_file=Нов файл
editor.upload_file=Качи файл editor.upload_file=Качи файл
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Конфигурация на хранилище config.repo_config=Конфигурация на хранилище
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Adresář systémových záznamů
log_root_path_helper=Adresář, kam se budou zapisovat soubory se systémovými záznamy. log_root_path_helper=Adresář, kam se budou zapisovat soubory se systémovými záznamy.
enable_console_mode=Povolit režim konzole enable_console_mode=Povolit režim konzole
enable_console_mode_popup=Mimo zápisu do souboru vytisknout systémové záznamy i do konzole. enable_console_mode_popup=Mimo zápisu do souboru vytisknout systémové záznamy i do konzole.
default_branch=Default Branch
optional_title=Dodatečná nastavení optional_title=Dodatečná nastavení
email_title=Nastavení e-mailové služby email_title=Nastavení e-mailové služby
@@ -316,6 +317,7 @@ delete_email=Smazat
email_deletion=Smazání e-mailové adresy email_deletion=Smazání e-mailové adresy
email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat? email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat?
email_deletion_success=E-mailová adresa byla smazána! email_deletion_success=E-mailová adresa byla smazána!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Přidat novou e-mailovou adresu add_new_email=Přidat novou e-mailovou adresu
add_email=Přidat e-mailovou adresu add_email=Přidat e-mailovou adresu
add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení. add_email_confirmation_sent=Nový potvrzovací e-mail byl odeslán na adresu '%s', prosím zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení.
@@ -370,6 +372,7 @@ two_factor_disable_success=Dvoufaktorové ověření bylo zakázáno!
manage_access_token=Správa osobních přístupových poukázek manage_access_token=Správa osobních přístupových poukázek
generate_new_token=Vygenerovat novou poukázku generate_new_token=Vygenerovat novou poukázku
tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gogs API. tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Každá poukázka má úplný přístup k vašemu účtu. new_token_desc=Každá poukázka má úplný přístup k vašemu účtu.
token_name=Název poukázky token_name=Název poukázky
generate_token=Vygenerovat poukázku generate_token=Vygenerovat poukázku
@@ -491,6 +494,8 @@ branches.stale_branches=Zastaralé větve
branches.all=Všechny větve branches.all=Všechny větve
branches.updated_by=%[2]s změnil %[1]s branches.updated_by=%[2]s změnil %[1]s
branches.change_default_branch=Změnit výchozí větev branches.change_default_branch=Změnit výchozí větev
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nový soubor editor.new_file=Nový soubor
editor.upload_file=Nahrát soubor editor.upload_file=Nahrát soubor
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Serverové šifry config.ssh.server_ciphers=Serverové šifry
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Nastavení repositáře config.repo_config=Nastavení repositáře
config.repo.root_path=Kořenová cesta config.repo.root_path=Kořenová cesta
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -50,8 +50,8 @@ internal_server_error=Interner Serverfehler
[install] [install]
install=Installation install=Installation
title=Installationsschritte für den ersten Start title=Installationsschritte für den ersten Start
docker_helper=Wenn Gogs innerhalb von Docker läuft, lesen Sie sich bitte den <a target="_blank" href="%s">Leitfaden</a> genau durch, bevor Sie irgendwas auf dieser Seite ändern! docker_helper=Wenn Gogs innerhalb von Docker läuft, lesen Sie sich bitte den <a target="_blank" href="%s">Leitfaden</a> genau durch, bevor Sie etwas auf dieser Seite ändern!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs benötigt MySQL, PostgreSQL, SQLite3 oder TiDB (mit MySQL-Protokoll)
db_title=Datenbankeinstellungen db_title=Datenbankeinstellungen
db_type=Datenbanktyp db_type=Datenbanktyp
host=Host host=Host
@@ -88,6 +88,7 @@ log_root_path=Logdateipfad
log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden. log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden.
enable_console_mode=Konsolen-Modus einschalten enable_console_mode=Konsolen-Modus einschalten
enable_console_mode_popup=Zusätzlich zum Datei-Modus, zeige Logs auch in der Konsole. enable_console_mode_popup=Zusätzlich zum Datei-Modus, zeige Logs auch in der Konsole.
default_branch=Standard Branch
optional_title=Optionale Einstellungen optional_title=Optionale Einstellungen
email_title=E-Mail-Service Einstellungen email_title=E-Mail-Service Einstellungen
@@ -316,6 +317,7 @@ delete_email=Löschen
email_deletion=E-Mail löschen email_deletion=E-Mail löschen
email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren? email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren?
email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht! email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht!
email_deletion_primary=Die primäre E-Mail-Adresse kann nicht gelöscht werden.
add_new_email=Neue E-Mail-Adresse hinzufügen add_new_email=Neue E-Mail-Adresse hinzufügen
add_email=E-Mail-Adresse hinzufügen add_email=E-Mail-Adresse hinzufügen
add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfen Sie Ihren Posteingang innerhalb von %d Stunden um die Bestätigung abzuschließen. add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfen Sie Ihren Posteingang innerhalb von %d Stunden um die Bestätigung abzuschließen.
@@ -370,6 +372,7 @@ two_factor_disable_success=Die Zwei-Faktor-Authentifizierung wurde erfolgreich d
manage_access_token=Verwaltung persönlicher Zugangs-Token manage_access_token=Verwaltung persönlicher Zugangs-Token
generate_new_token=Neues Token erzeugen generate_new_token=Neues Token erzeugen
tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gogs-API verwendet werden. tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gogs-API verwendet werden.
access_token_tips=Der persönliche Zugangs-Token kann entweder als Benutzername oder als Passwort verwendet werden. Es wird empfohlen den "x-access-token" als Benutzernamen und den persönlichen Zugangs-Token als Passwort für Git-Anwendungen zu verwenden.
new_token_desc=Jeder Token erlaubt vollen Zugriff auf ihr Konto. new_token_desc=Jeder Token erlaubt vollen Zugriff auf ihr Konto.
token_name=Token-Name token_name=Token-Name
generate_token=Token generieren generate_token=Token generieren
@@ -400,9 +403,9 @@ owner=Besitzer
repo_name=Repository-Name repo_name=Repository-Name
repo_name_helper=Ein guter Repository-Name besteht gewöhnlich aus kurzen, leicht zu merkenden und eindeutigen Schlüsselworten. repo_name_helper=Ein guter Repository-Name besteht gewöhnlich aus kurzen, leicht zu merkenden und eindeutigen Schlüsselworten.
visibility=Sichtbarkeit visibility=Sichtbarkeit
unlisted=Unlisted unlisted=Ungelistet
visiblity_helper=Dieses Repository ist <span class="ui red text">privat</span> visiblity_helper=Dieses Repository ist <span class="ui red text">privat</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Dieses Repository ist <span class="ui red text">nicht gelistet</span>
visiblity_helper_forced=Der Administrator hat festgelegt, dass alle neuen Repositories <span class="ui red text">privat</span> sein müssen visiblity_helper_forced=Der Administrator hat festgelegt, dass alle neuen Repositories <span class="ui red text">privat</span> sein müssen
visiblity_fork_helper=(Eine Änderung dieses Wertes wirkt sich auf alle Forks aus) visiblity_fork_helper=(Eine Änderung dieses Wertes wirkt sich auf alle Forks aus)
clone_helper=Brauchen Sie Hilfe beim Klonen? Hier gibt es <a target="_blank" href="%s">Hilfe</a>! clone_helper=Brauchen Sie Hilfe beim Klonen? Hier gibt es <a target="_blank" href="%s">Hilfe</a>!
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Dies kann eine HTTP/HTTPS/GIT-URL sein.
migrate.clone_address_desc_import_local=Sie dürfen auch ein Repository vom lokalen Serverpfad migrieren. migrate.clone_address_desc_import_local=Sie dürfen auch ein Repository vom lokalen Serverpfad migrieren.
migrate.permission_denied=Ihnen fehlen die Rechte zum Importieren lokaler Repositories. migrate.permission_denied=Ihnen fehlen die Rechte zum Importieren lokaler Repositories.
migrate.invalid_local_path=Der lokale Pfad ist ungültig, existiert nicht oder ist kein Ordner. migrate.invalid_local_path=Der lokale Pfad ist ungültig, existiert nicht oder ist kein Ordner.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Klonadresse in eine lokale Netzwerkadresse aufgelöst, die implizit blockiert ist.
migrate.failed=Fehler bei Migration: %v migrate.failed=Fehler bei Migration: %v
mirror_from=Mirror von mirror_from=Mirror von
@@ -491,6 +494,8 @@ branches.stale_branches=Alte Branches
branches.all=Alle Branches branches.all=Alle Branches
branches.updated_by=Aktualisiert %[1]s von %[2]s branches.updated_by=Aktualisiert %[1]s von %[2]s
branches.change_default_branch=Ändere Standard-Branch branches.change_default_branch=Ändere Standard-Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Neue Datei editor.new_file=Neue Datei
editor.upload_file=Datei hochladen editor.upload_file=Datei hochladen
@@ -810,7 +815,7 @@ settings.webhook.headers=Kopfzeilen
settings.webhook.payload=Nutzdaten settings.webhook.payload=Nutzdaten
settings.webhook.body=Inhalt settings.webhook.body=Inhalt
settings.webhook.err_cannot_parse_payload_url=Payload URL kann nicht analysiert werden: %v settings.webhook.err_cannot_parse_payload_url=Payload URL kann nicht analysiert werden: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=Die Payload-URL wurde in eine lokale Netzwerkadresse aufgelöst, die implizit blockiert ist.
settings.githooks_desc=Git-Hooks werden von Git selbst bereitgestellt. Sie können die Dateien der unterstützten Hooks in der Liste unten bearbeiten, um eigene Operationen einzubinden. settings.githooks_desc=Git-Hooks werden von Git selbst bereitgestellt. Sie können die Dateien der unterstützten Hooks in der Liste unten bearbeiten, um eigene Operationen einzubinden.
settings.githook_edit_desc=Wenn ein Hook inaktiv ist, wird der Standardinhalt benutzt. Lassen Sie den Inhalt leer, um den Hook zu deaktivieren. settings.githook_edit_desc=Wenn ein Hook inaktiv ist, wird der Standardinhalt benutzt. Lassen Sie den Inhalt leer, um den Hook zu deaktivieren.
settings.githook_name=Hook-Name settings.githook_name=Hook-Name
@@ -937,7 +942,7 @@ team_name_helper=Unter diesem Namen können Sie in Diskussionen auf das Team ver
team_desc_helper=Worum geht es bei diesem Team? team_desc_helper=Worum geht es bei diesem Team?
team_permission_desc=Welche Berechtigungsstufe soll das Team haben? team_permission_desc=Welche Berechtigungsstufe soll das Team haben?
form.name_not_allowed=Organization name or pattern %q is not allowed. form.name_not_allowed=Organisationsname oder Muster %q ist nicht zulässig.
form.team_name_not_allowed=Benutzername oder Muster %q ist nicht erlaubt. form.team_name_not_allowed=Benutzername oder Muster %q ist nicht erlaubt.
settings=Einstellungen settings=Einstellungen
@@ -1022,7 +1027,7 @@ dashboard.system_status=Systemmonitor-Status
dashboard.statistic_info=Gogs Datenbank hat <b>%d</b> Benutzer, <b>%d</b> Organisationen, <b>%d</b> öffentliche Schlüssel, <b>%d</b> Repositories, <b>%d</b> Beobachtet, <b>%d</b> Favoriten, <b>%d</b> Aktionen, <b>%d</b> Zugriffe, <b>%d</b> Issues, <b>%d</b> Kommentare, <b>%d</b> Konten sozialer Medien, <b>%d</b> Folgende, <b>%d</b> Mirror, <b>%d</b> Releases, <b>%d</b> Login-Quellen, <b>%d</b> Webhooks, <b>%d</b> Meilensteine, <b>%d</b> Label, <b>%d</b> Hook-Tasks, <b>%d</b> Teams, <b>%d</b> Aktualisierungs-Tasks, <b>%d</b> Anhänge. dashboard.statistic_info=Gogs Datenbank hat <b>%d</b> Benutzer, <b>%d</b> Organisationen, <b>%d</b> öffentliche Schlüssel, <b>%d</b> Repositories, <b>%d</b> Beobachtet, <b>%d</b> Favoriten, <b>%d</b> Aktionen, <b>%d</b> Zugriffe, <b>%d</b> Issues, <b>%d</b> Kommentare, <b>%d</b> Konten sozialer Medien, <b>%d</b> Folgende, <b>%d</b> Mirror, <b>%d</b> Releases, <b>%d</b> Login-Quellen, <b>%d</b> Webhooks, <b>%d</b> Meilensteine, <b>%d</b> Label, <b>%d</b> Hook-Tasks, <b>%d</b> Teams, <b>%d</b> Aktualisierungs-Tasks, <b>%d</b> Anhänge.
dashboard.operation_name=Name der Operation dashboard.operation_name=Name der Operation
dashboard.operation_switch=Wechseln dashboard.operation_switch=Wechseln
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Bitte wählen Sie den auszuführenden Vorgang aus
dashboard.operation_run=Ausführen dashboard.operation_run=Ausführen
dashboard.clean_unbind_oauth=Nicht verbundene OAuths bereinigen dashboard.clean_unbind_oauth=Nicht verbundene OAuths bereinigen
dashboard.clean_unbind_oauth_success=Alle nicht verbundenen OAuth-Tokens wurden gelöscht. dashboard.clean_unbind_oauth_success=Alle nicht verbundenen OAuth-Tokens wurden gelöscht.
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen-Host
config.ssh.listen_port=Listen-Port config.ssh.listen_port=Listen-Port
config.ssh.server_ciphers=Serverchiffren config.ssh.server_ciphers=Serverchiffren
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server-Algorithmen
config.repo_config=Repository-Konfiguration config.repo_config=Repository-Konfiguration
config.repo.root_path=Wurzelpfad config.repo.root_path=Wurzelpfad
@@ -1232,14 +1238,14 @@ config.db.type=Typ
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Name
config.db.schema=Schema config.db.schema=Schema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(nur für "postgres")
config.db.user=Benutzer config.db.user=Benutzer
config.db.ssl_mode=SSL-Modus config.db.ssl_mode=SSL-Modus
config.db.ssl_mode_helper=(nur für "postgres") config.db.ssl_mode_helper=(nur für "postgres")
config.db.path=Pfad config.db.path=Pfad
config.db.path_helper=(nur für "sqlite3") config.db.path_helper=(nur für "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Maximale Anzahl offener Verbindungen
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Maximale Leerlaufverbindungen
config.security_config=Sicherheitskonfiguration config.security_config=Sicherheitskonfiguration
config.security.login_remember_days=Anzahl Tage zum Speichern des Logins config.security.login_remember_days=Anzahl Tage zum Speichern des Logins
@@ -1249,7 +1255,7 @@ config.security.cookie_secure=Sicheres Cookie aktivieren
config.security.reverse_proxy_auth_user=Reverse-Proxy-Authentifizierungs-Header config.security.reverse_proxy_auth_user=Reverse-Proxy-Authentifizierungs-Header
config.security.enable_login_status_cookie=Login-Status-Cookie aktivieren config.security.enable_login_status_cookie=Login-Status-Cookie aktivieren
config.security.login_status_cookie_name=Login-Status-Cookie config.security.login_status_cookie_name=Login-Status-Cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Zulassungsliste für lokale Netzwerke
config.email_config=E-Mail-Konfiguration config.email_config=E-Mail-Konfiguration
config.email.enabled=Aktiviert config.email.enabled=Aktiviert
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Fehler beim Senden der Test-E-Mail an '%s': %v
config.email.test_mail_sent=Test-E-Mail wurde an '%s ' gesendet. config.email.test_mail_sent=Test-E-Mail wurde an '%s ' gesendet.
config.auth_config=Authentifizierungskonfiguration config.auth_config=Authentifizierungskonfiguration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Aktivierungscode Lebensdauer config.auth.activate_code_lives=Aktivierungscode Lebensdauer
config.auth.reset_password_code_lives=Gültigkeitsdauer Zurücksetzungs-Code config.auth.reset_password_code_lives=Gültigkeitsdauer Zurücksetzungs-Code
config.auth.require_email_confirm=E-Mail-Bestätigung erforderlich config.auth.require_email_confirm=E-Mail-Bestätigung erforderlich

View File

@@ -88,6 +88,7 @@ log_root_path=Log Path
log_root_path_helper=Directory to write log files to. log_root_path_helper=Directory to write log files to.
enable_console_mode=Enable Console Mode enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=In addition to file mode, also print logs to console.
default_branch=Default Branch
optional_title=Optional Settings optional_title=Optional Settings
email_title=Email Service Settings email_title=Email Service Settings
@@ -318,6 +319,7 @@ delete_email=Delete
email_deletion=Email Deletion email_deletion=Email Deletion
email_deletion_desc=Deleting this email address will remove related information from your account. Do you want to continue? email_deletion_desc=Deleting this email address will remove related information from your account. Do you want to continue?
email_deletion_success=Email has been deleted successfully! email_deletion_success=Email has been deleted successfully!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Add new email address add_new_email=Add new email address
add_email=Add email add_email=Add email
add_email_confirmation_sent=A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process. add_email_confirmation_sent=A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
@@ -373,6 +375,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Manage Personal Access Tokens manage_access_token=Manage Personal Access Tokens
generate_new_token=Generate New Token generate_new_token=Generate New Token
tokens_desc=Tokens you have generated that can be used to access the Gogs APIs. tokens_desc=Tokens you have generated that can be used to access the Gogs APIs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Each token will have full access to your account. new_token_desc=Each token will have full access to your account.
token_name=Token Name token_name=Token Name
generate_token=Generate Token generate_token=Generate Token
@@ -498,6 +501,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=New file editor.new_file=New file
editor.upload_file=Upload file editor.upload_file=Upload file
@@ -1260,6 +1265,7 @@ config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository Configuration config.repo_config=Repository Configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1342,6 +1348,7 @@ config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives

View File

@@ -51,13 +51,14 @@ internal_server_error = Internal Server Error
install = Installation install = Installation
title = Install Steps For First-time Run title = Install Steps For First-time Run
docker_helper = If you're running Gogs inside Docker, please read <a target="_blank" href="%s">Guidelines</a> carefully before you change anything in this page! docker_helper = If you're running Gogs inside Docker, please read <a target="_blank" href="%s">Guidelines</a> carefully before you change anything in this page!
requite_db_desc = Gogs requires MySQL, PostgreSQL, SQLite3, MSSQL or TiDB. requite_db_desc = Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol).
db_title = Database Settings db_title = Database Settings
db_type = Database Type db_type = Database Type
host = Host host = Host
user = User user = User
password = Password password = Password
db_name = Database Name db_name = Database Name
db_schema = Schema
db_helper = Please use INNODB engine with utf8_general_ci charset for MySQL. db_helper = Please use INNODB engine with utf8_general_ci charset for MySQL.
ssl_mode = SSL Mode ssl_mode = SSL Mode
path = Path path = Path
@@ -87,6 +88,7 @@ log_root_path = Log Path
log_root_path_helper = Directory to write log files to. log_root_path_helper = Directory to write log files to.
enable_console_mode = Enable Console Mode enable_console_mode = Enable Console Mode
enable_console_mode_popup = In addition to file mode, also print logs to console. enable_console_mode_popup = In addition to file mode, also print logs to console.
default_branch = Default Branch
optional_title = Optional Settings optional_title = Optional Settings
email_title = Email Service Settings email_title = Email Service Settings
@@ -118,7 +120,6 @@ confirm_password = Confirm Password
admin_email = Admin Email admin_email = Admin Email
install_gogs = Install Gogs install_gogs = Install Gogs
test_git_failed = Failed to test 'git' command: %v test_git_failed = Failed to test 'git' command: %v
sqlite3_not_available = Your release version does not support SQLite3, please download the official binary version from %s, NOT the gobuild version.
invalid_db_setting = Database setting is not correct: %v invalid_db_setting = Database setting is not correct: %v
invalid_repo_path = Repository root path is invalid: %v invalid_repo_path = Repository root path is invalid: %v
run_user_not_match = Run user isn't the current user: %s -> %s run_user_not_match = Run user isn't the current user: %s -> %s
@@ -315,6 +316,7 @@ delete_email = Delete
email_deletion = Email Deletion email_deletion = Email Deletion
email_deletion_desc = Deleting this email address will remove related information from your account. Do you want to continue? email_deletion_desc = Deleting this email address will remove related information from your account. Do you want to continue?
email_deletion_success = Email has been deleted successfully! email_deletion_success = Email has been deleted successfully!
email_deletion_primary = Cannot delete primary email address.
add_new_email = Add new email address add_new_email = Add new email address
add_email = Add Email add_email = Add Email
add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process. add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
@@ -369,6 +371,7 @@ two_factor_disable_success = Two-factor authentication has disabled successfully
manage_access_token = Manage Personal Access Tokens manage_access_token = Manage Personal Access Tokens
generate_new_token = Generate New Token generate_new_token = Generate New Token
tokens_desc = Tokens you have generated that can be used to access the Gogs APIs. tokens_desc = Tokens you have generated that can be used to access the Gogs APIs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc = Each token will have full access to your account. new_token_desc = Each token will have full access to your account.
token_name = Token Name token_name = Token Name
generate_token = Generate Token generate_token = Generate Token
@@ -399,7 +402,9 @@ owner = Owner
repo_name = Repository Name repo_name = Repository Name
repo_name_helper = A good repository name is usually composed of short, memorable and unique keywords. repo_name_helper = A good repository name is usually composed of short, memorable and unique keywords.
visibility = Visibility visibility = Visibility
unlisted = Unlisted
visiblity_helper = This repository is <span class="ui red text">Private</span> visiblity_helper = This repository is <span class="ui red text">Private</span>
unlisted_helper = This repository is <span class="ui red text">Unlisted</span>
visiblity_helper_forced = Site admin has forced all new repositories to be <span class="ui red text">Private</span> visiblity_helper_forced = Site admin has forced all new repositories to be <span class="ui red text">Private</span>
visiblity_fork_helper = (Change of this value will affect all forks) visiblity_fork_helper = (Change of this value will affect all forks)
clone_helper = Need help cloning? Visit <a target="_blank" href="%s">Help</a>! clone_helper = Need help cloning? Visit <a target="_blank" href="%s">Help</a>!
@@ -488,6 +493,8 @@ branches.stale_branches = Stale Branches
branches.all = All Branches branches.all = All Branches
branches.updated_by = Updated %[1]s by %[2]s branches.updated_by = Updated %[1]s by %[2]s
branches.change_default_branch = Change Default Branch branches.change_default_branch = Change Default Branch
branches.default_deletion_not_allowed = Cannot delete the default branch.
branches.protected_deletion_not_allowed = Cannot delete a protected branch.
editor.new_file = New file editor.new_file = New file
editor.upload_file = Upload file editor.upload_file = Upload file
@@ -1203,6 +1210,8 @@ config.ssh.start_builtin_server = Start builtin server
config.ssh.listen_host = Listen host config.ssh.listen_host = Listen host
config.ssh.listen_port = Listen port config.ssh.listen_port = Listen port
config.ssh.server_ciphers = Server ciphers config.ssh.server_ciphers = Server ciphers
config.ssh.server_macs = Server MACs
config.ssh.server_algorithms = Server algorithms
config.repo_config = Repository configuration config.repo_config = Repository configuration
config.repo.root_path = Root path config.repo.root_path = Root path
@@ -1227,6 +1236,8 @@ config.db_config = Database configuration
config.db.type = Type config.db.type = Type
config.db.host = Host config.db.host = Host
config.db.name = Name config.db.name = Name
config.db.schema = Schema
config.db.schema_helper = (for "postgres" only)
config.db.user = User config.db.user = User
config.db.ssl_mode = SSL mode config.db.ssl_mode = SSL mode
config.db.ssl_mode_helper = (for "postgres" only) config.db.ssl_mode_helper = (for "postgres" only)
@@ -1251,7 +1262,6 @@ config.email.subject_prefix = Subject prefix
config.email.host = Host config.email.host = Host
config.email.from = From config.email.from = From
config.email.user = User config.email.user = User
config.email.disable_helo = Disable HELO
config.email.helo_hostname = HELO hostname config.email.helo_hostname = HELO hostname
config.email.skip_verify = Skip certificate verify config.email.skip_verify = Skip certificate verify
config.email.use_certificate = Use custom certificate config.email.use_certificate = Use custom certificate
@@ -1264,6 +1274,7 @@ config.email.test_mail_failed = Failed to send test email to '%s': %v
config.email.test_mail_sent = Test email has been sent to '%s'. config.email.test_mail_sent = Test email has been sent to '%s'.
config.auth_config = Authentication configuration config.auth_config = Authentication configuration
config.auth_custom_logout_url = Custom logout URL
config.auth.activate_code_lives = Activate code lives config.auth.activate_code_lives = Activate code lives
config.auth.reset_password_code_lives = Reset password code lives config.auth.reset_password_code_lives = Reset password code lives
config.auth.require_email_confirm = Require email confirmation config.auth.require_email_confirm = Require email confirmation

View File

@@ -44,21 +44,21 @@ issues=Incidencias
cancel=Cancelar cancel=Cancelar
[status] [status]
page_not_found=Page Not Found page_not_found=Página no encontrada
internal_server_error=Internal Server Error internal_server_error=Error Interno del Servidor
[install] [install]
install=Instalación install=Instalación
title=Pasos de la instalación por primera vez title=Pasos de la instalación por primera vez
docker_helper=Si está ejecutando Gogs usando Docker, ¡por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada en esta página! docker_helper=Si está ejecutando Gogs usando Docker, ¡por favor lea <a target="_blank" href="%s"> estas pautas</a> antes de cambiar nada en esta página!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs requiere MySQL, PostgreSQL, SQLite3 o TiDB (a través del protocolo MySQL).
db_title=Configuración de base de datos db_title=Configuración de base de datos
db_type=Tipo de base de datos db_type=Tipo de base de datos
host=Host host=Host
user=Usuario user=Usuario
password=Contraseña password=Contraseña
db_name=Nombre de la base de datos db_name=Nombre de la base de datos
db_schema=Schema db_schema=Esquema
db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL. db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL.
ssl_mode=Modo SSL ssl_mode=Modo SSL
path=Ruta path=Ruta
@@ -88,6 +88,7 @@ log_root_path=Ruta del registro
log_root_path_helper=Directorio donde almacenar los registros. log_root_path_helper=Directorio donde almacenar los registros.
enable_console_mode=Activar Modo Consola enable_console_mode=Activar Modo Consola
enable_console_mode_popup=Además del modo archivo, también imprime los registros en consola. enable_console_mode_popup=Además del modo archivo, también imprime los registros en consola.
default_branch=Rama por defecto
optional_title=Configuración opcional optional_title=Configuración opcional
email_title=Configuración del servicio de correo email_title=Configuración del servicio de correo
@@ -118,7 +119,7 @@ admin_password=Contraseña
confirm_password=Confirmar Contraseña confirm_password=Confirmar Contraseña
admin_email=Correo electrónico del administrador admin_email=Correo electrónico del administrador
install_gogs=Instalar Gogs install_gogs=Instalar Gogs
test_git_failed=Fallo al probar el comando 'git': %v test_git_failed=Error al probar el comando 'git': %v
sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild. sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild.
invalid_db_setting=La configuración de la base de datos no es correcta: %v invalid_db_setting=La configuración de la base de datos no es correcta: %v
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
@@ -126,7 +127,7 @@ run_user_not_match=El usuario que está ejecutando la aplicación no es el usuar
smtp_host_missing_port=No se ha definido el puerto para el host SMTP. smtp_host_missing_port=No se ha definido el puerto para el host SMTP.
invalid_smtp_from=El campo SMTP no es válido: %v invalid_smtp_from=El campo SMTP no es válido: %v
save_config_failed=Error al guardar la configuración: %v save_config_failed=Error al guardar la configuración: %v
init_failed=Failed to initialize application: %v init_failed=Error al inicializar la aplicación: %v
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
install_success=Bienvenido! Estamos encantados de que hayas escogido Gogs, diviértete y cuídate. install_success=Bienvenido! Estamos encantados de que hayas escogido Gogs, diviértete y cuídate.
invalid_log_root_path=La ruta para los registros es inválida: %v invalid_log_root_path=La ruta para los registros es inválida: %v
@@ -264,7 +265,7 @@ following=Siguiendo
follow=Seguir follow=Seguir
unfollow=Dejar de seguir unfollow=Dejar de seguir
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=El nombre de usuario o patrón %q no está permitido.
[settings] [settings]
profile=Perfil profile=Perfil
@@ -316,6 +317,7 @@ delete_email=Eliminar
email_deletion=Eliminar correo electrónico email_deletion=Eliminar correo electrónico
email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar? email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar?
email_deletion_success=¡El correo electrónico ha sido eliminado correctamente! email_deletion_success=¡El correo electrónico ha sido eliminado correctamente!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Añadir nueva dirección de correo electrónico add_new_email=Añadir nueva dirección de correo electrónico
add_email=Añadir correo electrónico add_email=Añadir correo electrónico
add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso. add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso.
@@ -370,6 +372,7 @@ two_factor_disable_success=¡La autenticación en dos pasos ha sido deshabilitad
manage_access_token=Gestionar los Tokens de Acceso personales manage_access_token=Gestionar los Tokens de Acceso personales
generate_new_token=Generar nuevo Token generate_new_token=Generar nuevo Token
tokens_desc=Tokens usados para acceder al API de Gogs. tokens_desc=Tokens usados para acceder al API de Gogs.
access_token_tips=El token de acceso personal puede utilizarse como nombre de usuario o como contraseña. Se recomienda utilizar el "x-access-token" como nombre de usuario y el token de acceso personal como contraseña para las aplicaciones Git.
new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta. new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta.
token_name=Nombre del Token token_name=Nombre del Token
generate_token=Generar Token generate_token=Generar Token
@@ -378,7 +381,7 @@ delete_token=Eliminar
access_token_deletion=Borrado de Token de Acceso Personal access_token_deletion=Borrado de Token de Acceso Personal
access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar? access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar?
delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas. delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas.
token_name_exists=Token with same name already exists. token_name_exists=Ya existe un token con el mismo nombre.
orgs.none=No eres un miembro de ninguna organización. orgs.none=No eres un miembro de ninguna organización.
orgs.leave_title=Salir de una organización orgs.leave_title=Salir de una organización
@@ -400,9 +403,9 @@ owner=Propietario
repo_name=Nombre del repositorio repo_name=Nombre del repositorio
repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y <strong>únicos</strong>. repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y <strong>únicos</strong>.
visibility=Visibilidad visibility=Visibilidad
unlisted=Unlisted unlisted=Sin listar
visiblity_helper=Este repositorio es <span class="ui red text">privado</span> visiblity_helper=Este repositorio es <span class="ui red text">privado</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Este repositorio <span class="ui red text">no está en la lista</span>
visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser <span class="ui red text"> privados</span> visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser <span class="ui red text"> privados</span>
visiblity_fork_helper=(Este cambio afectará a todos los forks) visiblity_fork_helper=(Este cambio afectará a todos los forks)
clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la <a target="_blank" href="%s">Ayuda</a>! clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la <a target="_blank" href="%s">Ayuda</a>!
@@ -420,7 +423,7 @@ auto_init=Inicializar los archivos seleccionados y plantillas de este repositori
create_repo=Crear repositorio create_repo=Crear repositorio
default_branch=Rama por defecto default_branch=Rama por defecto
mirror_prune=Purgar mirror_prune=Purgar
mirror_prune_desc=Remover referencias remotas que no existan remotamente mirror_prune_desc=Elimina cualquier referencia de seguimiento remoto que ya no exista en el remoto
mirror_interval=Intervalo de la réplica (en horas) mirror_interval=Intervalo de la réplica (en horas)
mirror_address=Dirección de la réplica mirror_address=Dirección de la réplica
mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección. mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección.
@@ -432,7 +435,7 @@ repo_description_helper=Descripción del repositorio. Longitud máxima de 512 ca
repo_description_length=Caracteres disponibles repo_description_length=Caracteres disponibles
form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados. form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=El nombre de repositorio o patrón %q no está permitido.
need_auth=Requiere autorización need_auth=Requiere autorización
migrate_type=Tipo de migración migrate_type=Tipo de migración
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Esto puede ser una dirección URL HTTP/HTTPS/GIT.
migrate.clone_address_desc_import_local=También se le permite migrar un repositorio por la ruta del servidor local. migrate.clone_address_desc_import_local=También se le permite migrar un repositorio por la ruta del servidor local.
migrate.permission_denied=No te está permitido importar repositorios locales. migrate.permission_denied=No te está permitido importar repositorios locales.
migrate.invalid_local_path=Rutal local inválida, no existe o no es un directorio. migrate.invalid_local_path=Rutal local inválida, no existe o no es un directorio.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=La dirección de clonado se ha resuelto a una dirección de red local que está implícitamente bloqueada.
migrate.failed=Migración fallida: %v migrate.failed=Migración fallida: %v
mirror_from=espejo de mirror_from=espejo de
@@ -491,6 +494,8 @@ branches.stale_branches=Ramas Viejas
branches.all=Todas las Ramas branches.all=Todas las Ramas
branches.updated_by=%[1]s actualizado por %[2]s branches.updated_by=%[1]s actualizado por %[2]s
branches.change_default_branch=Cambiar la Rama por Defecto branches.change_default_branch=Cambiar la Rama por Defecto
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nuevo archivo editor.new_file=Nuevo archivo
editor.upload_file=Subir archivo editor.upload_file=Subir archivo
@@ -793,8 +798,8 @@ settings.remove_collaborator_success=El colaborador ha sido eliminado.
settings.search_user_placeholder=Buscar usuario... settings.search_user_placeholder=Buscar usuario...
settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores. settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores.
settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gogs. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra <a target="_blank" href="%s">Guía de Webhooks</a>. settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gogs. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra <a target="_blank" href="%s">Guía de Webhooks</a>.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Añadir un nuevo webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Elige un tipo...
settings.add_webhook=Añadir Webhook settings.add_webhook=Añadir Webhook
settings.webhook_deletion=Eliminar Webhook settings.webhook_deletion=Eliminar Webhook
settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar? settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar?
@@ -809,8 +814,8 @@ settings.webhook.response=Respuesta
settings.webhook.headers=Encabezado settings.webhook.headers=Encabezado
settings.webhook.payload=Payload settings.webhook.payload=Payload
settings.webhook.body=Cuerpo del mensaje settings.webhook.body=Cuerpo del mensaje
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v settings.webhook.err_cannot_parse_payload_url=No se puede analizar la URL de payload: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=La URL de payload se ha resuelto a una dirección de red local que está implícitamente bloqueada.
settings.githooks_desc=Los Git Hooks son una funcionalidad del propio Git, puedes editar los ficheros de los hooks soportados en la siguiente lista para aplicar operaciones personalizadas. settings.githooks_desc=Los Git Hooks son una funcionalidad del propio Git, puedes editar los ficheros de los hooks soportados en la siguiente lista para aplicar operaciones personalizadas.
settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook. settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de ejemplo. Dejar el contenido vacío deshabilitará este hook.
settings.githook_name=Nombre del Hook settings.githook_name=Nombre del Hook
@@ -937,8 +942,8 @@ team_name_helper=Utiliza este nombre para mencionar a este equipo en las convers
team_desc_helper=¿En qué consiste este equipo? team_desc_helper=¿En qué consiste este equipo?
team_permission_desc=¿Qué nivel de permisos debería tener este equipo? team_permission_desc=¿Qué nivel de permisos debería tener este equipo?
form.name_not_allowed=Organization name or pattern %q is not allowed. form.name_not_allowed=El nombre de la organización o patrón %q no está permitido.
form.team_name_not_allowed=Team name or pattern %q is not allowed. form.team_name_not_allowed=El nombre del equipo o patrón %q no está permitido.
settings=Configuración settings=Configuración
settings.options=Opciones settings.options=Opciones
@@ -1011,10 +1016,10 @@ last_page=Última
total=Total: %d total=Total: %d
dashboard.build_info=Build Information dashboard.build_info=Build Information
dashboard.app_ver=Application version dashboard.app_ver=Versión de la aplicación
dashboard.git_version=Git version dashboard.git_version=Versión de Git
dashboard.go_version=Go version dashboard.go_version=Versión de Go
dashboard.build_time=Build time dashboard.build_time=Tiempo de compilación
dashboard.build_commit=Build commit dashboard.build_commit=Build commit
dashboard.statistic=Estadísticas dashboard.statistic=Estadísticas
dashboard.operations=Operaciones dashboard.operations=Operaciones
@@ -1168,21 +1173,21 @@ auths.delete_auth_desc=Esta autenticación será eliminada. ¿Deseas continuar?
auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación. auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación.
auths.deletion_success=¡La autenticación ha sido eliminada con éxito! auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
auths.login_source_exist=El origen de autenticación '%s' ya existe. auths.login_source_exist=El origen de autenticación '%s' ya existe.
auths.github_api_endpoint=API Endpoint auths.github_api_endpoint=Endpoint de la API
config.not_set=(sin definir) config.not_set=(sin definir)
config.server_config=Configuración del servidor config.server_config=Configuración del servidor
config.brand_name=Brand name config.brand_name=Nombre de la marca
config.run_user=Ejecutada como Usuario config.run_user=Ejecutada como Usuario
config.run_mode=Modo de ejecución config.run_mode=Modo de ejecución
config.server.external_url=External URL config.server.external_url=URL externa
config.server.domain=Domain config.server.domain=Dominio
config.server.protocol=Protocol config.server.protocol=Protocolo
config.server.http_addr=HTTP address config.server.http_addr=Dirección HTTP
config.server.http_port=HTTP port config.server.http_port=Puerto HTTP
config.server.cert_file=Certificate file config.server.cert_file=Archivo de certificado
config.server.key_file=Key file config.server.key_file=Archivo de claves
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Versión mínima de TLS
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Unix socket permission
config.server.local_root_url=Local root URL config.server.local_root_url=Local root URL
config.server.offline_mode=Offline mode config.server.offline_mode=Offline mode
@@ -1193,28 +1198,29 @@ config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=Configuración SSH config.ssh_config=Configuración SSH
config.ssh.enabled=Enabled config.ssh.enabled=Activado
config.ssh.domain=Exposed domain config.ssh.domain=Dominio expuesto
config.ssh.port=Exposed port config.ssh.port=Puerto expuesto
config.ssh.root_path=Root path config.ssh.root_path=Root path
config.ssh.keygen_path=Keygen path config.ssh.keygen_path=Ruta del generador de claves
config.ssh.key_test_path=Key test path config.ssh.key_test_path=Ruta de la clave de prueba
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Comprobación del tamaño mínimo de la clave
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Tamaño mínimo de las claves
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Reescribir "authorized_keys" al inicio
config.ssh.start_builtin_server=Start builtin server config.ssh.start_builtin_server=Iniciar servidor integrado
config.ssh.listen_host=Listen host config.ssh.listen_host=Host de escucha
config.ssh.listen_port=Listen port config.ssh.listen_port=Puerto de escucha
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Cifrados del servidor
config.ssh.server_macs=Server MACs config.ssh.server_macs=MACs del servidor
config.ssh.server_algorithms=Algoritmos del servidor
config.repo_config=Configuración del repositorio config.repo_config=Configuración del repositorio
config.repo.root_path=Root path config.repo.root_path=Ruta raíz
config.repo.script_type=Script type config.repo.script_type=Script type
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=ANSI charset
config.repo.force_private=Force private config.repo.force_private=Force private
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Max creation limit
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Licencias preferidas
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Disable HTTP Git
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Enable local path migration
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Enable raw file render mode
@@ -1228,18 +1234,18 @@ config.repo.upload.file_max_size=Upload file size limit
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Upload files limit
config.db_config=Configuración de la Base de Datos config.db_config=Configuración de la Base de Datos
config.db.type=Type config.db.type=Tipo
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Nombre
config.db.schema=Schema config.db.schema=Esquema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(sólo para "postgres")
config.db.user=User config.db.user=Usuario
config.db.ssl_mode=SSL mode config.db.ssl_mode=SSL mode
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(sólo para "postgres")
config.db.path=Path config.db.path=Ruta
config.db.path_helper=(for "sqlite3"only) config.db.path_helper=(sólo para "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Número máximo de conexiones abiertas
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Número máximo de conexiones inactivas
config.security_config=Security configuration config.security_config=Security configuration
config.security.login_remember_days=Login remember days config.security.login_remember_days=Login remember days
@@ -1262,14 +1268,15 @@ config.email.helo_hostname=HELO hostname
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Skip certificate verify
config.email.use_certificate=Use custom certificate config.email.use_certificate=Use custom certificate
config.email.cert_file=Certificate file config.email.cert_file=Certificate file
config.email.key_file=Key file config.email.key_file=Archivo de claves
config.email.use_plain_text=Use plain text config.email.use_plain_text=Use plain text
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Add plain text alternative
config.email.send_test_mail=Send test email config.email.send_test_mail=Enviar correo de prueba
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Error al enviar correo electrónico de prueba a '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation
@@ -1321,7 +1328,7 @@ config.picture.disable_gravatar=Disable Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Mirror configuration
config.mirror.default_interval=Default interval config.mirror.default_interval=Intervalo por defecto
config.webhook_config=Configuración de Webhooks config.webhook_config=Configuración de Webhooks
config.webhook.types=Types config.webhook.types=Types

View File

@@ -44,14 +44,14 @@ issues=مسائل
cancel=لغو cancel=لغو
[status] [status]
page_not_found=Page Not Found page_not_found=صفحه مورد نظر یافت نشد.
internal_server_error=Internal Server Error internal_server_error=خطای داخلی سرور
[install] [install]
install=نصب install=نصب
title=مراحل نصب برای اولین اجرا title=مراحل نصب برای اولین اجرا
docker_helper=اگر شما Gogs را با استفاده از Docker اجرا می‌کنید، لطفا قبل از انجام هرگونه تغییر این <a target="_blank" href="%s"> راهنما</a> را به دقت مطالعه فرمایید! docker_helper=اگر شما Gogs را با استفاده از Docker اجرا می‌کنید، لطفا قبل از انجام هرگونه تغییر این <a target="_blank" href="%s"> راهنما</a> را به دقت مطالعه فرمایید!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs جهت راه‌اندازی نیازمند یکی از پایگاه داده‌های MySQL، PostgreSql، SQLite3 و TIDB می‌باشد.
db_title=تنظیمات پایگاه داده db_title=تنظیمات پایگاه داده
db_type=نوع پایگاه داده db_type=نوع پایگاه داده
host=میزبان host=میزبان
@@ -88,6 +88,7 @@ log_root_path=مسیر گزارش‌ها
log_root_path_helper=پوشه‌ای برای نوشتن فایل گزارش. log_root_path_helper=پوشه‌ای برای نوشتن فایل گزارش.
enable_console_mode=فعال کردن حالت کنسول enable_console_mode=فعال کردن حالت کنسول
enable_console_mode_popup=لاگ‌ها علاوه بر ذخیره در فایل، در کنسول نیز به نمایش در آید. enable_console_mode_popup=لاگ‌ها علاوه بر ذخیره در فایل، در کنسول نیز به نمایش در آید.
default_branch=Default Branch
optional_title=تنظیمات اختیاری optional_title=تنظیمات اختیاری
email_title=تنظیمات سرویس ایمیل email_title=تنظیمات سرویس ایمیل
@@ -126,7 +127,7 @@ run_user_not_match=کاربری را اجرا کنید که کاربر فعلی
smtp_host_missing_port=شماره پورت در آدرس میزبان SMTP وارد نشده است. smtp_host_missing_port=شماره پورت در آدرس میزبان SMTP وارد نشده است.
invalid_smtp_from=مقدار وارد شده در فرم SMTP معتبر نیست: %v invalid_smtp_from=مقدار وارد شده در فرم SMTP معتبر نیست: %v
save_config_failed=تنظیمات ذخیره نشد: %v save_config_failed=تنظیمات ذخیره نشد: %v
init_failed=Failed to initialize application: %v init_failed=بارگزاری برنامه به مشکل برخورد: %v
invalid_admin_setting=تنظیمات حساب مدیر نامعتبر است: %v invalid_admin_setting=تنظیمات حساب مدیر نامعتبر است: %v
install_success=خوش آمدی! ما خوشحالیم که شما Gogs را انتخاب کردید. لذت ببرید و مراقب خودتون باشید. install_success=خوش آمدی! ما خوشحالیم که شما Gogs را انتخاب کردید. لذت ببرید و مراقب خودتون باشید.
invalid_log_root_path=آدرس روت فایل لاگ صحیح نیست: %v invalid_log_root_path=آدرس روت فایل لاگ صحیح نیست: %v
@@ -264,7 +265,7 @@ following=دنبال می کند
follow=دنبال کردن follow=دنبال کردن
unfollow=لغو دنبال کردن unfollow=لغو دنبال کردن
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=الگوی نام کاربری '%s' مجاز نیست.
[settings] [settings]
profile=پروفایل profile=پروفایل
@@ -316,6 +317,7 @@ delete_email=حذف
email_deletion=حذف ایمیل email_deletion=حذف ایمیل
email_deletion_desc=حذف این آدرس ایمیل دیگر اطلاعات مربوط به آن را هم از حساب شما حذف می‌کند. آیا مایلید ادامه دهید؟ email_deletion_desc=حذف این آدرس ایمیل دیگر اطلاعات مربوط به آن را هم از حساب شما حذف می‌کند. آیا مایلید ادامه دهید؟
email_deletion_success=ایمیل با موفقیت حذف شد! email_deletion_success=ایمیل با موفقیت حذف شد!
email_deletion_primary=Cannot delete primary email address.
add_new_email=اضافه کردن آدرس ایمیل جدید add_new_email=اضافه کردن آدرس ایمیل جدید
add_email=اضافه کردن ایمیل add_email=اضافه کردن ایمیل
add_email_confirmation_sent=یک ایمیل تایید به آدرس %s ارسال شد, لطفا صندوق خود را حداکثر تا %d ساعت دیگر برای تکمیل فرایند تایید بررسی کنید. add_email_confirmation_sent=یک ایمیل تایید به آدرس %s ارسال شد, لطفا صندوق خود را حداکثر تا %d ساعت دیگر برای تکمیل فرایند تایید بررسی کنید.
@@ -372,6 +374,7 @@ two_factor_disable_success=احراز هویت دوعاملی با موفقیت
manage_access_token=مدیریت توکن دسترسی شخصی manage_access_token=مدیریت توکن دسترسی شخصی
generate_new_token=تولید توکن جدید generate_new_token=تولید توکن جدید
tokens_desc=نشانه ایجاد شده که می تواند برای دسترسی به رابط های برنامه کاربردی Gogs مورد استفاده قرار گیرد. tokens_desc=نشانه ایجاد شده که می تواند برای دسترسی به رابط های برنامه کاربردی Gogs مورد استفاده قرار گیرد.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=هر توکن می تواند دسترسی کامل به حساب شما داشته باشد. new_token_desc=هر توکن می تواند دسترسی کامل به حساب شما داشته باشد.
token_name=نام توکن token_name=نام توکن
generate_token=تولید توکن generate_token=تولید توکن
@@ -380,7 +383,7 @@ delete_token=حذف
access_token_deletion=حذف توکن دسترسی شخصی access_token_deletion=حذف توکن دسترسی شخصی
access_token_deletion_desc=حذف این توکن دسترسی شخصی ، تمام دسترسی های مرتبط به برنامه را حذف خواهد کرد. آیا ادامه می دهید؟ access_token_deletion_desc=حذف این توکن دسترسی شخصی ، تمام دسترسی های مرتبط به برنامه را حذف خواهد کرد. آیا ادامه می دهید؟
delete_token_success=رمز دسترسی شخصی با موفقیت حذف شد! به روز رسانی نرم افزار خود را نیز فراموش نکنید. delete_token_success=رمز دسترسی شخصی با موفقیت حذف شد! به روز رسانی نرم افزار خود را نیز فراموش نکنید.
token_name_exists=Token with same name already exists. token_name_exists=نشان امنیتی با این نام از قبل وجود دارد
orgs.none=شما عضو هیچ سازمانی نیستید. orgs.none=شما عضو هیچ سازمانی نیستید.
orgs.leave_title=ترک یک سازمان orgs.leave_title=ترک یک سازمان
@@ -434,7 +437,7 @@ repo_description_helper=توضیحات مخرن. حداکثر طول ۵۱۲ کا
repo_description_length=کاراکترهای موجود repo_description_length=کاراکترهای موجود
form.reach_limit_of_creation=مخزن های دارنده حساب به حداکثر تعداد مجاز %d رسیده است. form.reach_limit_of_creation=مخزن های دارنده حساب به حداکثر تعداد مجاز %d رسیده است.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=الگو یا نام مخزن %s مجاز نیست.
need_auth=نیاز به مجوز need_auth=نیاز به مجوز
migrate_type=نوع انتقال migrate_type=نوع انتقال
@@ -493,6 +496,8 @@ branches.stale_branches=شاخه های قدیمی
branches.all=همه شاخه branches.all=همه شاخه
branches.updated_by=%[1]s به روزشده توسط %[2]s branches.updated_by=%[1]s به روزشده توسط %[2]s
branches.change_default_branch=تغییر شاخه ی پیش فرض branches.change_default_branch=تغییر شاخه ی پیش فرض
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=پرونده جدید editor.new_file=پرونده جدید
editor.upload_file=بارگذاری پرونده editor.upload_file=بارگذاری پرونده
@@ -755,7 +760,7 @@ settings.tracker_issue_style=سبک نامگذاری Issue Tracker خارجی:
settings.tracker_issue_style.numeric=عددی settings.tracker_issue_style.numeric=عددی
settings.tracker_issue_style.alphanumeric=عددی و الفبایی settings.tracker_issue_style.alphanumeric=عددی و الفبایی
settings.tracker_url_format_desc=شما میتوانید از <code>{user} {repo} {index}</code> برای نام کاربری ، نام مخزن و صفحه ی اول بخش مسائل استفاده کنید. settings.tracker_url_format_desc=شما میتوانید از <code>{user} {repo} {index}</code> برای نام کاربری ، نام مخزن و صفحه ی اول بخش مسائل استفاده کنید.
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches settings.pulls_desc=پول ریکویست ها را فعال کنید تا برای مخازن و شاخه ها مشارکت را قبول کنید
settings.pulls.ignore_whitespace=نادیده گرفتن تغییرات در فضاهای خالی settings.pulls.ignore_whitespace=نادیده گرفتن تغییرات در فضاهای خالی
settings.pulls.allow_rebase_merge=مجاز کردن rebase برای ادغام کردن کامیت ها settings.pulls.allow_rebase_merge=مجاز کردن rebase برای ادغام کردن کامیت ها
settings.danger_zone=منطقه خطر settings.danger_zone=منطقه خطر
@@ -778,7 +783,7 @@ settings.wiki_deletion_success=اطلاعات عمومی درباره مخزن
settings.delete=حذف این مخزن settings.delete=حذف این مخزن
settings.delete_desc=هنگامی که یک مخزن حذف میشود ، راه برگشتی وجود ندارد. لطفا مطمئن باشید. settings.delete_desc=هنگامی که یک مخزن حذف میشود ، راه برگشتی وجود ندارد. لطفا مطمئن باشید.
settings.delete_notices_1=این عملیات <strong>غیرقابل</strong> برگشت است. settings.delete_notices_1=این عملیات <strong>غیرقابل</strong> برگشت است.
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access. settings.delete_notices_2=- این عملیات تمامی اطلاعات این مخزن شامل اطلاعات گیت ، مسائل ، نظرات و دسترسی همکاران را برای همیشه پاک خواهد کرد.
settings.delete_notices_fork_1=پس از حذف ارتباط همه ی نسخه های برگرفته شده قطع خواهد شد. settings.delete_notices_fork_1=پس از حذف ارتباط همه ی نسخه های برگرفته شده قطع خواهد شد.
settings.deletion_success=مخزن با موفقیت حذف شد! settings.deletion_success=مخزن با موفقیت حذف شد!
settings.update_settings_success=تنظیمات مخزن با موفقیت به روز شد. settings.update_settings_success=تنظیمات مخزن با موفقیت به روز شد.
@@ -795,8 +800,8 @@ settings.remove_collaborator_success=همكار حذف شد.
settings.search_user_placeholder=جستجوی کاربر... settings.search_user_placeholder=جستجوی کاربر...
settings.org_not_allowed_to_be_collaborator=سازمان ها را نمیتوان به عنوان همکار افزود. settings.org_not_allowed_to_be_collaborator=سازمان ها را نمیتوان به عنوان همکار افزود.
settings.hooks_desc=Webhook ها مانند یک درخواست POST در HTTP اند. هرگاه رخدادی در gogs رخ می دهد، ما نوتیفیکیشنی برای هاستی که شما تعریف کرده اید ارسال می کنیم. برای اطلاعات بیشتر <a target="_blank" href="%s"> راهنمای webhook</a> را مطالعه کنید. settings.hooks_desc=Webhook ها مانند یک درخواست POST در HTTP اند. هرگاه رخدادی در gogs رخ می دهد، ما نوتیفیکیشنی برای هاستی که شما تعریف کرده اید ارسال می کنیم. برای اطلاعات بیشتر <a target="_blank" href="%s"> راهنمای webhook</a> را مطالعه کنید.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=یک webhook جدید اضافه کن:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=نوع را انتخاب کن...
settings.add_webhook=اضافه‌کردن Webhook settings.add_webhook=اضافه‌کردن Webhook
settings.webhook_deletion=حذف Webhook settings.webhook_deletion=حذف Webhook
settings.webhook_deletion_desc=حذف این webhook باعث می شود که تمامی اطلاعات آن و تاریخچه ی تمام دلیوری های آن حذف شود. آیا ادامه میدهید؟ settings.webhook_deletion_desc=حذف این webhook باعث می شود که تمامی اطلاعات آن و تاریخچه ی تمام دلیوری های آن حذف شود. آیا ادامه میدهید؟
@@ -873,8 +878,8 @@ settings.add_key_success=کلیدDeploy جدید %s با موفقیت افزود
settings.deploy_key_deletion=حذف کلید Deploy settings.deploy_key_deletion=حذف کلید Deploy
settings.deploy_key_deletion_desc=با حذف کلید Deploy، تمام دسترسی ها به این مخزن از طریق این کلید از بین میرود. آیا ادامه می دهید؟ settings.deploy_key_deletion_desc=با حذف کلید Deploy، تمام دسترسی ها به این مخزن از طریق این کلید از بین میرود. آیا ادامه می دهید؟
settings.deploy_key_deletion_success=کلید Deploy با موفقیت حذف شد! settings.deploy_key_deletion_success=کلید Deploy با موفقیت حذف شد!
settings.description_desc=Description of repository. Maximum 512 characters length. settings.description_desc=توضیحات مخرن. حداکثر طول ۵۱۲ کاراکتر.
settings.description_length=Available characters settings.description_length=کاراکترهای موجود
diff.browse_source=فهرست منبع diff.browse_source=فهرست منبع
diff.parent=والد diff.parent=والد
@@ -939,8 +944,8 @@ team_name_helper=ما از این نام برای اشاره به این تیم
team_desc_helper=این تیم درکل در مورد چیست؟ team_desc_helper=این تیم درکل در مورد چیست؟
team_permission_desc=این تیم چه سطح دسترسی میتواند داشته باشد؟ team_permission_desc=این تیم چه سطح دسترسی میتواند داشته باشد؟
form.name_not_allowed=Organization name or pattern %q is not allowed. form.name_not_allowed=نام سازمان یا الگوی q% مجاز نیست.
form.team_name_not_allowed=Team name or pattern %q is not allowed. form.team_name_not_allowed=نام تیم یا الگوی %q مجاز نیست.
settings=تنظيمات settings=تنظيمات
settings.options=گزینه‌‌‌‌‌‌ها settings.options=گزینه‌‌‌‌‌‌ها
@@ -1012,12 +1017,12 @@ first_page=اولین
last_page=آخرين last_page=آخرين
total=مجموع: %d total=مجموع: %d
dashboard.build_info=Build Information dashboard.build_info=اطلاعات ساخت
dashboard.app_ver=Application version dashboard.app_ver=نسخه برنامه
dashboard.git_version=Git version dashboard.git_version=نسخه‌ی Git
dashboard.go_version=Go version dashboard.go_version=نسخه‌ی Go
dashboard.build_time=Build time dashboard.build_time=زمان ساخت
dashboard.build_commit=Build commit dashboard.build_commit=کامیت ساخت
dashboard.statistic=آمار dashboard.statistic=آمار
dashboard.operations=عملیات dashboard.operations=عملیات
dashboard.system_status=سیستم مانیتور وضعیت dashboard.system_status=سیستم مانیتور وضعیت
@@ -1170,32 +1175,32 @@ auths.delete_auth_desc=این سیستم احراز هویت حذف خواهد
auths.still_in_used=این متد اعتبار احرازهویت هنوز توسط برخی از کاربران در حال استفاده است، لطفا ابتدا این کاربران را حذف کنید یا متد احرازهویت آنان را تغییر دهید. auths.still_in_used=این متد اعتبار احرازهویت هنوز توسط برخی از کاربران در حال استفاده است، لطفا ابتدا این کاربران را حذف کنید یا متد احرازهویت آنان را تغییر دهید.
auths.deletion_success=متد احرازهویت با موفقیت حذف شد! auths.deletion_success=متد احرازهویت با موفقیت حذف شد!
auths.login_source_exist=مدخل لاگین %s قبلا موجود بوده است. auths.login_source_exist=مدخل لاگین %s قبلا موجود بوده است.
auths.github_api_endpoint=API Endpoint auths.github_api_endpoint=نشانه پایانی API
config.not_set=(تنظیم نشده) config.not_set=(تنظیم نشده)
config.server_config=پیکربندی سرور config.server_config=پیکربندی سرور
config.brand_name=Brand name config.brand_name=نام برند
config.run_user=کاربر در حال اجرا config.run_user=کاربر در حال اجرا
config.run_mode=حالت اجرا config.run_mode=حالت اجرا
config.server.external_url=External URL config.server.external_url=آدرس خارجی
config.server.domain=Domain config.server.domain=دامنه
config.server.protocol=Protocol config.server.protocol=پروتکل
config.server.http_addr=HTTP address config.server.http_addr=آدرس HTTP
config.server.http_port=HTTP port config.server.http_port=پورت HTTP
config.server.cert_file=Certificate file config.server.cert_file=فایل گواهی
config.server.key_file=Key file config.server.key_file=فایل کلید
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=کمترین نسخه TLS
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=مجوز سوکت یونیکس
config.server.local_root_url=Local root URL config.server.local_root_url=Local root URL
config.server.offline_mode=Offline mode config.server.offline_mode=حالت آفلاین
config.server.disable_router_log=Disable router log config.server.disable_router_log=غیرفعال کردن لاگ مسیریاب
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=فعال کردن Gzip
config.server.app_data_path=Application data path config.server.app_data_path=Application data path
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=پیکربندی SSH config.ssh_config=پیکربندی SSH
config.ssh.enabled=Enabled config.ssh.enabled=فعال شده
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Root path
@@ -1209,6 +1214,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=پیکربندی مخزن config.repo_config=پیکربندی مخزن
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1272,6 +1278,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation
@@ -1419,7 +1426,7 @@ months=%d ماه %s
years=%d سال %s years=%d سال %s
raw_seconds=ثانیه raw_seconds=ثانیه
raw_minutes=دقیقه ها raw_minutes=دقیقه ها
raw_hours=hours raw_hours=ساعت
[dropzone] [dropzone]
default_message=فایل را در این محل رها کنید یا دکمه ی آپلود یا بارگزاری را فشار دهید. default_message=فایل را در این محل رها کنید یا دکمه ی آپلود یا بارگزاری را فشار دهید.

View File

@@ -22,13 +22,13 @@ password=Salasana
re_type=Kirjoita uudelleen re_type=Kirjoita uudelleen
captcha=Captcha captcha=Captcha
repository=Repository repository=Tietosäilö
organization=Organisaatio organization=Organisaatio
mirror=Peili mirror=Peili
new_repo=Uusi repository new_repo=Uusi tietosäilö
new_migrate=Uusi migraatio new_migrate=Uusi migraatio
new_mirror=Uusi peilaus new_mirror=Uusi peilaus
new_fork=Uusi fork-repository new_fork=Uusi tietosäilö haarautuksesta
new_org=Uusi organisaatio new_org=Uusi organisaatio
manage_org=Ylläpidä organisaatioita manage_org=Ylläpidä organisaatioita
admin_panel=Ylläpito paneeli admin_panel=Ylläpito paneeli
@@ -38,8 +38,8 @@ your_profile=Profiilisi
your_settings=Asetuksesi your_settings=Asetuksesi
activities=Toimet activities=Toimet
pull_requests=Pull requestit pull_requests=Vetopyynnöt
issues=Ongelmat issues=Esitykset
cancel=Peruuta cancel=Peruuta
@@ -51,14 +51,14 @@ internal_server_error=Sisäinen palvelinvirhe
install=Asennus install=Asennus
title=Asennusvaiheet ottaessa ensi kertaa käyttöön title=Asennusvaiheet ottaessa ensi kertaa käyttöön
docker_helper=Jos käytät Gogsia Dockerin sisällä, ole hyvä ja lue <a target="_blank" href="%s">ohjeet</a> huolellisesti ennen kuin muutat mitään tältä sivulta! docker_helper=Jos käytät Gogsia Dockerin sisällä, ole hyvä ja lue <a target="_blank" href="%s">ohjeet</a> huolellisesti ennen kuin muutat mitään tältä sivulta!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs tarvitsee tietokannakseen MySQL, PostgreSQL, SQLite3 tai TiDB (MySQL-protkollan kautta).
db_title=Tietokannan asetukset db_title=Tietokannan asetukset
db_type=Tietokannan tyyppi db_type=Tietokannan tyyppi
host=Isäntä host=Isäntä
user=Käyttäjä user=Käyttäjä
password=Salasana password=Salasana
db_name=Tietokannan nimi db_name=Tietokannan nimi
db_schema=Schema db_schema=Skeema
db_helper=Ole hyvä ja käytä INNODB moottoria ja utf8_general_ci merkistöä MySQLssä. db_helper=Ole hyvä ja käytä INNODB moottoria ja utf8_general_ci merkistöä MySQLssä.
ssl_mode=SSL-tila ssl_mode=SSL-tila
path=Polku path=Polku
@@ -70,8 +70,8 @@ err_empty_admin_password=Ylläpito salasana ei voi olla tyhjä.
general_title=Sovellus yleiset asetukset general_title=Sovellus yleiset asetukset
app_name=Sovelluksen nimi app_name=Sovelluksen nimi
app_name_helper=Laita organisaatiosi nimi tähän isolla ja kovaäänisesti! app_name_helper=Laita organisaatiosi nimi tähän isolla ja kovaäänisesti!
repo_path=Repon juuren polku repo_path=Tietosäilön juurihakemisto
repo_path_helper=Kaikki Git-etärepot tullaan tallentamaan tähän hakemistoon. repo_path_helper=Kaikki Git-etätietosäilöt tullaan tallentamaan tähän hakemistoon.
run_user=Suorita käyttäjänä run_user=Suorita käyttäjänä
run_user_helper=Käyttäjällä täytyy olla oikeus repositoryn juuripolkuun. Käyttäjällä täytyy myös olla oikeus suorittaa Gogs. run_user_helper=Käyttäjällä täytyy olla oikeus repositoryn juuripolkuun. Käyttäjällä täytyy myös olla oikeus suorittaa Gogs.
domain=Verkkotunnus domain=Verkkotunnus
@@ -88,6 +88,7 @@ log_root_path=Lokin polku
log_root_path_helper=Lokien tallennushakemisto. log_root_path_helper=Lokien tallennushakemisto.
enable_console_mode=Ota käyttöön konsoli tila enable_console_mode=Ota käyttöön konsoli tila
enable_console_mode_popup=Tiedosto tilan lisäksi tulosta logit konsoliin. enable_console_mode_popup=Tiedosto tilan lisäksi tulosta logit konsoliin.
default_branch=Oletus haara
optional_title=Valinnaiset asetukset optional_title=Valinnaiset asetukset
email_title=Sähköposti palvelu asetukset email_title=Sähköposti palvelu asetukset
@@ -121,7 +122,7 @@ install_gogs=Asenna Gogs
test_git_failed=Epäonnistui testata 'git' komentoa: %v test_git_failed=Epäonnistui testata 'git' komentoa: %v
sqlite3_not_available=Julkaisuversiosi ei tue SQLite3:a, ole hyvä ja lataa virallinen binääriversio osoitteesta %s, EI gobuild-versiota. sqlite3_not_available=Julkaisuversiosi ei tue SQLite3:a, ole hyvä ja lataa virallinen binääriversio osoitteesta %s, EI gobuild-versiota.
invalid_db_setting=Tietokanta asetus ei ole oikea: %v invalid_db_setting=Tietokanta asetus ei ole oikea: %v
invalid_repo_path=Repo juuri polku on virheellinen: %v invalid_repo_path=Tietosäilön juurihakemisto on virheellinen: %v
run_user_not_match=Suoritus käyttäjä ei ole nykyinen käyttäjä: %s -> %s run_user_not_match=Suoritus käyttäjä ei ole nykyinen käyttäjä: %s -> %s
smtp_host_missing_port=SMTP-isännältä puuttuu portin osoite. smtp_host_missing_port=SMTP-isännältä puuttuu portin osoite.
invalid_smtp_from=SMTP From kenttä ei ole kelvollinen: %v invalid_smtp_from=SMTP From kenttä ei ole kelvollinen: %v
@@ -135,17 +136,17 @@ invalid_log_root_path=Loki juurihakemisto ei kelpaa: %v
uname_holder=Käyttäjätunnus tai sähköposti uname_holder=Käyttäjätunnus tai sähköposti
password_holder=Salasana password_holder=Salasana
switch_dashboard_context=Vaihda kojelaudan kontekstia switch_dashboard_context=Vaihda kojelaudan kontekstia
my_repos=Reponi my_repos=Minun tietosäilöt
show_more_repos=Näytä lisää repoja... show_more_repos=Näytä lisää tietosäilöjä...
collaborative_repos=Yhteistyörepot collaborative_repos=Yhteistyötietosäilöt
my_orgs=Organisaationi my_orgs=Organisaationi
my_mirrors=Peilini my_mirrors=Peilaukseni
view_home=Näytä %s view_home=Näytä %s
issues.in_your_repos=Repoissasi issues.in_your_repos=Sinun tietosäilöissäsi
[explore] [explore]
repos=Repot repos=Tietosäilöt
users=Käyttäjät users=Käyttäjät
organizations=Organisaatiot organizations=Organisaatiot
search=Hae search=Hae
@@ -198,7 +199,7 @@ modify=Muokkaa
[form] [form]
UserName=Käyttäjätunnus UserName=Käyttäjätunnus
RepoName=Repon nimi RepoName=Tietosäilön nimi
Email=Sähköpostiosoite Email=Sähköpostiosoite
Password=Salasana Password=Salasana
Retype=Kirjoita salasana uudelleen Retype=Kirjoita salasana uudelleen
@@ -210,8 +211,8 @@ AuthName=Luvan nimi
AdminEmail=Ylläpito sähköposti AdminEmail=Ylläpito sähköposti
NewBranchName=Uuden haaran nimi NewBranchName=Uuden haaran nimi
CommitSummary=Commitin yhteenveto CommitSummary=Sitoutuksen yhteenveto
CommitMessage=Commitin viesti CommitMessage=Sitoutuksen viesti
CommitChoice=Commitin valinta CommitChoice=Commitin valinta
TreeName=Tiedostopolku TreeName=Tiedostopolku
Content=Sisältö Content=Sisältö
@@ -231,13 +232,13 @@ captcha_incorrect=Captcha ei ollut oikein.
password_not_match=Salasana ja salasanan varmistus eivät ole samoja. password_not_match=Salasana ja salasanan varmistus eivät ole samoja.
username_been_taken=Käyttäjätunnus on jo käytössä. username_been_taken=Käyttäjätunnus on jo käytössä.
repo_name_been_taken=Repon nimi on jo käytössä. repo_name_been_taken=Tietosäilön nimi on jo käytössä.
org_name_been_taken=Organisaation nimi on jo käytössä. org_name_been_taken=Organisaation nimi on jo käytössä.
team_name_been_taken=Tiimin nimi on jo käytössä. team_name_been_taken=Tiimin nimi on jo käytössä.
email_been_used=Sähköpostiosoite on jo käytössä. email_been_used=Sähköpostiosoite on jo käytössä.
username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein. username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein.
auth_source_mismatch=Valittua todennuslähdettä ei liitetä käyttäjään. auth_source_mismatch=Valittua todennuslähdettä ei liitetä käyttäjään.
enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi repon nimi on oikein. enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi tietosäilön nimi on oikein.
enterred_invalid_owner_name=Ole hyvä ja varmista että kirjoittamasi omistajan nimi on oikein. enterred_invalid_owner_name=Ole hyvä ja varmista että kirjoittamasi omistajan nimi on oikein.
enterred_invalid_password=Ole hyvä ja varmista että kirjoittamasi salasana on oikein. enterred_invalid_password=Ole hyvä ja varmista että kirjoittamasi salasana on oikein.
user_not_exist=Käyttäjää ei ole olemassa. user_not_exist=Käyttäjää ei ole olemassa.
@@ -247,16 +248,16 @@ invalid_ssh_key=Pahoittelut, emme pystyneet varmistamaan SSH-avainta: %s
unable_verify_ssh_key=Gogs ei voi varmistaa SSH-avaintasi, mutta oletamme että se on toimiva, ole hyvä ja tarkista se. unable_verify_ssh_key=Gogs ei voi varmistaa SSH-avaintasi, mutta oletamme että se on toimiva, ole hyvä ja tarkista se.
auth_failed=Todennus epäonnistui: %v auth_failed=Todennus epäonnistui: %v
still_own_repo=Tililläsi on yhä omistajuus ainakin yhteen repoon, sinun täytyy poistaa tai siirtää ne ensin. still_own_repo=Tililläsi on yhä omistajuus ainakin yhteen tietosäilöön, sinun täytyy poistaa tai siirtää ne ensin.
still_has_org=Tililläsi on yhä jäsenyys ainakin yhteen organisaatioon, sinun täytyy jäädä pois tai poistaa jäsenyyksiä ensin. still_has_org=Tililläsi on yhä jäsenyys ainakin yhteen organisaatioon, sinun täytyy jäädä pois tai poistaa jäsenyyksiä ensin.
org_still_own_repo=Tällä organisaatiolla on yhä omistajuus repoon, sinun täytyy poistaa tai siirtää ne ensin. org_still_own_repo=Tällä organisaatiolla on yhä omistajuus tietosäilöön, sinun täytyy poistaa tai siirtää ne ensin.
target_branch_not_exist=Kohde branchia ei ole olemassa. target_branch_not_exist=Kohde haaraa ei ole olemassa.
[user] [user]
change_avatar=Vaihda profiilikuvasi change_avatar=Vaihda profiilikuvasi
join_on=Liitytty join_on=Liitytty
repositories=Repot repositories=Tietosäilöt
activity=Julkinen toiminta activity=Julkinen toiminta
followers=Seuraajat followers=Seuraajat
starred=Äänestetty starred=Äänestetty
@@ -272,7 +273,7 @@ password=Salasana
avatar=Profiilikuva avatar=Profiilikuva
ssh_keys=SSH avaimet ssh_keys=SSH avaimet
security=Turvallisuus security=Turvallisuus
repos=Repot repos=Tietosäilö
orgs=Organisaatiot orgs=Organisaatiot
applications=Sovellukset applications=Sovellukset
delete=Poista tili delete=Poista tili
@@ -316,6 +317,7 @@ delete_email=Poista
email_deletion=Sähköpostin poistaminen email_deletion=Sähköpostin poistaminen
email_deletion_desc=Tämän sähköpostiosoitteen poistaminen poistaa siihen liittyvät tiedot tililtäsi. Haluatko jatkaa? email_deletion_desc=Tämän sähköpostiosoitteen poistaminen poistaa siihen liittyvät tiedot tililtäsi. Haluatko jatkaa?
email_deletion_success=Sähköposti on poistettu onnistuneesti! email_deletion_success=Sähköposti on poistettu onnistuneesti!
email_deletion_primary=Pääsähköpostin poistaminen ei onnistu.
add_new_email=Lisää uusi sähköpostiosoite add_new_email=Lisää uusi sähköpostiosoite
add_email=Lisää sähköposti add_email=Lisää sähköposti
add_email_confirmation_sent=Uusi varmistussähköposti on lähetetty osoitteeseen '%s', ole hyvä ja tarkista saapuneet seuraavan %d tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi. add_email_confirmation_sent=Uusi varmistussähköposti on lähetetty osoitteeseen '%s', ole hyvä ja tarkista saapuneet seuraavan %d tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi.
@@ -370,6 +372,7 @@ two_factor_disable_success=Kaksivaiheinen todennus on poistettu käytöstä onni
manage_access_token=Hallitse henkilökohtaisia pääsymerkkejä manage_access_token=Hallitse henkilökohtaisia pääsymerkkejä
generate_new_token=Luo uusi pääsymerkki generate_new_token=Luo uusi pääsymerkki
tokens_desc=Luomiasi pääsymerkkejä voidaan käyttää Gogs APIn kanssa. tokens_desc=Luomiasi pääsymerkkejä voidaan käyttää Gogs APIn kanssa.
access_token_tips=Henkilökohtaista pääsytunnusta voidaan käyttää joko käyttäjätunnuksena tai salasanana. On suositeltavaa käyttää "x-access-token" käyttäjätunnuksena ja henkilökohtaista pääsytunnusta Git-sovellusten salasanana.
new_token_desc=Joka pääsymerkillä on täysi pääsy tiliisi. new_token_desc=Joka pääsymerkillä on täysi pääsy tiliisi.
token_name=Pääsymerkin nimi token_name=Pääsymerkin nimi
generate_token=Luo pääsymerkki generate_token=Luo pääsymerkki
@@ -385,9 +388,9 @@ orgs.leave_title=Poistu organisaatiosta
orgs.leave_desc=Menetät oikeudet kaikkiin niihin repoihin ja tiimeihin joihin organisaatio on sinulle oikeudet antanut. Haluatko varmasti jatkaa? orgs.leave_desc=Menetät oikeudet kaikkiin niihin repoihin ja tiimeihin joihin organisaatio on sinulle oikeudet antanut. Haluatko varmasti jatkaa?
repos.leave=Poistu repos.leave=Poistu
repos.leave_title=Poistu reposta repos.leave_title=Poistu tietosäilöstä
repos.leave_desc=Menetät pääsyn repoon kun poistut. Haluatko jatkaa? repos.leave_desc=Menetät pääsyn tietosäilöön poistuessasi. Haluatko jatkaa?
repos.leave_success=Olet poistunut reposta '%s' onnistuneesti! repos.leave_success=Olet poistunut tietosäilöstä '%s' onnistuneesti!
delete_account=Poista tilisi delete_account=Poista tilisi
delete_prompt=Toiminto poistaa tilisi pysyvästi ja tätä <strong>EI VOI</strong> peruuttaa myöhemmin! delete_prompt=Toiminto poistaa tilisi pysyvästi ja tätä <strong>EI VOI</strong> peruuttaa myöhemmin!
@@ -397,18 +400,18 @@ delete_account_desc=Tämä tili poistetaan lopullisesti, haluatko jatkaa?
[repo] [repo]
owner=Omistaja owner=Omistaja
repo_name=Repon nimi repo_name=Tietosäilön nimi
repo_name_helper=Hyvä repon nimi yleensä koostuu lyhyistä, mieleenpainuvista ja ainutlaatuisista avainsanoista. repo_name_helper=Hyvä tietosäilönimi yleensä koostuu lyhyistä, mieleenpainuvista ja ainutlaatuisista avainsanoista.
visibility=Näkyvyys visibility=Näkyvyys
unlisted=Unlisted unlisted=Listaamaton
visiblity_helper=Tämä repo on <span class="ui red text">yksityinen</span> visiblity_helper=Tämä tietosäilö on <span class="ui red text">yksityinen</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Tämä tietosäilö on <span class="ui red text">listaamaton</span>
visiblity_helper_forced=Sivuston ylläpito on pakottanut kaikkien uusien repojen olevan <span class="ui red text">yksityisiä</span> visiblity_helper_forced=Sivuston ylläpito on pakottanut kaikkien uusien tietosäilöjen olevan <span class="ui red text">yksityisiä</span>
visiblity_fork_helper=(Arvon vaihtaminen vaikuttaa kaikkiin forkkeihin) visiblity_fork_helper=(Arvon vaihtaminen vaikuttaa kaikkiin haarautuksiin)
clone_helper=Tarvitsetko apua kloonauksessa? Vieraile osoitteessa <a target="_blank" href="%s">Apua</a>! clone_helper=Tarvitsetko apua kloonauksessa? Vieraile osoitteessa <a target="_blank" href="%s">Apua</a>!
fork_repo=Forkkaa repo fork_repo=Haarauta tietosäilö
fork_from=Forkkaa lähteestä fork_from=Haarauta lähteestä
fork_visiblity_helper=Et voi muuttaa forkatun repon näkyvyyttä. fork_visiblity_helper=Et voi muuttaa haarautetun tietosäilön näkyvyyttä.
repo_desc=Kuvaus repo_desc=Kuvaus
repo_lang=Kieli repo_lang=Kieli
repo_gitignore_helper=Valitse .gitignore malli repo_gitignore_helper=Valitse .gitignore malli
@@ -416,9 +419,9 @@ license=Lisenssi
license_helper=Valitse lisenssitiedosto license_helper=Valitse lisenssitiedosto
readme=Lueminut-tiedosto readme=Lueminut-tiedosto
readme_helper=Valitse Lueminut-malli readme_helper=Valitse Lueminut-malli
auto_init=Alusta tämä repo valituilla tiedostoilla ja mallilla auto_init=Alusta tämä tietosäilö valituilla tiedostoilla ja mallilla
create_repo=Luo repo create_repo=Luo tietosäilö
default_branch=Oletus branch default_branch=Oletus haara
mirror_prune=Karsi mirror_prune=Karsi
mirror_prune_desc=Poista kaikki paikalliset seurantahaarat joiden vastaavia etähaaroja ei ole enää olemassa mirror_prune_desc=Poista kaikki paikalliset seurantahaarat joiden vastaavia etähaaroja ei ole enää olemassa
mirror_interval=Peili aikaväli (tuntia) mirror_interval=Peili aikaväli (tuntia)
@@ -427,7 +430,7 @@ mirror_address_desc=Ole hyvä ja liitä osoitteeseen tarvittavat käyttäjätunn
mirror_last_synced=Synkronoitu viimeksi mirror_last_synced=Synkronoitu viimeksi
watchers=Tarkkailijat watchers=Tarkkailijat
stargazers=Tähtiharrastajat stargazers=Tähtiharrastajat
forks=Haarat forks=Haarautukset
repo_description_helper=Repon kuvaus. Enintään 512 merkkiä. repo_description_helper=Repon kuvaus. Enintään 512 merkkiä.
repo_description_length=Käytettävissä olevat merkit repo_description_length=Käytettävissä olevat merkit
@@ -438,16 +441,16 @@ need_auth=Tarvitaan lupa
migrate_type=Siirtotyyppi migrate_type=Siirtotyyppi
migrate_type_helper=Tämä repo tulee olemaan <span class="text blue">peili</span> migrate_type_helper=Tämä repo tulee olemaan <span class="text blue">peili</span>
migrate_repo=Siirrä repo migrate_repo=Siirrä repo
migrate.clone_address=Kloonaa osoite migrate.clone_address=Monistuksen osoite
migrate.clone_address_desc=Tämä voi olla HTTP/HTTPS/GIT URL. migrate.clone_address_desc=Tämä voi olla HTTP/HTTPS/GIT URL.
migrate.clone_address_desc_import_local=Paikallisen palvelimen kansiopolun käyttö repon migraatiossa on myös salittua. migrate.clone_address_desc_import_local=Paikallisen palvelimen kansiopolun käyttö repon migraatiossa on myös salittua.
migrate.permission_denied=Sinun ei sallita tuovan paikallisia repoja. migrate.permission_denied=Sinun ei sallita tuovan paikallisia repoja.
migrate.invalid_local_path=Virheellinen paikallinen polku, ei ole olemassa tai ei ole hakemisto. migrate.invalid_local_path=Virheellinen paikallinen polku, ei ole olemassa tai ei ole hakemisto.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Kloonausosoite ratkeaa paikallisverkko-osoitteeksi joka on täysin estetty.
migrate.failed=Siirto epäonnistui: %v migrate.failed=Siirto epäonnistui: %v
mirror_from=peilaus alkaen mirror_from=peilaus alkaen
forked_from=forkattu lähteestä forked_from=haarautettu lähteestä
copy_link=Kopioi copy_link=Kopioi
copy_link_success=Kopioitu! copy_link_success=Kopioitu!
copy_link_error=Paina ⌘-C tai Ctrl-C kopioidaksesi copy_link_error=Paina ⌘-C tai Ctrl-C kopioidaksesi
@@ -456,26 +459,26 @@ unwatch=Lopeta tarkkailu
watch=Tarkkaile watch=Tarkkaile
unstar=Peru ääni unstar=Peru ääni
star=Äänestä star=Äänestä
fork=Fork fork=Haarauta
no_desc=Ei kuvausta no_desc=Ei kuvausta
quick_guide=Pikaopas quick_guide=Pikaopas
clone_this_repo=Kloonaa tämä repo clone_this_repo=Kloonaa tämä repo
create_new_repo_command=Luo uusi repo komentoriviltä create_new_repo_command=Luo uusi repo komentoriviltä
push_exist_repo=Työnnä olemassaoleva repo komentoriviltä push_exist_repo=Työnnä olemassa oleva tietosäilö komentoriviltä
bare_message=Tässä repossa ei ole mitään sisältöä vielä. bare_message=Tässä repossa ei ole mitään sisältöä vielä.
files=Tiedostot files=Tiedostot
branch=Haara branch=Haara
tree=Puu tree=Puu
filter_branch_and_tag=Suodata haara tai tagi filter_branch_and_tag=Suodata haara tai tunniste
branches=Haarat branches=Haarat
tags=Tagit tags=Tunnisteet
issues=Ongelmat issues=Esitykset
pulls=Pull-pyynnöt pulls=Vetopyynnöt
labels=Tunnisteet labels=Leimat
milestones=Merkkipaalut milestones=Merkkipaalut
commits=Commitit commits=Sitoutukset
git_branches=Haarat git_branches=Haarat
releases=Julkaisut releases=Julkaisut
file_raw=Raaka file_raw=Raaka
@@ -483,14 +486,16 @@ file_history=Historia
file_view_raw=Näytä raaka file_view_raw=Näytä raaka
file_permalink=Pysyvä linkki file_permalink=Pysyvä linkki
file_too_large=Tämä tiedosto on liian suuri näytettäväksi file_too_large=Tämä tiedosto on liian suuri näytettäväksi
video_not_supported_in_browser=Selaimesi ei tue HTML5 video-tagia. video_not_supported_in_browser=Selaimesi ei tue HTML5 video-avainsanaa.
branches.overview=Yleiskatsaus branches.overview=Yleiskatsaus
branches.active_branches=Aktiiviset haarat branches.active_branches=Aktiiviset haarat
branches.stale_branches=Vanhentuneet haarat branches.stale_branches=Passivoituneet haarat
branches.all=Kaikki haarat branches.all=Kaikki haarat
branches.updated_by=Päivitetty %[1]s %[2]s branches.updated_by=Päivitetty %[1]s %[2]s
branches.change_default_branch=Muuta oletushaaraa branches.change_default_branch=Muuta oletushaaraa
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Uusi tiedosto editor.new_file=Uusi tiedosto
editor.upload_file=Liitä tiedosto editor.upload_file=Liitä tiedosto
@@ -499,7 +504,7 @@ editor.preview_changes=Muutosten esikatselu
editor.cannot_edit_non_text_files=Voit editoida vain tekstitiedostoja editor.cannot_edit_non_text_files=Voit editoida vain tekstitiedostoja
editor.edit_this_file=Muokkaa tätä tiedostoa editor.edit_this_file=Muokkaa tätä tiedostoa
editor.must_be_on_a_branch=Haara täytyy olla valittuna jotta voit tehdä tai ehdottaa muutoksia tähän tiedostoon editor.must_be_on_a_branch=Haara täytyy olla valittuna jotta voit tehdä tai ehdottaa muutoksia tähän tiedostoon
editor.fork_before_edit=Sinun täytyy forkata tämä repo ennenkuin voit muokata tiedostoa editor.fork_before_edit=Sinun täytyy haarautaa tästä tietosäilöstä ennen tiedoston muokkaamista
editor.delete_this_file=Poista tämä tiedosto editor.delete_this_file=Poista tämä tiedosto
editor.must_have_write_access=Sinulla on kirjoitusoikeus tai ehdottaa muutoksia tiedostoon editor.must_have_write_access=Sinulla on kirjoitusoikeus tai ehdottaa muutoksia tiedostoon
editor.file_delete_success=Tiedosto "%s" on poistettu onnistuneesti! editor.file_delete_success=Tiedosto "%s" on poistettu onnistuneesti!
@@ -507,14 +512,14 @@ editor.name_your_file=Nimeä tiedostosi...
editor.filename_help=Lisää hakemisto, kirjoita se ja paina /. Poista hakemisto, siirry kentän alkuun ja paina ASKELPALAUTINTA. editor.filename_help=Lisää hakemisto, kirjoita se ja paina /. Poista hakemisto, siirry kentän alkuun ja paina ASKELPALAUTINTA.
editor.or=tai editor.or=tai
editor.cancel_lower=peruuta editor.cancel_lower=peruuta
editor.commit_changes=Vahvista muutokset editor.commit_changes=Sitouta muutokset
editor.add_tmpl=Lisää '%s/<filename>' editor.add_tmpl=Lisää '%s/<filename>'
editor.add=Lisää "%s" editor.add=Lisää "%s"
editor.update=Päivitä '%s' editor.update=Päivitä '%s'
editor.delete=Poista "%s" editor.delete=Poista "%s"
editor.commit_message_desc=Lisää pidennetty selite (valinnainen)... editor.commit_message_desc=Lisää valinnainen pidennetty kuvaus...
editor.commit_directly_to_this_branch=Committaa suoraan haaraan <strong class="branch-name">%s</strong>. editor.commit_directly_to_this_branch=Sitouta suoraan haaraan <strong class="branch-name">%s</strong>.
editor.create_new_branch=Luo <strong>uusi haara</strong> tälle commitille tai aloita pull-pyyntö. editor.create_new_branch=Luo <strong>uusi kehityshaara</strong> tälle sitoutukselle tai tee vetopyyntö.
editor.new_branch_name_desc=Uuden haaran nimi... editor.new_branch_name_desc=Uuden haaran nimi...
editor.cancel=Peruuta editor.cancel=Peruuta
editor.filename_cannot_be_empty=Tiedostonimi ei voi olla tyhjä. editor.filename_cannot_be_empty=Tiedostonimi ei voi olla tyhjä.
@@ -523,7 +528,7 @@ editor.directory_is_a_file=Annettu nimi '%s' on tiedosto, ei kansio.
editor.file_is_a_symlink=Tiedosto '%s' on symlinkki jota ei voi muokata web-selaimesta. editor.file_is_a_symlink=Tiedosto '%s' on symlinkki jota ei voi muokata web-selaimesta.
editor.filename_is_a_directory=Kansio nimeltä '%s' on jo olemassa tässä repossa. editor.filename_is_a_directory=Kansio nimeltä '%s' on jo olemassa tässä repossa.
editor.file_editing_no_longer_exists=Tiedostoa '%s' jota olet muokkaamassa ei ole enää olemassa tässä repossa. editor.file_editing_no_longer_exists=Tiedostoa '%s' jota olet muokkaamassa ei ole enää olemassa tässä repossa.
editor.file_changed_while_editing=Tiedoston sisältöä on muutettu aloittamisesi jälkeen. <a target="_blank" href="%s">Napsauta tästä</a> nähdäksesi mitä on muutettu tai <strong>paina commit uudelleen</strong> ylikirjoittaaksesi muutokset. editor.file_changed_while_editing=Tiedoston sisältöä on muutettu aloittamisesi jälkeen. <a target="_blank" href="%s">Napsauta tästä</a> nähdäksesi mitä on muutettu tai <strong>paina sitouta uudelleen</strong> kirjoittaaksesi muutosten päälle.
editor.file_already_exists=Tiedosto '%s' on jo olemassa tässä repossa. editor.file_already_exists=Tiedosto '%s' on jo olemassa tässä repossa.
editor.no_changes_to_show=Ei muutoksia näytettäväksi. editor.no_changes_to_show=Ei muutoksia näytettäväksi.
editor.fail_to_update_file=Tiedoston '%s' päivitys/luonti epäonnistui virheeseen: %v editor.fail_to_update_file=Tiedoston '%s' päivitys/luonti epäonnistui virheeseen: %v
@@ -532,9 +537,9 @@ editor.add_subdir=Lisää alikansio...
editor.unable_to_upload_files=Tiedostojen lataus epäonnistui kansioon '%s' virheellä: %v editor.unable_to_upload_files=Tiedostojen lataus epäonnistui kansioon '%s' virheellä: %v
editor.upload_files_to_dir=Lataa tiedostoja kansioon '%s' editor.upload_files_to_dir=Lataa tiedostoja kansioon '%s'
commits.commit_history=Commitin historia commits.commit_history=Sitoutushistoria
commits.commits=Commitit commits.commits=Sitoutukset
commits.search=Etsi commiteista commits.search=Etsi sitoutuksista
commits.find=Etsi commits.find=Etsi
commits.author=Tekijä commits.author=Tekijä
commits.message=Viesti commits.message=Viesti
@@ -542,10 +547,10 @@ commits.date=Päivämäärä
commits.older=Vanhemmat commits.older=Vanhemmat
commits.newer=Uudemmat commits.newer=Uudemmat
issues.new=Uusi ongelma issues.new=Uusi esitys
issues.new.labels=Tunnisteet issues.new.labels=Leimat
issues.new.no_label=Ei tunnistetta issues.new.no_label=Ei leimaa
issues.new.clear_labels=Tyhjennä tunnisteet issues.new.clear_labels=Tyhjennä leimavalinta
issues.new.milestone=Merkkipaalu issues.new.milestone=Merkkipaalu
issues.new.no_milestone=Ei merkkipaalua issues.new.no_milestone=Ei merkkipaalua
issues.new.clear_milestone=Tyhjennä merkkipaalu issues.new.clear_milestone=Tyhjennä merkkipaalu
@@ -554,25 +559,25 @@ issues.new.closed_milestone=Suljetut merkkipaalut
issues.new.assignee=Osoitettu issues.new.assignee=Osoitettu
issues.new.clear_assignee=Tyhjennä osoitettu issues.new.clear_assignee=Tyhjennä osoitettu
issues.new.no_assignee=Ei osoitettua issues.new.no_assignee=Ei osoitettua
issues.create=Ilmoita ongelma issues.create=Luo esitys
issues.new_label=Uusi tunniste issues.new_label=Uusi leima
issues.new_label_placeholder=Tunnisteen nimi... issues.new_label_placeholder=Leiman nimi...
issues.create_label=Luo tunniste issues.create_label=Luo leima
issues.label_templates.title=Lataa ennaltamääritelty tarrajoukko issues.label_templates.title=Lataa ennaltamääritelty leimajoukko
issues.label_templates.info=Tarroja ei ole. Voit luoda uuden napsauttamalla "Uusi tarra" tai käyttää ennaltamääriteltyä tarrajoukkoa alta. issues.label_templates.info=Täällä ei ole vielä leimoja. Voit luoda uuden napsauttamalla "Uusi leima" tai käyttää ennaltamääriteltyä leimajoukkoa alta.
issues.label_templates.helper=Valitse tarrajoukko issues.label_templates.helper=Valitse leimajoukko
issues.label_templates.use=Käytä tätä tarrajoukkoa issues.label_templates.use=Käytä tätä leimajoukkoa
issues.label_templates.fail_to_load_file=Tarramallin lataus epäonnistui tiedostosta '%s': %v issues.label_templates.fail_to_load_file=Leimamallin lataus epäonnistui tiedostosta '%s': %v
issues.open_tab=%d avoinna issues.open_tab=%d avoinna
issues.close_tab=%d suljettu issues.close_tab=%d suljettu
issues.filter_label=Tunniste issues.filter_label=Leima
issues.filter_label_no_select=Ei valittua tunnistetta issues.filter_label_no_select=Ei leimaa valittuna
issues.filter_milestone=Merkkipaalu issues.filter_milestone=Merkkipaalu
issues.filter_milestone_no_select=Ei valittua merkkipaalua issues.filter_milestone_no_select=Ei valittua merkkipaalua
issues.filter_assignee=Osoitettu issues.filter_assignee=Osoitettu
issues.filter_assginee_no_select=Ei valittua osoitettua issues.filter_assginee_no_select=Ei valittua osoitettua
issues.filter_type=Tyyppi issues.filter_type=Tyyppi
issues.filter_type.all_issues=Kaikki ongelmat issues.filter_type.all_issues=Kaikki esitykset
issues.filter_type.assigned_to_you=Osoitettu sinulle issues.filter_type.assigned_to_you=Osoitettu sinulle
issues.filter_type.created_by_you=Ilmoittamasi issues.filter_type.created_by_you=Ilmoittamasi
issues.filter_type.mentioning_you=Jotka mainitsee sinut issues.filter_type.mentioning_you=Jotka mainitsee sinut
@@ -600,7 +605,7 @@ issues.reopen_comment_issue=Kommentoi ja avaa uudelleen
issues.create_comment=Kommentoi issues.create_comment=Kommentoi
issues.closed_at=`suljettu <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`suljettu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`avattu uudelleen <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`avattu uudelleen <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.commit_ref_at=`viittasi tähän esitykseen sitoutuksesta <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.poster=Tekijä issues.poster=Tekijä
issues.collaborator=Yhteistyökumppani issues.collaborator=Yhteistyökumppani
issues.owner=Omistaja issues.owner=Omistaja
@@ -608,51 +613,51 @@ issues.sign_in_require_desc=<a href="%s">Kirjaudu sisään</a> osallistuaksesi t
issues.edit=Muokkaa issues.edit=Muokkaa
issues.cancel=Peruuta issues.cancel=Peruuta
issues.save=Tallenna issues.save=Tallenna
issues.label_title=Tunnisteen nimi issues.label_title=Leiman nimi
issues.label_color=Tunnisteen väri issues.label_color=Leiman väri
issues.label_count=%d tunnistetta issues.label_count=%d leimaa
issues.label_open_issues=%d avointa ongelmaa issues.label_open_issues=%d avointa esitystä
issues.label_edit=Muokkaa issues.label_edit=Muokkaa
issues.label_delete=Poista issues.label_delete=Poista
issues.label_modify=Tunnisteen muokkaus issues.label_modify=Leiman muokkaus
issues.label_deletion=Tunnisteen poistaminen issues.label_deletion=Leiman poistaminen
issues.label_deletion_desc=Tämän tunnisteen poistaminen poistaa sen tiedot kaikista siihen liittyvistä ongelmista. Haluatko jatkaa? issues.label_deletion_desc=Tämän leiman poistaminen kadottaa sen kaikista esityksistä. Haluatko jatkaa?
issues.label_deletion_success=Tunniste on poistettu onnistuneesti! issues.label_deletion_success=Leima on poistettu onnistuneesti!
issues.num_participants=%d osallistujaa issues.num_participants=%d osallistujaa
issues.attachment.open_tab=`Napsauta nähdäksesi "%s" uudessa välilehdessä` issues.attachment.open_tab=`Napsauta nähdäksesi "%s" uudessa välilehdessä`
issues.attachment.download=`Napsauta ladataksesi "%s"` issues.attachment.download=`Napsauta ladataksesi "%s"`
pulls.new=Uusi pull pyyntö pulls.new=Uusi vetopyyntö
pulls.compare_changes=Vertaa muutoksia pulls.compare_changes=Vertaa muutoksia
pulls.compare_changes_desc=Vertaa kahta branchia ja tee pull-pyyntö muutoksista. pulls.compare_changes_desc=Vertaa kahta haaraa ja tee vetopyyntö muutoksista.
pulls.compare_base=base pulls.compare_base=pohja
pulls.compare_compare=vertaa pulls.compare_compare=vertaa
pulls.filter_branch=Suodata haara pulls.filter_branch=Suodata haara
pulls.no_results=Tuloksia ei löytynyt. pulls.no_results=Tuloksia ei löytynyt.
pulls.nothing_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa. pulls.nothing_to_compare=Ei ole mitään verrattavaa koska base ja head branchit ovat tasoissa.
pulls.nothing_merge_base=Ei ole mitään verrattavaa, koska kahdella haaralla on täysin erilainen historia. pulls.nothing_merge_base=Ei ole mitään verrattavaa, koska kahdella haaralla on täysin erilainen historia.
pulls.has_pull_request=`On olemassa jo pull pyyntö näiden kohteiden välillä: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`On olemassa jo pull pyyntö näiden kohteiden välillä: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Luo Pull-pyyntö pulls.create=Luo vetopyyntö
pulls.title_desc=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> pulls.title_desc=haluaa liittää %[1]d sitoutusta lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code>
pulls.merged_title_desc=yhdistetty %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s pulls.merged_title_desc=liitetty %[1]d sitoutusta lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s
pulls.tab_conversation=Keskustelu pulls.tab_conversation=Keskustelu
pulls.tab_commits=Commitit pulls.tab_commits=Sitoutukset
pulls.tab_files=Muuttuneet tiedostot pulls.tab_files=Muutetut tiedostot
pulls.reopen_to_merge=Ole hyvä ja avaa uudelleen tämä pull-pyyntö suorittaaksesi yhdistämisen. pulls.reopen_to_merge=Ole hyvä ja avaa tämä vetopyyntö uudelleen liittääksesi.
pulls.merged=Yhdistetty pulls.merged=Liitetty
pulls.has_merged=Tämä pull-pyyntö on yhdistetty onnistuneesti! pulls.has_merged=Tämä vetopyyntö on liitetty onnistuneesti!
pulls.data_broken=Tämän pull-pyynnön tiedot ovat rikkoutuneet koska fork tiedot on poistettu. pulls.data_broken=Tämän vetopyynnön tiedot ovat hajonneet poistettujen haarautustietojen vuoksi.
pulls.is_checking=Konfliktin tarkistus on yhä meneillään, ole hyvä ja päivitä sivu hetken kuluttua. pulls.is_checking=Konfliktin tarkistus on yhä meneillään, ole hyvä ja päivitä sivu hetken kuluttua.
pulls.can_auto_merge_desc=Tämä pull-pyyntö voidaan yhdistää automaattisesti. pulls.can_auto_merge_desc=Tämä vetopyyntö voidaan yhdistää automaattisesti.
pulls.cannot_auto_merge_desc=Tätä pull-pyyntöä ei voi yhdistää automaattisesti koska on konflikteja. pulls.cannot_auto_merge_desc=Tätä vetopyyntöä ei voi liittää automaattisesti konfliktien takia.
pulls.cannot_auto_merge_helper=Ole hyvä ja yhdistä manuaalisesti konfliktien ratkaisemiseksi. pulls.cannot_auto_merge_helper=Ole hyvä ja liitä manuaalisesti konfliktien ratkaisemiseksi.
pulls.create_merge_commit=Luo yhdistämistoiminto pulls.create_merge_commit=Luo liitossitoutus
pulls.rebase_before_merging=Rebase ennen yhdistämistä pulls.rebase_before_merging=Sulauta ennen yhdistämistä
pulls.commit_description=Toimituksen kuvaus pulls.commit_description=Sitoutuksen kuvaus
pulls.merge_pull_request=Yhdistä Pull-pyyntö pulls.merge_pull_request=Liitä vetopyyntö
pulls.open_unmerged_pull_exists=`Et voi suorittaa uudelleenavaus toimintoa koska on jo olemassa pull-pyyntö (#%d) samasta reposta samoilla yhdistämistiedoilla ja odottaa yhdistämistä.` pulls.open_unmerged_pull_exists=`Et voi suorittaa uudelleenavaus toimintoa koska on jo olemassa pull-pyyntö (#%d) samasta reposta samoilla yhdistämistiedoilla ja odottaa yhdistämistä.`
pulls.delete_branch=Poista haara pulls.delete_branch=Poista haara
pulls.delete_branch_has_new_commits=Haaraa ei voida poistaa koska siinä on uusia committeja mergen jälkeen. pulls.delete_branch_has_new_commits=Kehityshaaraa ei voida poistaa, koska siihen on tullut uusia sitoutuksia liitoksen jälkeen.
milestones.new=Uusi merkkipaalu milestones.new=Uusi merkkipaalu
milestones.open_tab=%d avoinna milestones.open_tab=%d avoinna
@@ -685,7 +690,7 @@ wiki.create_first_page=Luo ensimmäinen sivu
wiki.page=Sivu wiki.page=Sivu
wiki.filter_page=Suodatin sivu wiki.filter_page=Suodatin sivu
wiki.new_page=Luo uusi sivu wiki.new_page=Luo uusi sivu
wiki.default_commit_message=Kirjoita huomautus tähän päivitykseen (valinnainen). wiki.default_commit_message=Kirjoita viesti tästä päivityksestä (valinnainen).
wiki.save_page=Tallenna sivu wiki.save_page=Tallenna sivu
wiki.last_commit_info=%s muokkasi tätä sivua %s wiki.last_commit_info=%s muokkasi tätä sivua %s
wiki.edit_page_button=Muokkaa wiki.edit_page_button=Muokkaa
@@ -706,21 +711,21 @@ settings.collaboration.undefined=Määrittelemätön
settings.branches=Haarat settings.branches=Haarat
settings.branches_bare=Et voi hallita haaroja tyhjässä repossa. Lisää jotain sisältöä ensin. settings.branches_bare=Et voi hallita haaroja tyhjässä repossa. Lisää jotain sisältöä ensin.
settings.default_branch=Oletushaara settings.default_branch=Oletushaara
settings.default_branch_desc=Oletushaaraa käytetään "pohjahaarana" commiteille, pull-pyynnöille ja sivustolla toteutetuille muokkauksille. settings.default_branch_desc=Oletushaaraa käytetään "pohjahaarana" sitoutuksille, vetopyynnöille ja sivustolla toteutetuille muokkauksille.
settings.update=Päivitä settings.update=Päivitä
settings.update_default_branch_unsupported=Palvelimella oleva Git-versio ei tue oletushaaran vaihtamista. settings.update_default_branch_unsupported=Palvelimella oleva Git-versio ei tue oletushaaran vaihtamista.
settings.update_default_branch_success=Repositoryn oletushaara päivitetty! settings.update_default_branch_success=Repositoryn oletushaara päivitetty!
settings.protected_branches=Suojatut haarat settings.protected_branches=Suojatut haarat
settings.protected_branches_desc=Suojaa haaroja pakotetulta push-operaatiolta, vahinkopoistamisilta ja sallitun listan committereilta. settings.protected_branches_desc=Suojaa kehityshaaroja pakkotyönnöiltä, vahinkopoistamisilta ja sallituilta sitouttajilta.
settings.choose_a_branch=Valitse haara... settings.choose_a_branch=Valitse haara...
settings.branch_protection=Haaran suojaus settings.branch_protection=Haaran suojaus
settings.branch_protection_desc=Valitse suojausasetus haaralle <b>%s</b>. settings.branch_protection_desc=Valitse suojausasetus haaralle <b>%s</b>.
settings.protect_this_branch=Suojaa tämä haara settings.protect_this_branch=Suojaa tämä haara
settings.protect_this_branch_desc=Kiellä pakoteut push-operaatiot ja estä poistaminen. settings.protect_this_branch_desc=Kiellä pakoteut push-operaatiot ja estä poistaminen.
settings.protect_require_pull_request=Vaadi pull-pyyntö suoran push-operaation sijaan settings.protect_require_pull_request=Vaadi pull-pyyntö suoran push-operaation sijaan
settings.protect_require_pull_request_desc=Estä suorat push-operaatiot tähän haaraan. Commitit täytyy pushata ei-suojattuun haaraan ja yhdistää tähän haaraan pull-pyynnön kautta. settings.protect_require_pull_request_desc=Ota tämä asetus käyttöön estääksesi suorat työnnöt tähän kehityshaaraan. Sitoutukset täytyy työntää ei-suojattuun kehityshaaraan ja liittää tähän kehityshaaraan vetopyynnön kautta.
settings.protect_whitelist_committers=Lista sallituista, jotka voivat pushata tähän haaraan settings.protect_whitelist_committers=Lista sallituista, jotka voivat työntää tähän kehityshaaraan
settings.protect_whitelist_committers_desc=Lisää käyttäjiä tai tiimejä sallittuihin jotka saavat pushata tähän haaraan. Sallitut käyttäjät voivat ohittaa vaatimuksen pull requestien tekemisestä. settings.protect_whitelist_committers_desc=Lisää käyttäjiä tai tiimejä sallittuihin jotka saavat työntää tähän kehityshaaraan. Sallitut käyttäjät voivat ohittaa vaatimuksen vetopyyntöjen tekemisestä.
settings.protect_whitelist_users=Käyttäjät jotka voivat pushata tähän haaraan settings.protect_whitelist_users=Käyttäjät jotka voivat pushata tähän haaraan
settings.protect_whitelist_search_users=Etsi käyttäjiä settings.protect_whitelist_search_users=Etsi käyttäjiä
settings.protect_whitelist_teams=Tiimit joiden jäsenet voivat pushata tähän haaraan settings.protect_whitelist_teams=Tiimit joiden jäsenet voivat pushata tähän haaraan
@@ -742,22 +747,22 @@ settings.allow_public_wiki_desc=Salli julkinen pääsy wikiin kun repo on yksity
settings.use_external_wiki=Käytä ulkoista wikiä settings.use_external_wiki=Käytä ulkoista wikiä
settings.external_wiki_url=Ulkoisen wikin osoite settings.external_wiki_url=Ulkoisen wikin osoite
settings.external_wiki_url_desc=Vierailijat uudelleenohjataan URL-osoitteeseen kun he napsauttavat välilehteä. settings.external_wiki_url_desc=Vierailijat uudelleenohjataan URL-osoitteeseen kun he napsauttavat välilehteä.
settings.issues_desc=Ota virheenseuranta käyttöön settings.issues_desc=Ota esitystenseuranta käyttöön
settings.use_internal_issue_tracker=Käytä sisäänrakennettua kevyttä virheenseurantaa settings.use_internal_issue_tracker=Käytä kevyttä, sisäänrakennettua esitystenseurantaa
settings.allow_public_issues_desc=Salli julkinen pääsy ongelmiin kun repo on yksityinen settings.allow_public_issues_desc=Salli julkinen pääsy esityksiin tietosäilön ollessa yksityinen
settings.use_external_issue_tracker=Käytä ulkoista vikaseurantaa settings.use_external_issue_tracker=Käytä ulkoista esitystenseurantaa
settings.external_tracker_url=Ulkoisen virheenseurannan URL settings.external_tracker_url=Ulkoisen virheenseurannan URL
settings.external_tracker_url_desc=Vierailijat ohjataan URL-osoitteeseen kun he napsauttavat välilehteä. settings.external_tracker_url_desc=Vierailijat ohjataan URL-osoitteeseen kun he napsauttavat välilehteä.
settings.tracker_url_format=Ulkoisen vikaseurannan osoitteen muoto settings.tracker_url_format=Ulkoisen vikaseurannan osoitteen muoto
settings.tracker_issue_style=Ulkoisen virheenseurannan nimeämistyyli: settings.tracker_issue_style=Ulkoisen esitystenseurannan nimeämistyyli:
settings.tracker_issue_style.numeric=Numeerinen settings.tracker_issue_style.numeric=Numeerinen
settings.tracker_issue_style.alphanumeric=Aakkosnumeerinen settings.tracker_issue_style.alphanumeric=Aakkosnumeerinen
settings.tracker_url_format_desc=Voit käyttää paikkamerkkiä <code>{user} {repo} {index}</code> käyttäjänimelle, reponimelle ja vikanumerolle. settings.tracker_url_format_desc=Voit käyttää paikkamerkkiä <code>{user} {repo} {index}</code> käyttäjänimelle, reponimelle ja vikanumerolle.
settings.pulls_desc=Ota käyttöön pull-pyynnöt hyväksyäksesi vastaanotettua koodia repojen ja haarojen välillä settings.pulls_desc=Ota käyttöön pull-pyynnöt hyväksyäksesi vastaanotettua koodia repojen ja haarojen välillä
settings.pulls.ignore_whitespace=Ohita tyhjämerkkien muutokset settings.pulls.ignore_whitespace=Ohita tyhjämerkkien muutokset
settings.pulls.allow_rebase_merge=Salli rebase yhdistäessä committeja settings.pulls.allow_rebase_merge=Salli sitoutusten sulauttaminen
settings.danger_zone=Vaaravyöhyke settings.danger_zone=Vaaravyöhyke
settings.cannot_fork_to_same_owner=Et voi forkata repoa alkuperäiselle omistajalleen. settings.cannot_fork_to_same_owner=Et voi haarauttaa tietosäilöä alkuperäiselle omistajalle.
settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi. settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi.
settings.convert=Muunna tavalliseksi repoksi settings.convert=Muunna tavalliseksi repoksi
settings.convert_desc=Voit muuntaa tämän peilin tavalliseksi repoksi. Tätä ei voi peruuttaa. settings.convert_desc=Voit muuntaa tämän peilin tavalliseksi repoksi. Tätä ei voi peruuttaa.
@@ -777,7 +782,7 @@ settings.delete=Poista tämä repo
settings.delete_desc=Huomio, kun kerran poistat repon, niin ei ole paluuta. Varmista että haluat todella tehdä tämän. settings.delete_desc=Huomio, kun kerran poistat repon, niin ei ole paluuta. Varmista että haluat todella tehdä tämän.
settings.delete_notices_1=- Tätä toimintoa <strong>EI VOI</strong> peruuttaa myöhemmin. settings.delete_notices_1=- Tätä toimintoa <strong>EI VOI</strong> peruuttaa myöhemmin.
settings.delete_notices_2=- Tämä toiminto poistaa pysyvästi kaikki tästä reposta, mukaanlukien Git tiedot, ongelmat, kommentit ja yhteistyökumppanien pääsyoikeudet. settings.delete_notices_2=- Tämä toiminto poistaa pysyvästi kaikki tästä reposta, mukaanlukien Git tiedot, ongelmat, kommentit ja yhteistyökumppanien pääsyoikeudet.
settings.delete_notices_fork_1=- Kaikki haarat muuttuvat itsenäisiksi poiston jälkeen. settings.delete_notices_fork_1=- Kaikki haarautukset muuttuvat itsenäisiksi poiston jälkeen.
settings.deletion_success=Repo on poistettu onnistuneesti! settings.deletion_success=Repo on poistettu onnistuneesti!
settings.update_settings_success=Repon asetukset on päivitetty onnistuneesti. settings.update_settings_success=Repon asetukset on päivitetty onnistuneesti.
settings.transfer_owner=Uusi omistaja settings.transfer_owner=Uusi omistaja
@@ -810,7 +815,7 @@ settings.webhook.headers=Otsikot
settings.webhook.payload=Payload settings.webhook.payload=Payload
settings.webhook.body=Body settings.webhook.body=Body
settings.webhook.err_cannot_parse_payload_url=Ei voida jäsentää hyötykuorman URL: %v settings.webhook.err_cannot_parse_payload_url=Ei voida jäsentää hyötykuorman URL: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=Tietokuorman URL-osoite ratkaistiin paikallisverkko-osoitteeksi, joka on erityisesti estetty.
settings.githooks_desc=Git koukkujen voimanlähteenä on Git itse, voit muokata tuettujen koukkujen tiedostoja allaolevassa luettelossa suorittaaksesi mukautettuja toimintoja. settings.githooks_desc=Git koukkujen voimanlähteenä on Git itse, voit muokata tuettujen koukkujen tiedostoja allaolevassa luettelossa suorittaaksesi mukautettuja toimintoja.
settings.githook_edit_desc=Jos koukku ei ole käytössä, esitellään esimerkkisisältö. Sisällön jättäminen tyhjäksi arvoksi poistaa tämän koukun käytöstä. settings.githook_edit_desc=Jos koukku ei ole käytössä, esitellään esimerkkisisältö. Sisällön jättäminen tyhjäksi arvoksi poistaa tämän koukun käytöstä.
settings.githook_name=Koukun nimi settings.githook_name=Koukun nimi
@@ -825,21 +830,21 @@ settings.slack_username=Käyttäjätunnus
settings.slack_icon_url=Kuvakkeen URL settings.slack_icon_url=Kuvakkeen URL
settings.slack_color=Väri settings.slack_color=Väri
settings.event_desc=Milloin pitäisi tämän webkoukun laueta? settings.event_desc=Milloin pitäisi tämän webkoukun laueta?
settings.event_push_only=Vain <code>push</code>-tilanteessa. settings.event_push_only=Vain <code>push</code>-komennolla.
settings.event_send_everything=Tarvitsen <strong>kaiken</strong>. settings.event_send_everything=Tarvitsen <strong>kaiken</strong>.
settings.event_choose=Haluan valita, mitä tarvitsen. settings.event_choose=Haluan valita, mitä tarvitsen.
settings.event_create=Luo settings.event_create=Luo
settings.event_create_desc=Branch, tai tagi luotu settings.event_create_desc=Kehityshaara tai tunniste luotu
settings.event_delete=Poista settings.event_delete=Poista
settings.event_delete_desc=Branch, tai tagi luotu settings.event_delete_desc=Kehityshaara tai tunniste poistettu
settings.event_fork=Fork settings.event_fork=Haarautus
settings.event_fork_desc=Repo forkattu settings.event_fork_desc=Tietosäilö haarautettu
settings.event_push=Push settings.event_push=Työntö
settings.event_push_desc=Git push repoon settings.event_push_desc=Git työntö tietosäilöön
settings.event_issues=Ongelmat settings.event_issues=Esitykset
settings.event_issues_desc=Ongelma avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, tai poistettu merkkipaalu. settings.event_issues_desc=Esitys avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, leima päivitetty, leima poistettu, merkkipaalutettu, tai merkkipaalutus vedottu.
settings.event_pull_request=Pull-pyyntö settings.event_pull_request=Pull-pyyntö
settings.event_pull_request_desc=Pull-pyyntö avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, tarra päivitetty, tarra poistettu, merkkipaalutettu, poistettu merkkipaalu, tai synkronoitu. settings.event_pull_request_desc=Vetopyyntö avattu, suljettu, uudelleenavattu, muokattu, annettu, anto vedottu, leima päivitetty, leima poistettu, merkkipaalutettu, merkkipaalutus vedottu, tai synkronoitu.
settings.event_issue_comment=Ongelman kommentti settings.event_issue_comment=Ongelman kommentti
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu. settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu, tai poistettu.
settings.event_release=Julkaisu settings.event_release=Julkaisu
@@ -876,7 +881,7 @@ settings.description_length=Käytettävissä olevat merkit
diff.browse_source=Selaa lähdekoodia diff.browse_source=Selaa lähdekoodia
diff.parent=vanhempi diff.parent=vanhempi
diff.commit=commit diff.commit=sitoutus
diff.data_not_available=Diff tiedot eivät ole saatavilla. diff.data_not_available=Diff tiedot eivät ole saatavilla.
diff.show_diff_stats=Näytä diff tilastot diff.show_diff_stats=Näytä diff tilastot
diff.show_split_view=Jaettu näkymä diff.show_split_view=Jaettu näkymä
@@ -892,13 +897,13 @@ release.new_release=Uusi julkaisu
release.draft=Työversio release.draft=Työversio
release.prerelease=Esiversio release.prerelease=Esiversio
release.edit=muokkaa release.edit=muokkaa
release.ahead=<strong>%d</strong> committia kohteeseen %s version jälkeen release.ahead=<strong>%d</strong> sitoutusta kehityshaaraan %s tämän julkaisun jälkeen
release.source_code=Lähdekoodi release.source_code=Lähdekoodi
release.new_subheader=Julkaise versioita iteroidaksesi tuotetta. release.new_subheader=Julkaise versioita iteroidaksesi tuotetta.
release.edit_subheader=Yksityskohtainen muutosloki auttaa käyttäjiä ymmärtämään mitä on parannettu. release.edit_subheader=Yksityskohtainen muutosloki auttaa käyttäjiä ymmärtämään mitä on parannettu.
release.tag_name=Taginimi release.tag_name=Tunnisteen nimi
release.target=Kohde release.target=Kohde
release.tag_helper=Valitse olemassaoleva tagi, tai luo uusi tagi julkaistaessa. release.tag_helper=Valitse olemassa oleva tunniste, tai luo uusi tunniste julkaistaessa.
release.title=Otsikko release.title=Otsikko
release.content=Sisältö release.content=Sisältö
release.write=Kirjoita release.write=Kirjoita
@@ -912,10 +917,10 @@ release.save_draft=Tallenna luonnos
release.edit_release=Muokkaa versiota release.edit_release=Muokkaa versiota
release.delete_release=Poista tämä versio release.delete_release=Poista tämä versio
release.deletion=Version poisto release.deletion=Version poisto
release.deletion_desc=Tämän julkaisun poistaminen poistaa vastaavan Git-tagin. Haluatko jatkaa? release.deletion_desc=Tämän julkaisun poistaminen poistaa vastaavan Git-tunnisteen. Haluatko jatkaa?
release.deletion_success=Versio on poistettu onnistuneesti! release.deletion_success=Versio on poistettu onnistuneesti!
release.tag_name_already_exist=Versio tällä taginimellä on jo olemassa. release.tag_name_already_exist=Julkaisu tällä tunniste nimellä on jo olemassa.
release.tag_name_invalid=Tagin nimi ei kelpaa release.tag_name_invalid=Tunnisteen nimi ei kelpaa.
release.downloads=Lataukset release.downloads=Lataukset
[org] [org]
@@ -1015,7 +1020,7 @@ dashboard.app_ver=Sovellus versio
dashboard.git_version=Git-versio dashboard.git_version=Git-versio
dashboard.go_version=Go-versio dashboard.go_version=Go-versio
dashboard.build_time=Rakentamisaika dashboard.build_time=Rakentamisaika
dashboard.build_commit=Rakentamis committi dashboard.build_commit=Koontisitoutus
dashboard.statistic=Statistiikka dashboard.statistic=Statistiikka
dashboard.operations=Toiminnot dashboard.operations=Toiminnot
dashboard.system_status=Järjestelmänvalvonnan tila dashboard.system_status=Järjestelmänvalvonnan tila
@@ -1206,7 +1211,8 @@ config.ssh.start_builtin_server=Käynnistä sisäänrakennettu palvelin
config.ssh.listen_host=Kuuntele porttia config.ssh.listen_host=Kuuntele porttia
config.ssh.listen_port=Kuuntele porttia config.ssh.listen_port=Kuuntele porttia
config.ssh.server_ciphers=Palvelimen cipherit config.ssh.server_ciphers=Palvelimen cipherit
config.ssh.server_macs=Server MACs config.ssh.server_macs=Serverin MAC-osoite
config.ssh.server_algorithms=Palvelinalgoritmit
config.repo_config=Repositoryn asetukset config.repo_config=Repositoryn asetukset
config.repo.root_path=Juuripolku config.repo.root_path=Juuripolku
@@ -1218,7 +1224,7 @@ config.repo.preferred_licenses=Ensisijaiset lisenssit
config.repo.disable_http_git=Poista käytöstä HTTP Git config.repo.disable_http_git=Poista käytöstä HTTP Git
config.repo.enable_local_path_migration=Ota käyttöön paikallisen polun migraatio config.repo.enable_local_path_migration=Ota käyttöön paikallisen polun migraatio
config.repo.enable_raw_file_render_mode=Ota käyttöön raakatiedoston renderöinti tila config.repo.enable_raw_file_render_mode=Ota käyttöön raakatiedoston renderöinti tila
config.repo.commits_fetch_concurrency=Committien noudon samanaikaisuus config.repo.commits_fetch_concurrency=Sitoutus noudon samanaikaisuus
config.repo.editor.line_wrap_extensions=Muokkaimen rivityksen laajennukset config.repo.editor.line_wrap_extensions=Muokkaimen rivityksen laajennukset
config.repo.editor.previewable_file_modes=Muokkaimen tiedostomuodot joita voi esikatsella config.repo.editor.previewable_file_modes=Muokkaimen tiedostomuodot joita voi esikatsella
config.repo.upload.enabled=Tiedoston liittäminen käytössä config.repo.upload.enabled=Tiedoston liittäminen käytössä
@@ -1231,8 +1237,8 @@ config.db_config=Tietokannan asetukset
config.db.type=Tyyppi config.db.type=Tyyppi
config.db.host=Isäntä config.db.host=Isäntä
config.db.name=Nimi config.db.name=Nimi
config.db.schema=Schema config.db.schema=Skeema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(koskee vain "postgresia")
config.db.user=Käyttäjä config.db.user=Käyttäjä
config.db.ssl_mode=SSL-tila config.db.ssl_mode=SSL-tila
config.db.ssl_mode_helper=(vain "postgres") config.db.ssl_mode_helper=(vain "postgres")
@@ -1249,7 +1255,7 @@ config.security.cookie_secure=Ota käyttöön turvallinen eväste
config.security.reverse_proxy_auth_user=Käänteinen välityspalvelimen todennusotsikko config.security.reverse_proxy_auth_user=Käänteinen välityspalvelimen todennusotsikko
config.security.enable_login_status_cookie=Ota käyttöön kirjautumisen tilaeväste config.security.enable_login_status_cookie=Ota käyttöön kirjautumisen tilaeväste
config.security.login_status_cookie_name=Kirjautumisen tila eväste config.security.login_status_cookie_name=Kirjautumisen tila eväste
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Paikallisverkkopääsylista
config.email_config=Sähköpostiasetukset config.email_config=Sähköpostiasetukset
config.email.enabled=Käytössä config.email.enabled=Käytössä
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Testisähköpostin lähettäminen vastaanottajalle
config.email.test_mail_sent=Testi sähköposti on lähetetty vastaanottajalle '%s'. config.email.test_mail_sent=Testi sähköposti on lähetetty vastaanottajalle '%s'.
config.auth_config=Todennuksen asetukset config.auth_config=Todennuksen asetukset
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Aktiivinen koodi elämät ennen vanhenemista config.auth.activate_code_lives=Aktiivinen koodi elämät ennen vanhenemista
config.auth.reset_password_code_lives=Nollaa salasana koodi elämät config.auth.reset_password_code_lives=Nollaa salasana koodi elämät
config.auth.require_email_confirm=Vaadi sähköpostivahvistus config.auth.require_email_confirm=Vaadi sähköpostivahvistus
@@ -1377,23 +1384,23 @@ notices.delete_success=Järjestelmän ilmoitukset on poistettu onnistuneesti.
[action] [action]
create_repo=luotu repo <a href="%s">%s</a> create_repo=luotu repo <a href="%s">%s</a>
rename_repo=uudelleennimetty repo <code>%[1]s</code> nimelle <a href="%[2]s">%[3]s</a> rename_repo=uudelleennimetty repo <code>%[1]s</code> nimelle <a href="%[2]s">%[3]s</a>
commit_repo=pushattu kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a> commit_repo=työnnetty kehityshaara <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a>
compare_commits=Näytä vertailu näille %d commiteille compare_commits=Näytä vertailu näille %d sitoutuksille
transfer_repo=siirretty repo <code>%s</code> kohteeseen <a href="%s">%s</a> transfer_repo=siirretty repo <code>%s</code> kohteeseen <a href="%s">%s</a>
create_issue=`avasi ongelman <a href="%s/issues/%s">%s#%[2]s</a>` create_issue=`loi esityksen <a href="%s/issues/%s">%s#%[2]s</a>`
close_issue=`sulki ongelman <a href="%s/issues/%s">%s#%[2]s</a>` close_issue=`käsitteli esityksen <a href="%s/issues/%s">%s#%[2]s</a>`
reopen_issue=`avasi uudelleen ongelman <a href="%s/issues/%s">%s#%[2]s</a>` reopen_issue=`uudelleenavasi esityksen <a href="%s/issues/%s">%s#%[2]s</a>`
comment_issue=`kommentoi ongelmaa <a href="%s/issues/%s">%s#%[2]s</a>` comment_issue=`kommentoi esitystä <a href="%s/issues/%s">%s#%[2]s</a>`
create_pull_request=`luotu pull-pyyntö <a href="%s/pulls/%s">%s#%[2]s</a>` create_pull_request=`luotu pull-pyyntö <a href="%s/pulls/%s">%s#%[2]s</a>`
close_pull_request=`sulki pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>` close_pull_request=`sulki pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>`
reopen_pull_request=`avasi uudelleen pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>` reopen_pull_request=`avasi uudelleen pull-pyynnön <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`yhdistetty pull-pyyntö <a href="%s/pulls/%s">%s#%[2]s</a>` merge_pull_request=`yhdistetty vetopyyntö <a href="%s/pulls/%s">%s#%[2]s</a>`
create_branch=luotu uusi haara <a href="%[1]s/src/%[2]s">%[3]s</a> kohteeseen <a href="%[1]s">%[4]s</a> create_branch=luotu uusi haara <a href="%[1]s/src/%[2]s">%[3]s</a> kohteeseen <a href="%[1]s">%[4]s</a>
delete_branch=poistettu haara <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a> delete_branch=poistettu haara <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
push_tag=pushattu tagi <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a> push_tag=työnnettiin tunniste <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a>
delete_tag=poistettu tagi <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a> delete_tag=poistettiin tunniste <code>%[2]s</code> kohteesta <a href="%[1]s">%[3]s</a>
fork_repo=forkattu repo kohteeseen <a href="%s"> %s</a> fork_repo=haarautettiin tietosäilö kohteeseen <a href="%s"> %s</a>
mirror_sync_push=synkattu commitit kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a> peilistä mirror_sync_push=synkronoitiin sitoutukset kohteeseen <a href="%[1]s/src/%[2]s">%[3]s</a> paikassa <a href="%[1]s">%[4]s</a> peilauksesta
mirror_sync_create=synkattu uusi viite <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a> peilistä mirror_sync_create=synkattu uusi viite <a href="%s/src/%s">%[2]s</a> kohteeseen <a href="%[1]s">%[3]s</a> peilistä
mirror_sync_delete=synkattu ja poistettu viite <code>%[2]s</code> paikassa <a href="%[1]s">%[3]s</a> peilistä mirror_sync_delete=synkattu ja poistettu viite <code>%[2]s</code> paikassa <a href="%[1]s">%[3]s</a> peilistä

View File

@@ -1,4 +1,4 @@
app_desc=Un service Git auto-hébergé sans prise de tête app_desc=Un service Git auto-hébergé et indolore.
home=Accueil home=Accueil
dashboard=Tableau de bord dashboard=Tableau de bord
@@ -28,7 +28,7 @@ mirror=Miroir
new_repo=Nouveau dépôt new_repo=Nouveau dépôt
new_migrate=Nouvelle migration new_migrate=Nouvelle migration
new_mirror=Nouveau miroir new_mirror=Nouveau miroir
new_fork=Nouveau fork new_fork=Nouveau dépôt séparé
new_org=Nouvelle organisation new_org=Nouvelle organisation
manage_org=Gérer les organisations manage_org=Gérer les organisations
admin_panel=Administration admin_panel=Administration
@@ -38,7 +38,7 @@ your_profile=Votre profil
your_settings=Vos paramètres your_settings=Vos paramètres
activities=Activités activities=Activités
pull_requests=Pull Requests pull_requests=Demandes d'admission
issues=Tickets issues=Tickets
cancel=Annuler cancel=Annuler
@@ -50,16 +50,16 @@ internal_server_error=Erreur interne du serveur
[install] [install]
install=Installation install=Installation
title=Instructions pour la première exécution title=Instructions pour la première exécution
docker_helper=Si vous exécutez Gogs grâce à Docker, merci de lire la <a target="_blank" href="%s">procédure</a> attentivement avant de modifier quoi que ce soit sur cette page ! docker_helper=Si vous exécutez Gogs au sein de Docker, lisez la <a target="_blank" href="%s">procédure</a> attentivement avant toute altération de cette page !
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs exige MySQL, PostgreSQL, SQLite3 or TiDB (via le protocole MySQL)
db_title=Paramètres de la base de données db_title=Paramètres de la base de données
db_type=Type de base de données db_type=Type de base de données
host=Hôte host=Hôte
user=Utilisateur user=Utilisateur
password=Mot de passe password=Mot de passe
db_name=Nom de base de données db_name=Nom de base de données
db_schema=Schema db_schema=Schéma
db_helper=Veuillez utiliser le moteur INNODB avec le jeu de caractères utf8_general_ci pour MySQL. db_helper=Employez le moteur INNODB pour MySQL avec l'encodage utf8_general_ci.
ssl_mode=Mode SSL ssl_mode=Mode SSL
path=Emplacement path=Emplacement
sqlite_helper=Le chemin du fichier de base de données SQLite3. <br>Utilisez un chemin absolu lorsque vous démarrez en tant que service. sqlite_helper=Le chemin du fichier de base de données SQLite3. <br>Utilisez un chemin absolu lorsque vous démarrez en tant que service.
@@ -67,13 +67,13 @@ err_empty_db_path=Le chemin de la base de données SQLite3 ne peut être vide.
no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur. no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur.
err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide. err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide.
general_title=Paramètres généraux de Gogs general_title=Réglages Généraux d'Application
app_name=Nom de l'application app_name=Nom de l'application
app_name_helper=Inscrivez fièrement le nom de votre organisation ici ! app_name_helper=Inscrivez fièrement le nom de votre organisation ici !
repo_path=Emplacement racine des dépôts repo_path=Chemin Racine des Dépôts
repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici. repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici.
run_user=Utilisateur système run_user=Utilisateur
run_user_helper=L'utilisateur doit avoir accès à la racine des dépôts et exécuter Gogs. run_user_helper=L'utilisateur doit avoir accès à la Racine des Dépôts et exécuter Gogs.
domain=Domaine domain=Domaine
domain_helper=Cela affecte les doublons d'URL SSH. domain_helper=Cela affecte les doublons d'URL SSH.
ssh_port=Port SSH ssh_port=Port SSH
@@ -88,6 +88,7 @@ log_root_path=Chemin des fichiers log
log_root_path_helper=Répertoire d'écriture des fichiers de log. log_root_path_helper=Répertoire d'écriture des fichiers de log.
enable_console_mode=Activer le mode Console enable_console_mode=Activer le mode Console
enable_console_mode_popup=En plus du mode fichier, également imprimer des journaux à la console. enable_console_mode_popup=En plus du mode fichier, également imprimer des journaux à la console.
default_branch=Branchepar défaut
optional_title=Paramètres facultatifs optional_title=Paramètres facultatifs
email_title=Paramètres du service de messagerie email_title=Paramètres du service de messagerie
@@ -316,6 +317,7 @@ delete_email=Supprimer
email_deletion=Suppression de l'adresse e-mail email_deletion=Suppression de l'adresse e-mail
email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ? email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ?
email_deletion_success=L'adresse e-mail a été supprimée avec succès ! email_deletion_success=L'adresse e-mail a été supprimée avec succès !
email_deletion_primary=Impossible de supprimer l'adresse de courrier principale
add_new_email=Ajouter une nouvelle adresse e-mail add_new_email=Ajouter une nouvelle adresse e-mail
add_email=Ajouter un e-mail add_email=Ajouter un e-mail
add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation. add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation.
@@ -370,6 +372,7 @@ two_factor_disable_success=L'authentification à deux facteurs a été désactiv
manage_access_token=Gérer les jetons d'accès personnels manage_access_token=Gérer les jetons d'accès personnels
generate_new_token=Générer le nouveau jeton generate_new_token=Générer le nouveau jeton
tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gogs. tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gogs.
access_token_tips=Le jeton d'accès personnel est employé soit comme nom d'utilisateur soit comme mot de passe. L'emploi du «x-access-token» comme nom d'utilisateur et le jeton d'accès personnel comme mot de passe est recommandé pour les applications Git
new_token_desc=Chaque Jeton donnera un accès complet à votre compte. new_token_desc=Chaque Jeton donnera un accès complet à votre compte.
token_name=Nom du jeton token_name=Nom du jeton
generate_token=Générer le jeton generate_token=Générer le jeton
@@ -400,9 +403,9 @@ owner=Propriétaire
repo_name=Nom du dépôt repo_name=Nom du dépôt
repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable et <strong>unique</strong>. repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable et <strong>unique</strong>.
visibility=Visibilité visibility=Visibilité
unlisted=Unlisted unlisted=Non répertorié
visiblity_helper=Ce dépôt est <span class="ui red text"> privé</span> visiblity_helper=Ce dépôt est <span class="ui red text"> privé</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Ce dépôt <span class="ui red text">n'est pas répertorié</span>
visiblity_helper_forced=L'administrateur du site a forcé tous les nouveaux dépôts à être <span class="ui red text">privés</span> visiblity_helper_forced=L'administrateur du site a forcé tous les nouveaux dépôts à être <span class="ui red text">privés</span>
visiblity_fork_helper=(Les changements de cette valeur affecteront tous les forks) visiblity_fork_helper=(Les changements de cette valeur affecteront tous les forks)
clone_helper=Besoin d'aide pour dupliquer ? Visitez <a target="_blank" href="%s">l'aide</a> ! clone_helper=Besoin d'aide pour dupliquer ? Visitez <a target="_blank" href="%s">l'aide</a> !
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Cela peut être une URL HTTP/HTTPS/GIT.
migrate.clone_address_desc_import_local=Vous êtes aussi autorisé à migrer un dépôt via un chemin local du serveur. migrate.clone_address_desc_import_local=Vous êtes aussi autorisé à migrer un dépôt via un chemin local du serveur.
migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux. migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux.
migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas un dossier. migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas un dossier.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=L'adresse de clonage correspond à une adresse réseau locale, qui est bloquée implicitement.
migrate.failed=Echec de migration: %v migrate.failed=Echec de migration: %v
mirror_from=miroir de mirror_from=miroir de
@@ -491,6 +494,8 @@ branches.stale_branches=Branches stagnantes
branches.all=Toutes les Branches branches.all=Toutes les Branches
branches.updated_by=Mise à jour %[1]s par %[2]s branches.updated_by=Mise à jour %[1]s par %[2]s
branches.change_default_branch=Changer la Branche par Défaut branches.change_default_branch=Changer la Branche par Défaut
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nouveau fichier editor.new_file=Nouveau fichier
editor.upload_file=Téléverser un fichier editor.upload_file=Téléverser un fichier
@@ -810,7 +815,7 @@ settings.webhook.headers=Entêtes 
settings.webhook.payload=Payload settings.webhook.payload=Payload
settings.webhook.body=Corps settings.webhook.body=Corps
settings.webhook.err_cannot_parse_payload_url=Impossible d'analyser l'URL : %v settings.webhook.err_cannot_parse_payload_url=Impossible d'analyser l'URL : %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=L'URL du contenu correspond à une adresse réseau locale qui est bloquée implicitement.
settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées. settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées.
settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif. settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif.
settings.githook_name=Nom du Hook settings.githook_name=Nom du Hook
@@ -1206,7 +1211,8 @@ config.ssh.start_builtin_server=Démarrer le serveur intégré
config.ssh.listen_host=Hôte en écoute config.ssh.listen_host=Hôte en écoute
config.ssh.listen_port=Port d'écoute config.ssh.listen_port=Port d'écoute
config.ssh.server_ciphers=Suites de chiffrement config.ssh.server_ciphers=Suites de chiffrement
config.ssh.server_macs=Server MACs config.ssh.server_macs=Adresses MAC du serveur
config.ssh.server_algorithms=Algorithmes de serveur
config.repo_config=Configuration du dépôt config.repo_config=Configuration du dépôt
config.repo.root_path=Emplacement racine config.repo.root_path=Emplacement racine
@@ -1231,8 +1237,8 @@ config.db_config=Configuration de la Base de Données
config.db.type=Type config.db.type=Type
config.db.host=Serveur hôte config.db.host=Serveur hôte
config.db.name=Nom config.db.name=Nom
config.db.schema=Schema config.db.schema=Schéma
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(pour "postgres" uniquement)
config.db.user=Utilisateur config.db.user=Utilisateur
config.db.ssl_mode=Mode SSL config.db.ssl_mode=Mode SSL
config.db.ssl_mode_helper=("postgres" uniquement) config.db.ssl_mode_helper=("postgres" uniquement)
@@ -1249,7 +1255,7 @@ config.security.cookie_secure=Activer les cookies sécurisés
config.security.reverse_proxy_auth_user=Inverser l'en-tête d'authentification du proxy config.security.reverse_proxy_auth_user=Inverser l'en-tête d'authentification du proxy
config.security.enable_login_status_cookie=Activer le cookie d'état de connexion config.security.enable_login_status_cookie=Activer le cookie d'état de connexion
config.security.login_status_cookie_name=Cookie de statut de connexion config.security.login_status_cookie_name=Cookie de statut de connexion
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=liste des autorisations de réseau local
config.email_config=Configuration de le-mail config.email_config=Configuration de le-mail
config.email.enabled=Activé config.email.enabled=Activé
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Impossible d'envoyer un e-mail de test à '%s' :
config.email.test_mail_sent=Un e-mail de test à été envoyé à '%s'. config.email.test_mail_sent=Un e-mail de test à été envoyé à '%s'.
config.auth_config=Configuration de l'authentification config.auth_config=Configuration de l'authentification
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activer les vies sur les codes config.auth.activate_code_lives=Activer les vies sur les codes
config.auth.reset_password_code_lives=Vies sur les codes de réinitialisation des mots de passes config.auth.reset_password_code_lives=Vies sur les codes de réinitialisation des mots de passes
config.auth.require_email_confirm=Nécessite une confirmation par e-mail config.auth.require_email_confirm=Nécessite une confirmation par e-mail

View File

@@ -88,6 +88,7 @@ log_root_path=Ruta do rexistro
log_root_path_helper=Directorio onde almacenar os rexistros. log_root_path_helper=Directorio onde almacenar os rexistros.
enable_console_mode=Habilitar Modo Consola enable_console_mode=Habilitar Modo Consola
enable_console_mode_popup=Ademáis do modo de ficheiro, tamén imprime os rexistros para a consola. enable_console_mode_popup=Ademáis do modo de ficheiro, tamén imprime os rexistros para a consola.
default_branch=Default Branch
optional_title=Configuración opcional optional_title=Configuración opcional
email_title=Configuración do servizo de correo email_title=Configuración do servizo de correo
@@ -317,6 +318,7 @@ delete_email=Eliminar
email_deletion=Eliminar correo electrónico email_deletion=Eliminar correo electrónico
email_deletion_desc=Ao eliminar este enderezo de correo electrónico eliminarase toda a información asociada a esta. Desexas continuar? email_deletion_desc=Ao eliminar este enderezo de correo electrónico eliminarase toda a información asociada a esta. Desexas continuar?
email_deletion_success=O correo electrónico foi eliminado correctamente! email_deletion_success=O correo electrónico foi eliminado correctamente!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Engadir novo enderezo de correo electrónico add_new_email=Engadir novo enderezo de correo electrónico
add_email=Engadir correo electrónico add_email=Engadir correo electrónico
add_email_confirmation_sent=Un novo correo de confirmación foi enviado a '%s'. Por favor, comproba a túa bandexa de entrada nas próximas %d horas para completar o proceso. add_email_confirmation_sent=Un novo correo de confirmación foi enviado a '%s'. Por favor, comproba a túa bandexa de entrada nas próximas %d horas para completar o proceso.
@@ -371,6 +373,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Xestionar os tokens de acceso persoais manage_access_token=Xestionar os tokens de acceso persoais
generate_new_token=Xerar novo token generate_new_token=Xerar novo token
tokens_desc=Tokens usados para acceder ao API de Gogs. tokens_desc=Tokens usados para acceder ao API de Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Dende agora, todos os tokens terán acceso completo á túa conta. new_token_desc=Dende agora, todos os tokens terán acceso completo á túa conta.
token_name=Nome do token token_name=Nome do token
generate_token=Xerar token generate_token=Xerar token
@@ -492,6 +495,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Novo arquivo editor.new_file=Novo arquivo
editor.upload_file=Subir arquivo editor.upload_file=Subir arquivo
@@ -1208,6 +1213,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1271,6 +1277,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Naplófájl elérési útja
log_root_path_helper=Naplófájlok könyvtára. log_root_path_helper=Naplófájlok könyvtára.
enable_console_mode=Konzol-üzemmód engedélyezése enable_console_mode=Konzol-üzemmód engedélyezése
enable_console_mode_popup=Naplófájl írása mellett a naplóbejegyzések nyomtatása a konzolra. enable_console_mode_popup=Naplófájl írása mellett a naplóbejegyzések nyomtatása a konzolra.
default_branch=Default Branch
optional_title=További beállítások optional_title=További beállítások
email_title=E-mail szolgáltatás beállításai email_title=E-mail szolgáltatás beállításai
@@ -316,6 +317,7 @@ delete_email=Törlés
email_deletion=E-mail cím törlése email_deletion=E-mail cím törlése
email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja? email_deletion_desc=Az e-mail cím törlése kapcsolódó adatokat is eltávolít a fiókjából. Biztosan folytatja?
email_deletion_success=Az e-mail címet töröltük! email_deletion_success=Az e-mail címet töröltük!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Új email cím felvétele add_new_email=Új email cím felvétele
add_email=Email felvétele add_email=Email felvétele
add_email_confirmation_sent=Egy új megerősítő e-mailt küldtünk a(z) '%s' címre. Kérlek ellenőrizd a beérkező üzeneteidet %d órán belül, hogy befejezd a megerősítési folyamatot. add_email_confirmation_sent=Egy új megerősítő e-mailt küldtünk a(z) '%s' címre. Kérlek ellenőrizd a beérkező üzeneteidet %d órán belül, hogy befejezd a megerősítési folyamatot.
@@ -370,6 +372,7 @@ two_factor_disable_success=Kétlépcsős hitelesítés sikeresen letiltva a fió
manage_access_token=Személyes hozzáférési jegyek kezelése manage_access_token=Személyes hozzáférési jegyek kezelése
generate_new_token=Új jegy generálása generate_new_token=Új jegy generálása
tokens_desc=A generált jegyekkel hozzáférhetsz a Gogs API-hoz. tokens_desc=A generált jegyekkel hozzáférhetsz a Gogs API-hoz.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Minden jegy teljes hozzáférést ad a fiókodhoz. new_token_desc=Minden jegy teljes hozzáférést ad a fiókodhoz.
token_name=Jegy neve token_name=Jegy neve
generate_token=Jegy generálása generate_token=Jegy generálása
@@ -491,6 +494,8 @@ branches.stale_branches=Elavult ágak
branches.all=Minden ág branches.all=Minden ág
branches.updated_by=Frissítve ekkor: %[1]s %[2]s által branches.updated_by=Frissítve ekkor: %[1]s %[2]s által
branches.change_default_branch=Alapértelmezett ág megváltoztatása branches.change_default_branch=Alapértelmezett ág megváltoztatása
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Új fájl editor.new_file=Új fájl
editor.upload_file=Fájl feltöltése editor.upload_file=Fájl feltöltése
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Hallgatási cím
config.ssh.listen_port=Hallgatási port config.ssh.listen_port=Hallgatási port
config.ssh.server_ciphers=Kiszolgáló titkosítás módszerei config.ssh.server_ciphers=Kiszolgáló titkosítás módszerei
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Tároló konfiguráció config.repo_config=Tároló konfiguráció
config.repo.root_path=Gyökér elérési útvonal config.repo.root_path=Gyökér elérési útvonal
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Nem sikerült kiküldeni a teszt e-mailt '%s'-nek:
config.email.test_mail_sent=Teszt e-mail kiküldve '%s'-nek. config.email.test_mail_sent=Teszt e-mail kiküldve '%s'-nek.
config.auth_config=Hitelesítési beállítások config.auth_config=Hitelesítési beállítások
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Jelszó visszaállítási kód élettartama config.auth.reset_password_code_lives=Jelszó visszaállítási kód élettartama
config.auth.require_email_confirm=E-mail megerősítés szükségessé tétele config.auth.require_email_confirm=E-mail megerősítés szükségessé tétele

View File

@@ -44,21 +44,21 @@ issues=Masalah
cancel=Batal cancel=Batal
[status] [status]
page_not_found=Page Not Found page_not_found=Halaman tidak ditemukan
internal_server_error=Internal Server Error internal_server_error=Kesalahan Server Internal
[install] [install]
install=Instalasi install=Instalasi
title=Langkah-langkah untuk Menjalankan Pertama Kali title=Langkah-langkah untuk Menjalankan Pertama Kali
docker_helper=Jika Anda menjalankan Gogs dalam Docker, silakan baca <a target="_blank" href="%s"> Petunjuk</a> dengan hati-hati sebelum Anda mengubah sesuatu di Halaman ini! docker_helper=Jika Anda menjalankan Gogs dalam Docker, silakan baca <a target="_blank" href="%s"> Petunjuk</a> dengan hati-hati sebelum Anda mengubah sesuatu di Halaman ini!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs memerlukan MySQL, PostgreSQL, SQLite3 atau TiDB.
db_title=Pengaturan Basisdata db_title=Pengaturan Basisdata
db_type=Tipe Basisdata db_type=Tipe Basisdata
host=Host host=Host
user=Pengguna user=Pengguna
password=Sandi password=Sandi
db_name=Nama Basisdata db_name=Nama Basisdata
db_schema=Schema db_schema=Skema
db_helper=Harap menggunakan INNODB engine dengan charset utf8_general_ci untuk MySQL. db_helper=Harap menggunakan INNODB engine dengan charset utf8_general_ci untuk MySQL.
ssl_mode=Mode SSL ssl_mode=Mode SSL
path=Path path=Path
@@ -88,6 +88,7 @@ log_root_path=Path log
log_root_path_helper=Direktori untuk menulis berkas log. log_root_path_helper=Direktori untuk menulis berkas log.
enable_console_mode=Mengaktifkan Mode Konsol enable_console_mode=Mengaktifkan Mode Konsol
enable_console_mode_popup=Selain mode file, juga mencetak log ke konsol. enable_console_mode_popup=Selain mode file, juga mencetak log ke konsol.
default_branch=Default Branch
optional_title=Pengaturan opsional optional_title=Pengaturan opsional
email_title=Pengaturan layanan email email_title=Pengaturan layanan email
@@ -126,7 +127,7 @@ run_user_not_match=Pengguna yang sedang menjalankan bukanlah pengguna saat ini:
smtp_host_missing_port=Alamat Host SMTP hilang di alamat. smtp_host_missing_port=Alamat Host SMTP hilang di alamat.
invalid_smtp_from=SMTP Dari lapangan tidak sesuai: %v invalid_smtp_from=SMTP Dari lapangan tidak sesuai: %v
save_config_failed=Gagal untuk menyimpan konfigurasi: %v save_config_failed=Gagal untuk menyimpan konfigurasi: %v
init_failed=Failed to initialize application: %v init_failed=Gagal melakukan inisialiasi aplikasi: %v
invalid_admin_setting=Pengaturan akun admin tidak valid: %v invalid_admin_setting=Pengaturan akun admin tidak valid: %v
install_success=Selamat datang! Kami senang bahwa Anda memilih Gogs, bersenang-senang dan berhati-hatilah. install_success=Selamat datang! Kami senang bahwa Anda memilih Gogs, bersenang-senang dan berhati-hatilah.
invalid_log_root_path=Path akar log tidak valid: %v invalid_log_root_path=Path akar log tidak valid: %v
@@ -264,7 +265,7 @@ following=Mengikuti
follow=Ikuti follow=Ikuti
unfollow=Berhenti mengikuti unfollow=Berhenti mengikuti
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=Nama pengguna atau pola %q tidak diizinkan.
[settings] [settings]
profile=Profil profile=Profil
@@ -316,6 +317,7 @@ delete_email=Hapus
email_deletion=Penghapusan email email_deletion=Penghapusan email
email_deletion_desc=Menghapus alamat email ini akan menghapus informasi yang berhubungan dengan akun Anda. Lanjutkan? email_deletion_desc=Menghapus alamat email ini akan menghapus informasi yang berhubungan dengan akun Anda. Lanjutkan?
email_deletion_success=Email telah berhasil diperbarui! email_deletion_success=Email telah berhasil diperbarui!
email_deletion_primary=Tidak bisa menghapus email utama
add_new_email=Menambah alamat email baru add_new_email=Menambah alamat email baru
add_email=Tambahkan email add_email=Tambahkan email
add_email_confirmation_sent=Email konfirmasi baru telah dikirim ke '%s', silakan cek inboxmu dalam waktu %d jam untuk menyelesaikan proses konfirmasi. add_email_confirmation_sent=Email konfirmasi baru telah dikirim ke '%s', silakan cek inboxmu dalam waktu %d jam untuk menyelesaikan proses konfirmasi.
@@ -370,6 +372,7 @@ two_factor_disable_success=Autentikasi dua faktor telah berhasil dilakukan!
manage_access_token=Kelola Akses Token pribadi manage_access_token=Kelola Akses Token pribadi
generate_new_token=Buat Token Baru generate_new_token=Buat Token Baru
tokens_desc=Token yang Anda buat dapat digunakan untuk mengakses API-nya Gogs. tokens_desc=Token yang Anda buat dapat digunakan untuk mengakses API-nya Gogs.
access_token_tips=Personal access token mungkin digunakan sebagai username atau password. Sangatn direkomendasikan untuk menggunakan "x-access-token" sebagai username atau personal access token sebagai password untuk aplikasi git.
new_token_desc=Setiap token akan memiliki akses penuh ke akunmu. new_token_desc=Setiap token akan memiliki akses penuh ke akunmu.
token_name=Nama Token token_name=Nama Token
generate_token=Buat Token generate_token=Buat Token
@@ -378,7 +381,7 @@ delete_token=Hapus
access_token_deletion=Penghapusan Akses Token Pribadi access_token_deletion=Penghapusan Akses Token Pribadi
access_token_deletion_desc=Hapus token akses pribadi ini akan menghapus semua akses aplikasi yang terkait. Apakah Anda ingin melanjutkan? access_token_deletion_desc=Hapus token akses pribadi ini akan menghapus semua akses aplikasi yang terkait. Apakah Anda ingin melanjutkan?
delete_token_success=Token akses pribadi telah berhasil dihapus! Jangan lupa untuk mengupdate aplikasi anda juga. delete_token_success=Token akses pribadi telah berhasil dihapus! Jangan lupa untuk mengupdate aplikasi anda juga.
token_name_exists=Token with same name already exists. token_name_exists=Token dengan nama yang sama telah digunakan.
orgs.none=Anda bukan anggota organisasi manapun. orgs.none=Anda bukan anggota organisasi manapun.
orgs.leave_title=Meninggalkan organisasi orgs.leave_title=Meninggalkan organisasi
@@ -400,7 +403,7 @@ owner=Pemilik
repo_name=Nama Repositori repo_name=Nama Repositori
repo_name_helper=Nama repositori yang baik biasanya terdiri dari kata kunci yang pendek, mudah diingat dan unik. repo_name_helper=Nama repositori yang baik biasanya terdiri dari kata kunci yang pendek, mudah diingat dan unik.
visibility=Visibilitas visibility=Visibilitas
unlisted=Unlisted unlisted=Tidak terdaftar
visiblity_helper=Repositori ini <span class="ui red text">Pribadi</span> visiblity_helper=Repositori ini <span class="ui red text">Pribadi</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=This repository is <span class="ui red text">Unlisted</span>
visiblity_helper_forced=Situs admin telah memaksa semua repositori baru menjadi <span class="ui red text">Pribadi</span> visiblity_helper_forced=Situs admin telah memaksa semua repositori baru menjadi <span class="ui red text">Pribadi</span>
@@ -432,7 +435,7 @@ repo_description_helper=Deskripsi repositori maksimal 512 karakter.
repo_description_length=Karakter tersedia repo_description_length=Karakter tersedia
form.reach_limit_of_creation=Pemiliknya telah mencapai batas pembuatan maksimum %d repositori. form.reach_limit_of_creation=Pemiliknya telah mencapai batas pembuatan maksimum %d repositori.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=Nama atau pola repositori %q tidak diizinkan.
need_auth=Butuh Otorisasi need_auth=Butuh Otorisasi
migrate_type=Jenis migrasi migrate_type=Jenis migrasi
@@ -491,6 +494,8 @@ branches.stale_branches=Cabang Basi
branches.all=Semua Cabang branches.all=Semua Cabang
branches.updated_by=Diperbarui %[1]s oleh %[2]s branches.updated_by=Diperbarui %[1]s oleh %[2]s
branches.change_default_branch=Ubah Cabang Default branches.change_default_branch=Ubah Cabang Default
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Berkas baru editor.new_file=Berkas baru
editor.upload_file=Unggah Berkas editor.upload_file=Unggah Berkas
@@ -794,7 +799,7 @@ settings.search_user_placeholder=Cari pengguna...
settings.org_not_allowed_to_be_collaborator=Organisasi tidak diperbolehkan untuk ditambahkan sebagai kolaborator. settings.org_not_allowed_to_be_collaborator=Organisasi tidak diperbolehkan untuk ditambahkan sebagai kolaborator.
settings.hooks_desc=Webhooks seperti pemicu peristiwa HTTP POST dasar. Kapan pun terjadi sesuatu di Gog, kami akan menangani pemberitahuan tersebut ke host target yang Anda tentukan. Pelajari lebih lanjut di <a target="_blank" href=" %s "> Panduan Webhooks </a> ini. settings.hooks_desc=Webhooks seperti pemicu peristiwa HTTP POST dasar. Kapan pun terjadi sesuatu di Gog, kami akan menangani pemberitahuan tersebut ke host target yang Anda tentukan. Pelajari lebih lanjut di <a target="_blank" href=" %s "> Panduan Webhooks </a> ini.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Add a new webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Pilih jenis...
settings.add_webhook=Tambahkan Webhook settings.add_webhook=Tambahkan Webhook
settings.webhook_deletion=Hapus Webhook settings.webhook_deletion=Hapus Webhook
settings.webhook_deletion_desc=Hapus halaman web ini akan menghapus informasinya dan semua riwayat pengiriman. Apakah Anda ingin melanjutkan? settings.webhook_deletion_desc=Hapus halaman web ini akan menghapus informasinya dan semua riwayat pengiriman. Apakah Anda ingin melanjutkan?
@@ -1010,19 +1015,19 @@ first_page=Pertama
last_page=Terakhir last_page=Terakhir
total=Total: %d total=Total: %d
dashboard.build_info=Build Information dashboard.build_info=Informasi build
dashboard.app_ver=Application version dashboard.app_ver=Versi aplikasi
dashboard.git_version=Git version dashboard.git_version=Versi Git
dashboard.go_version=Go version dashboard.go_version=Versi Go (Golang)
dashboard.build_time=Build time dashboard.build_time=Durasi
dashboard.build_commit=Build commit dashboard.build_commit=Setuju Membangun
dashboard.statistic=Statistik dashboard.statistic=Statistik
dashboard.operations=Operasi dashboard.operations=Operasi
dashboard.system_status=Status Monitor Sistem dashboard.system_status=Status Monitor Sistem
dashboard.statistic_info=GogsDatabase memiliki <b>%d</b> pengguna, <b>%d</b> organisasi, <b>%d</b> kunci publik, <b>%d</b> repositori, <b>%d</b> jamtangan, <b>%d</b> bintang, <b>%d</b>actions, <b>%d</b> akses, <b>%d</b> isu, <b>%d</b> komentar, <b>%d</b> akun sosial, <b>%d</b> berikut, <b>%d<b> mirror, <b>%d</b> rilis, <b>%d</b> sumber masuk, <b>%d</b> webhooks, <b>%d</b> tonggak,<b>%d</b> label, <b>%d</b> tugas hook, <b>%d</b> tim, <b>%d</b> memperbarui tugas, <b>%d</b> lampiran. dashboard.statistic_info=GogsDatabase memiliki <b>%d</b> pengguna, <b>%d</b> organisasi, <b>%d</b> kunci publik, <b>%d</b> repositori, <b>%d</b> jamtangan, <b>%d</b> bintang, <b>%d</b>actions, <b>%d</b> akses, <b>%d</b> isu, <b>%d</b> komentar, <b>%d</b> akun sosial, <b>%d</b> berikut, <b>%d<b> mirror, <b>%d</b> rilis, <b>%d</b> sumber masuk, <b>%d</b> webhooks, <b>%d</b> tonggak,<b>%d</b> label, <b>%d</b> tugas hook, <b>%d</b> tim, <b>%d</b> memperbarui tugas, <b>%d</b> lampiran.
dashboard.operation_name=Nama operasi dashboard.operation_name=Nama operasi
dashboard.operation_switch=Beralih dashboard.operation_switch=Beralih
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Harap menentukan operasi yang dijalankan
dashboard.operation_run=Menjalankan dashboard.operation_run=Menjalankan
dashboard.clean_unbind_oauth=Bersihkan OAuth yang tidak terikat dashboard.clean_unbind_oauth=Bersihkan OAuth yang tidak terikat
dashboard.clean_unbind_oauth_success=Semua unbind OAuthes telah berhasil dihapus. dashboard.clean_unbind_oauth_success=Semua unbind OAuthes telah berhasil dihapus.
@@ -1146,7 +1151,7 @@ auths.user_attribute_listed_in_group=Atribut Pengguna Terdaftar di Grup
auths.attributes_in_bind=Ambil atribut dalam konteks Bind DN auths.attributes_in_bind=Ambil atribut dalam konteks Bind DN
auths.filter=Pengguna saringan auths.filter=Pengguna saringan
auths.admin_filter=Filter Admin auths.admin_filter=Filter Admin
auths.ms_ad_sa=Ms Ad SA auths.ms_ad_sa=Otentifikasi sistem
auths.smtp_auth=Autentikasi tipe SMTP auths.smtp_auth=Autentikasi tipe SMTP
auths.smtphost=Host SMTP auths.smtphost=Host SMTP
auths.smtpport=Port SMTP auths.smtpport=Port SMTP
@@ -1168,51 +1173,52 @@ auths.delete_auth_desc=Autentikasi ini akan dihapus, apakah Anda ingin melanjutk
auths.still_in_used=Autentikasi ini masih digunakan oleh pengguna lain, silakan hapus atau ubah pengguna tersebut ke tipe masuk lainnya. auths.still_in_used=Autentikasi ini masih digunakan oleh pengguna lain, silakan hapus atau ubah pengguna tersebut ke tipe masuk lainnya.
auths.deletion_success=Autentikasi berhasil dihapus! auths.deletion_success=Autentikasi berhasil dihapus!
auths.login_source_exist=Sumber masuk %s sudah tersedia. auths.login_source_exist=Sumber masuk %s sudah tersedia.
auths.github_api_endpoint=API Endpoint auths.github_api_endpoint=Titik akhir API
config.not_set=(tidak diterapkan) config.not_set=(tidak diterapkan)
config.server_config=Konfigurasi Server config.server_config=Konfigurasi Server
config.brand_name=Brand name config.brand_name=Nama Merek/Logo/Perusahaan
config.run_user=Menjalankan penggunaa config.run_user=Menjalankan penggunaa
config.run_mode=Run mode config.run_mode=Run mode
config.server.external_url=External URL config.server.external_url=URL eksternal
config.server.domain=Domain config.server.domain=Domain
config.server.protocol=Protocol config.server.protocol=Protokol
config.server.http_addr=HTTP address config.server.http_addr=Alamat HTTP
config.server.http_port=HTTP port config.server.http_port=Port HTTP
config.server.cert_file=Certificate file config.server.cert_file=Berkas Sertifikat
config.server.key_file=Key file config.server.key_file=Berkas baru
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Minimum versi TLS
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Aturan unix socket
config.server.local_root_url=Local root URL config.server.local_root_url=Lokal root url
config.server.offline_mode=Offline mode config.server.offline_mode=mode luring
config.server.disable_router_log=Disable router log config.server.disable_router_log=Menonaktifkan router log
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=aktifkan gzip
config.server.app_data_path=Application data path config.server.app_data_path=target data aplikasi
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=memanggil asset dari disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=Konfigurasi SSH config.ssh_config=Konfigurasi SSH
config.ssh.enabled=Enabled config.ssh.enabled=Diaktifkan
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Path akar
config.ssh.keygen_path=Keygen path config.ssh.keygen_path=Path keygen
config.ssh.key_test_path=Key test path config.ssh.key_test_path=Key test path
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Minimum key size check
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Ukuran kunci minimum
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Tulis ulang "authorized_keys" saat memulai
config.ssh.start_builtin_server=Start builtin server config.ssh.start_builtin_server=Start builtin server
config.ssh.listen_host=Listen host config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Cipher server
config.ssh.server_macs=Server MACs config.ssh.server_macs=MAC server
config.ssh.server_algorithms=Algoritma server
config.repo_config=Konfigurasi Repositori config.repo_config=Konfigurasi Repositori
config.repo.root_path=Root path config.repo.root_path=Path akar
config.repo.script_type=Script type config.repo.script_type=Jenis skrip
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=Set karakter ANSI
config.repo.force_private=Force private config.repo.force_private=Paksa pribadi
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Max creation limit
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Preferred licenses
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Disable HTTP Git
@@ -1221,80 +1227,81 @@ config.repo.enable_raw_file_render_mode=Enable raw file render mode
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Editor line wrap extensions
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Editor previewable file modes
config.repo.upload.enabled=Upload enabled config.repo.upload.enabled=Pengunggahan diaktifkan
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Path unggah sementara
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Tipe unggah yang diizinkan
config.repo.upload.file_max_size=Upload file size limit config.repo.upload.file_max_size=Batas ukuran unggah berkas
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Batas unggah berkas
config.db_config=Konfigurasi Basis Data config.db_config=Konfigurasi Basis Data
config.db.type=Type config.db.type=Tipe
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Nama
config.db.schema=Schema config.db.schema=Skema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(hanya untuk "postgres")
config.db.user=User config.db.user=Pengguna
config.db.ssl_mode=SSL mode config.db.ssl_mode=Modus SSL
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(hanya untuk "postgres")
config.db.path=Path config.db.path=Path
config.db.path_helper=(for "sqlite3"only) config.db.path_helper=(hanya untuk "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Maksimum koneksi yang terbuka
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Maksimum koneksi menganggur
config.security_config=Security configuration config.security_config=Konfigurasi keamanan
config.security.login_remember_days=Login remember days config.security.login_remember_days=Berapa hari mengingat log masuk
config.security.cookie_remember_name=Remember cookie config.security.cookie_remember_name=Ingat cookie
config.security.cookie_username=Username cookie config.security.cookie_username=Cookie pengguna
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Aktifkan cookie aman
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Reverse proxy authentication header
config.security.enable_login_status_cookie=Enable login status cookie config.security.enable_login_status_cookie=Enable login status cookie
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=Konfigurasi surel
config.email.enabled=Enabled config.email.enabled=Enabled
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Subject prefix
config.email.host=Host config.email.host=Host
config.email.from=From config.email.from=Dari
config.email.user=User config.email.user=Pengguna
config.email.disable_helo=Disable HELO config.email.disable_helo=Disable HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=HELO hostname
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Lewati verifikasi sertifikat
config.email.use_certificate=Use custom certificate config.email.use_certificate=Pakai sertifikat ubahan
config.email.cert_file=Certificate file config.email.cert_file=Berkas sertifikat
config.email.key_file=Key file config.email.key_file=Berkas kunci
config.email.use_plain_text=Use plain text config.email.use_plain_text=Gunakan teks polos
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Tambahkan alternatif teks polos
config.email.send_test_mail=Send test email config.email.send_test_mail=Kirim surel uji
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Gagal mengirim surel uji ke '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Surel uji telah dikirim ke '%s'.
config.auth_config=Authentication configuration config.auth_config=Konfigurasi otentikasi
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Perlu konfirmasi surel
config.auth.require_sign_in_view=Require sign in view config.auth.require_sign_in_view=Require sign in view
config.auth.disable_registration=Disable registration config.auth.disable_registration=Nonaktifkan pendaftaran
config.auth.enable_registration_captcha=Enable registration captcha config.auth.enable_registration_captcha=Aktifkan captcha pendaftaran
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_reverse_proxy_authentication=Aktifkan otentikasi proksi balik
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Aktifkan pendaftaran otomatis proksi balik
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
config.user_config=User configuration config.user_config=Konfigurasi pengguna
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Aktifkan notifikasi surel
config.session_config=Konfigurasi Sesi config.session_config=Konfigurasi Sesi
config.session.provider=Provider config.session.provider=Penyedia
config.session.provider_config=Provider config config.session.provider_config=Konfigurasi penyedia
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=HTTPS only config.session.https_only=Hanya HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=Interval GC
config.session.max_life_time=Max life time config.session.max_life_time=Max life time
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF cookie
config.cache_config=Konfigurasi Cache config.cache_config=Konfigurasi Cache
config.cache.adapter=Adapter config.cache.adapter=Adaptor
config.cache.interval=GC interval config.cache.interval=Interval GC
config.cache.host=Host config.cache.host=Host
config.http_config=Konfigurasi HTTP config.http_config=Konfigurasi HTTP
@@ -1304,27 +1311,27 @@ config.attachment_config=Attachment configuration
config.attachment.enabled=Enabled config.attachment.enabled=Enabled
config.attachment.path=Path config.attachment.path=Path
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Allowed types
config.attachment.max_size=Size limit config.attachment.max_size=Batas ukuran
config.attachment.max_files=Files limit config.attachment.max_files=Batas berkas
config.release_config=Release configuration config.release_config=Release configuration
config.release.attachment.enabled=Attachment enabled config.release.attachment.enabled=Lampiran diaktifkan
config.release.attachment.allowed_types=Attachment allowed types config.release.attachment.allowed_types=Jens lampiran yang diizinkan
config.release.attachment.max_size=Attachment size limit config.release.attachment.max_size=Batas ukuran lampiran
config.release.attachment.max_files=Attachment files limit config.release.attachment.max_files=Batas berkas lampiran
config.picture_config=Konfigurasi Gambar config.picture_config=Konfigurasi Gambar
config.picture.avatar_upload_path=User avatar upload path config.picture.avatar_upload_path=Path unggah avatar pengguna
config.picture.repo_avatar_upload_path=Repository avatar upload path config.picture.repo_avatar_upload_path=Path unggah avatar repositori
config.picture.gravatar_source=Gravatar source config.picture.gravatar_source=Sumber gravatar
config.picture.disable_gravatar=Disable Gravatar config.picture.disable_gravatar=Nonaktifkan Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Konfigurasi cermin
config.mirror.default_interval=Default interval config.mirror.default_interval=Interval baku
config.webhook_config=Webhook Konfigurasi config.webhook_config=Webhook Konfigurasi
config.webhook.types=Types config.webhook.types=Tipe
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Deliver timeout
config.webhook.skip_tls_verify=Skip TLS verify config.webhook.skip_tls_verify=Skip TLS verify
@@ -1336,16 +1343,16 @@ config.git.max_diff_files=Diff files limit (for a single diff)
config.git.gc_args=GC arguments config.git.gc_args=GC arguments
config.git.migrate_timeout=Migration timeout config.git.migrate_timeout=Migration timeout
config.git.mirror_timeout=Mirror fetch timeout config.git.mirror_timeout=Mirror fetch timeout
config.git.clone_timeout=Clone timeout config.git.clone_timeout=Tenggat waktu klon
config.git.pull_timeout=Pull timeout config.git.pull_timeout=Tenggat waktu pull
config.git.gc_timeout=GC timeout config.git.gc_timeout=Tenggat waktu GC
config.lfs_config=LFS configuration config.lfs_config=Konfigurasi LFS
config.lfs.storage=Storage config.lfs.storage=Penyimpanan
config.lfs.objects_path=Objects path config.lfs.objects_path=Path obyek
config.log_config=Log configuration config.log_config=Konfigurasi log
config.log_file_root_path=Log file root path config.log_file_root_path=Path akar berkas log
config.log_mode=Mode config.log_mode=Mode
config.log_options=Pilihan config.log_options=Pilihan
@@ -1401,8 +1408,8 @@ mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%
ago=lalu ago=lalu
from_now=dari sekarang from_now=dari sekarang
now=sekarang now=sekarang
1s=1detik %s 1s=1 detik %s
1m=1menit %s 1m=1 menit %s
1h=1 jam %s 1h=1 jam %s
1d=1 hari %s 1d=1 hari %s
1w=1 Minggu %s 1w=1 Minggu %s
@@ -1417,7 +1424,7 @@ months=%d bulan %s
years=%d tahun %s years=%d tahun %s
raw_seconds=detik raw_seconds=detik
raw_minutes=menit raw_minutes=menit
raw_hours=hours raw_hours=jam
[dropzone] [dropzone]
default_message=Jatuhkan berkas disini atau klik untuk mengunggah. default_message=Jatuhkan berkas disini atau klik untuk mengunggah.

View File

@@ -88,6 +88,7 @@ log_root_path=Percorso dei log
log_root_path_helper=Directory in cui scrivere i file di log. log_root_path_helper=Directory in cui scrivere i file di log.
enable_console_mode=Abilita modalità Terminale enable_console_mode=Abilita modalità Terminale
enable_console_mode_popup=In aggiunta alla modalità file, invia i log anche al terminale. enable_console_mode_popup=In aggiunta alla modalità file, invia i log anche al terminale.
default_branch=Default Branch
optional_title=Impostazioni Facoltative optional_title=Impostazioni Facoltative
email_title=Impostazioni E-mail email_title=Impostazioni E-mail
@@ -316,6 +317,7 @@ delete_email=Elimina
email_deletion=Eliminazione e-mail email_deletion=Eliminazione e-mail
email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare? email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare?
email_deletion_success=Indirizzo e-mail eliminato con successo! email_deletion_success=Indirizzo e-mail eliminato con successo!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Aggiungi un nuovo indirizzo E-mail add_new_email=Aggiungi un nuovo indirizzo E-mail
add_email=Aggiungi E-mail add_email=Aggiungi E-mail
add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione. add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione.
@@ -370,6 +372,7 @@ two_factor_disable_success=L'autenticazione a due fattori è stata disabilitata!
manage_access_token=Gestisci i Token di Accesso Personale manage_access_token=Gestisci i Token di Accesso Personale
generate_new_token=Genera Nuovo Token generate_new_token=Genera Nuovo Token
tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gogs. tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account. new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account.
token_name=Nome Token token_name=Nome Token
generate_token=Genera Token generate_token=Genera Token
@@ -491,6 +494,8 @@ branches.stale_branches=Stale Branches
branches.all=Tutti i rami (branch) branches.all=Tutti i rami (branch)
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Cambia branch di default branches.change_default_branch=Cambia branch di default
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nuovo file editor.new_file=Nuovo file
editor.upload_file=Carica File editor.upload_file=Carica File
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Configurazione Repository config.repo_config=Configurazione Repository
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -51,7 +51,7 @@ internal_server_error=サーバ内部エラー
install=インストール install=インストール
title=インストールをする前に必要な準備をしましょう title=インストールをする前に必要な準備をしましょう
docker_helper=DockerでGogsを稼動する場合は、このページに変更を加える前に、 <a target="_blank" href="%s">ガイドライン</a>をよく読んでください! docker_helper=DockerでGogsを稼動する場合は、このページに変更を加える前に、 <a target="_blank" href="%s">ガイドライン</a>をよく読んでください!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs は、MySQLPostgreSQLSQLite3 または TiDB が必要です。
db_title=データベース設定 db_title=データベース設定
db_type=データベースの種類 db_type=データベースの種類
host=ホスト host=ホスト
@@ -88,6 +88,7 @@ log_root_path=ログのパス
log_root_path_helper=ログファイルを書き込むディレクトリ。 log_root_path_helper=ログファイルを書き込むディレクトリ。
enable_console_mode=コンソールモードの有効化 enable_console_mode=コンソールモードの有効化
enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。 enable_console_mode_popup=ファイルモードに加えて、コンソールにもログを表示します。
default_branch=Default Branch
optional_title=オプション設定 optional_title=オプション設定
email_title=メールサービス設定 email_title=メールサービス設定
@@ -316,6 +317,7 @@ delete_email=削除
email_deletion=電子メールの削除 email_deletion=電子メールの削除
email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか? email_deletion_desc=このメールアドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか?
email_deletion_success=電子メールが正常に削除されました。 email_deletion_success=電子メールが正常に削除されました。
email_deletion_primary=Cannot delete primary email address.
add_new_email=新しいメールアドレスを追加 add_new_email=新しいメールアドレスを追加
add_email=メールアドレスの追加 add_email=メールアドレスの追加
add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。 add_email_confirmation_sent='%s' に新しい確認メールを送信しました。%d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
@@ -370,6 +372,7 @@ two_factor_disable_success=2段階認証があなたのアカウントで無効
manage_access_token=パーソナルアクセス トークンを管理 manage_access_token=パーソナルアクセス トークンを管理
generate_new_token=新しいトークンを生成 generate_new_token=新しいトークンを生成
tokens_desc=生成したトークンを利用して Gogs の API にアクセスすることができます。 tokens_desc=生成したトークンを利用して Gogs の API にアクセスすることができます。
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。 new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。
token_name=トークン名 token_name=トークン名
generate_token=トークンを生成 generate_token=トークンを生成
@@ -491,6 +494,8 @@ branches.stale_branches=古いブランチ
branches.all=すべてのブランチ branches.all=すべてのブランチ
branches.updated_by=%[1]s が %[2]s によって更新されました branches.updated_by=%[1]s が %[2]s によって更新されました
branches.change_default_branch=デフォルトブランチの変更 branches.change_default_branch=デフォルトブランチの変更
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=新規ファイル editor.new_file=新規ファイル
editor.upload_file=ファイルをアップロード editor.upload_file=ファイルをアップロード
@@ -915,7 +920,7 @@ release.deletion=リリースの削除
release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか
release.deletion_success=リリースが正常に削除されました。 release.deletion_success=リリースが正常に削除されました。
release.tag_name_already_exist=このタグ名には既にリリースが存在します。 release.tag_name_already_exist=このタグ名には既にリリースが存在します。
release.tag_name_invalid=使用できないタグ名です。 release.tag_name_invalid=タグ名が不正です。
release.downloads=ダウンロード release.downloads=ダウンロード
[org] [org]
@@ -1193,7 +1198,7 @@ config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=SSH設定 config.ssh_config=SSH設定
config.ssh.enabled=Enabled config.ssh.enabled=有効
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Root path
@@ -1207,9 +1212,10 @@ config.ssh.listen_host=待受ホスト
config.ssh.listen_port=待受ポート config.ssh.listen_port=待受ポート
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=リポジトリの設定 config.repo_config=リポジトリの設定
config.repo.root_path=Root path config.repo.root_path=ルートパス
config.repo.script_type=Script type config.repo.script_type=Script type
config.repo.ansi_chatset=ANSI 文字コード config.repo.ansi_chatset=ANSI 文字コード
config.repo.force_private=非公開にする config.repo.force_private=非公開にする
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -44,21 +44,21 @@ issues=이슈
cancel=취소 cancel=취소
[status] [status]
page_not_found=Page Not Found page_not_found=페이지를 찾을 수 없음
internal_server_error=Internal Server Error internal_server_error=내부 서버 오류
[install] [install]
install=설치 install=설치
title=첫 실행을 위한 설치단계 title=첫 실행을 위한 설치단계
docker_helper=Gogs를 Docker에서 운영하고 있다면 <a target="_blank" href="%s">안내</a>를 읽고 변경해 주세요! docker_helper=Gogs를 Docker에서 운영하고 있다면 <a target="_blank" href="%s">안내</a>를 읽고 변경해 주세요!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs MySQL, PostgreSQL, SQLite3, TiDB (MySQL protocol)을 필요로 합니다.
db_title=데이터베이스 설정 db_title=데이터베이스 설정
db_type=데이터베이스 유형 db_type=데이터베이스 유형
host=호스트 host=호스트
user=사용자 user=사용자
password=비밀번호 password=비밀번호
db_name=데이터베이스 이름 db_name=데이터베이스 이름
db_schema=Schema db_schema=스키마
db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요 db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요
ssl_mode=SSL 모드 ssl_mode=SSL 모드
path=경로 path=경로
@@ -88,6 +88,7 @@ log_root_path=로그 경로
log_root_path_helper=로그 파일을 쓸 디렉터리. log_root_path_helper=로그 파일을 쓸 디렉터리.
enable_console_mode=콘솔 모드 활성화 enable_console_mode=콘솔 모드 활성화
enable_console_mode_popup=파일 모드 외에 콘솔에 로그를 인쇄하세요. enable_console_mode_popup=파일 모드 외에 콘솔에 로그를 인쇄하세요.
default_branch=기본 브랜치
optional_title=추가설정 optional_title=추가설정
email_title=이메일 서비스 설정 email_title=이메일 서비스 설정
@@ -264,7 +265,7 @@ following=팔로우 중
follow=추적하기 follow=추적하기
unfollow=추적해제 unfollow=추적해제
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=사용자 이름 또는 패턴 %q 은(는) 허용되지 않습니다.
[settings] [settings]
profile=프로필 profile=프로필
@@ -316,6 +317,7 @@ delete_email=삭제
email_deletion=이메일 삭제 email_deletion=이메일 삭제
email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까? email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까?
email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다! email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다!
email_deletion_primary=기본 이메일 주소를 삭제할 수 없습니다.
add_new_email=새 이메일 주소 추가 add_new_email=새 이메일 주소 추가
add_email=이메일 추가 add_email=이메일 추가
add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다. add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다.
@@ -370,6 +372,8 @@ two_factor_disable_success=2단계 인증이 성공적으로 비활성화되었
manage_access_token=개인 액세스 토큰 관리 manage_access_token=개인 액세스 토큰 관리
generate_new_token=새 토큰을 생성 generate_new_token=새 토큰을 생성
tokens_desc=Gogs Api에 액세스 하는 데 사용할 수 있는 토큰입니다. tokens_desc=Gogs Api에 액세스 하는 데 사용할 수 있는 토큰입니다.
access_token_tips=개인 액세스 토큰은 사용자 이름 또는 비밀번호로 사용할 수 있습니다. Git 애플리케이션에서는 'x-access-token'을 사용자 이름으로 사용하고, 개인 액세스 토큰을 비밀번호로 사용하는 것이 권장됩니다.
new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다. new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다.
token_name=토큰 이름 token_name=토큰 이름
generate_token=토큰 생성 generate_token=토큰 생성
@@ -400,9 +404,9 @@ owner=소유자
repo_name=저장소 이름 repo_name=저장소 이름
repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다. repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다.
visibility=가시성 visibility=가시성
unlisted=Unlisted unlisted=비공개
visiblity_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다 visiblity_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=이 저장소는 <span class="ui red text">비공개</span> 저장소입니다.
visiblity_helper_forced=사이트 관리자가 모든 저장소를 <span class="ui red text">비공개</span>로 변경하였습니다. visiblity_helper_forced=사이트 관리자가 모든 저장소를 <span class="ui red text">비공개</span>로 변경하였습니다.
visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다) visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다)
clone_helper=클론하는데에 도움이 필요하면 <a target="_blank" href="%s">Help</a>에 방문하세요. clone_helper=클론하는데에 도움이 필요하면 <a target="_blank" href="%s">Help</a>에 방문하세요.
@@ -432,7 +436,7 @@ repo_description_helper=저장소 설명.최대 512길이의 문자열이 가능
repo_description_length=가능한 문자열입니다. repo_description_length=가능한 문자열입니다.
form.reach_limit_of_creation=소유자가 저장소 만들기 최대 제한에 (%d개) 도달했습니다. form.reach_limit_of_creation=소유자가 저장소 만들기 최대 제한에 (%d개) 도달했습니다.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=저장소명 또는 패턴 %q 은(는) 허용되지 않습니다.
need_auth=인증 필요 need_auth=인증 필요
migrate_type=마이그레이션 유형 migrate_type=마이그레이션 유형
@@ -443,7 +447,7 @@ migrate.clone_address_desc=HTTP/HTTPS/GIT URL일 수 있습니다.
migrate.clone_address_desc_import_local=로컬 서버 경로를 기준으로 저장소를 마이그레이션 할 수도 있습니다. migrate.clone_address_desc_import_local=로컬 서버 경로를 기준으로 저장소를 마이그레이션 할 수도 있습니다.
migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니다. migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니다.
migrate.invalid_local_path=잘못된 로컬 경로입니다. 존재하지 않는 경로거나 폴더가 아닙니다. migrate.invalid_local_path=잘못된 로컬 경로입니다. 존재하지 않는 경로거나 폴더가 아닙니다.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=복제 주소는 암묵적으로 차단된 로컬 네트워크 주소로 확인되었습니다.
migrate.failed=마이그레이션 실패: %v migrate.failed=마이그레이션 실패: %v
mirror_from=의 미러 mirror_from=의 미러
@@ -491,6 +495,8 @@ branches.stale_branches=오래된 브랜치
branches.all=모든 브랜치 branches.all=모든 브랜치
branches.updated_by=%[2]s이 %[1]s를 업데이트 branches.updated_by=%[2]s이 %[1]s를 업데이트
branches.change_default_branch=기본 브랜치 변경 branches.change_default_branch=기본 브랜치 변경
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=파일 생성 editor.new_file=파일 생성
editor.upload_file=파일 업로드 editor.upload_file=파일 업로드
@@ -707,9 +713,9 @@ settings.collaboration.undefined=미정의
settings.branches=브랜치 settings.branches=브랜치
settings.branches_bare=당신은 빈 저장소에 대한 브런치를 관리할수 없습니다. 먼저 저장소에 내용을 푸쉬하십시오. settings.branches_bare=당신은 빈 저장소에 대한 브런치를 관리할수 없습니다. 먼저 저장소에 내용을 푸쉬하십시오.
settings.default_branch=기본 브랜치 settings.default_branch=기본 브랜치
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=기본 브랜치는 코드 커밋, 풀 리퀘스트 및 온라인 편집을 위한 "기본" 브랜치로 간주됩니다.
settings.update=업데이트 settings.update=업데이트
settings.update_default_branch_unsupported=Change default branch is not supported by the Git version on server. settings.update_default_branch_unsupported=서버의 Git 버전에서는 기본 브랜치 변경이 지원되지 않습니다.
settings.update_default_branch_success=이 레포지토리의 기본 브랜치가 성공적으로 설정되었습니다! settings.update_default_branch_success=이 레포지토리의 기본 브랜치가 성공적으로 설정되었습니다!
settings.protected_branches=보호된 브랜치 settings.protected_branches=보호된 브랜치
settings.protected_branches_desc=보호된 브랜치는 force 푸시, 실수로 인한 코드 삭제를 방지하며 코드 커미터를 화이트리스트 합니다. settings.protected_branches_desc=보호된 브랜치는 force 푸시, 실수로 인한 코드 삭제를 방지하며 코드 커미터를 화이트리스트 합니다.
@@ -721,12 +727,12 @@ settings.protect_this_branch_desc=Force 푸시와 삭제를 비활성화합니
settings.protect_require_pull_request=직접 push 를 하지 않고 Pull Request 를 필요로 하도록 합니다. settings.protect_require_pull_request=직접 push 를 하지 않고 Pull Request 를 필요로 하도록 합니다.
settings.protect_require_pull_request_desc=이 브랜치에 직접 푸시를 하는 것을 막고 싶다면 이 옵션을 활성화하세요. 커밋은 다른 비보호 브랜치에 푸시되어야 하며 이 브랜치에는 Pull Request 를 통해 병합될 것입니다. settings.protect_require_pull_request_desc=이 브랜치에 직접 푸시를 하는 것을 막고 싶다면 이 옵션을 활성화하세요. 커밋은 다른 비보호 브랜치에 푸시되어야 하며 이 브랜치에는 Pull Request 를 통해 병합될 것입니다.
settings.protect_whitelist_committers=이 브랜치에 푸시할 수 있는 유저 settings.protect_whitelist_committers=이 브랜치에 푸시할 수 있는 유저
settings.protect_whitelist_committers_desc=Add people or teams to whitelist of direct push to this branch. Users in whitelist will bypass require pull request check. settings.protect_whitelist_committers_desc=이 브랜치에 직접 푸시할 수 있는 허용 목록에 사람 또는 팀을 추가합니다. 허용 목록에 있는 사용자는 풀 리퀘스트 확인을 거치지 않습니다.
settings.protect_whitelist_users=이 브랜치에 푸시를 할 수 있는 유저 settings.protect_whitelist_users=이 브랜치에 푸시를 할 수 있는 유저
settings.protect_whitelist_search_users=유저 검색 settings.protect_whitelist_search_users=유저 검색
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=이 브랜치에 푸시할 수 있는 팀의 멤버들
settings.protect_whitelist_search_teams=팀 검색 settings.protect_whitelist_search_teams=팀 검색
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=브랜치의 보호 옵션이 성공적으로 업데이트되었습니다!
settings.hooks=Webhooks settings.hooks=Webhooks
settings.githooks=Git Hooks settings.githooks=Git Hooks
settings.basic_settings=기본 설정 settings.basic_settings=기본 설정
@@ -745,7 +751,7 @@ settings.external_wiki_url=외부 위키 URL
settings.external_wiki_url_desc=탭을 클릭하면 URL로 리다이렉트됩니다. settings.external_wiki_url_desc=탭을 클릭하면 URL로 리다이렉트됩니다.
settings.issues_desc=이슈 추적기를 사용하도록 설정 settings.issues_desc=이슈 추적기를 사용하도록 설정
settings.use_internal_issue_tracker=내장된 경량 이슈 트레커를 사용 settings.use_internal_issue_tracker=내장된 경량 이슈 트레커를 사용
settings.allow_public_issues_desc=Allow public access to issues when repository is private settings.allow_public_issues_desc=저장소가 비공개인 경우 이슈에 공개적으로 접속할 수 있도록 허용하기
settings.use_external_issue_tracker=외부 이슈 트래커 사용하기 settings.use_external_issue_tracker=외부 이슈 트래커 사용하기
settings.external_tracker_url=외부 이슈 트래커 URL settings.external_tracker_url=외부 이슈 트래커 URL
settings.external_tracker_url_desc=방문자는 탭을 클릭하면 URL로 리다이렉트 됩니다. settings.external_tracker_url_desc=방문자는 탭을 클릭하면 URL로 리다이렉트 됩니다.
@@ -754,9 +760,9 @@ settings.tracker_issue_style=외부 이슈 트래커 명명 스타일:
settings.tracker_issue_style.numeric=숫자 settings.tracker_issue_style.numeric=숫자
settings.tracker_issue_style.alphanumeric=문자 숫자 settings.tracker_issue_style.alphanumeric=문자 숫자
settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다. settings.tracker_url_format_desc=<code>{user} {repo} {index}</code> 사용자 명, 저장소 명, 이슈 인덱스를 사용하여 표시자를 사용할 수 있습니다.
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches settings.pulls_desc=다른 저장소와 브랜치 간의 기여를 수용할 수 있도록 풀 리퀘스트 활성화
settings.pulls.ignore_whitespace=Ignore changes in whitespace settings.pulls.ignore_whitespace=공백 변경 무시
settings.pulls.allow_rebase_merge=Allow use rebase to merge commits settings.pulls.allow_rebase_merge=커밋을 머지하기 위해 리베이스 사용 허용
settings.danger_zone=위험 설정 settings.danger_zone=위험 설정
settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다. settings.cannot_fork_to_same_owner=본인 소유의 저장소를 본인 명의로 포크할 수 없습니다.
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요. settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
@@ -777,7 +783,7 @@ settings.wiki_deletion_success=저장소의 Wiki 데이터가 성공적으로
settings.delete=이 저장소 삭제 settings.delete=이 저장소 삭제
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요. settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong> settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
settings.delete_notices_2=- This operation will permanently delete everything in this repository, including Git data, issues, comments and collaborator access. settings.delete_notices_2=- 이 작업을 수행하면 Git 데이터, 이슈, 댓글, 협업자 액세스 등 이 저장소의 모든 내용이 영구적으로 삭제됩니다.
settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다. settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
settings.deletion_success=저장소가 성공적으로 삭제 되었습니다! settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다. settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
@@ -794,8 +800,8 @@ settings.remove_collaborator_success=공동작업자가 삭제 되었습니다.
settings.search_user_placeholder=사용자 검색... settings.search_user_placeholder=사용자 검색...
settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다. settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다.
settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gogs에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. <a target="_blank" href="%s">웹후크 안내서</a>에서 자세히 알아보십시오. settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gogs에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. <a target="_blank" href="%s">웹후크 안내서</a>에서 자세히 알아보십시오.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=새 웹훅 추가
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=유형 선택...
settings.add_webhook=Webhook 추가 settings.add_webhook=Webhook 추가
settings.webhook_deletion=Webhook 삭제 settings.webhook_deletion=Webhook 삭제
settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까? settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까?
@@ -804,14 +810,14 @@ settings.webhook.test_delivery=전달 시험
settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다. settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다.
settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다. settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다.
settings.webhook.redelivery=재전송 settings.webhook.redelivery=재전송
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=웹훅 작업 '%s'이(가) 다시 전달 큐에 추가되었습니다. 전달 상태는 이력에서 잠시 후 반영됩니다.
settings.webhook.request=요청 settings.webhook.request=요청
settings.webhook.response=응답 settings.webhook.response=응답
settings.webhook.headers=제목 settings.webhook.headers=제목
settings.webhook.payload=페이로드 settings.webhook.payload=페이로드
settings.webhook.body=본문 settings.webhook.body=본문
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v settings.webhook.err_cannot_parse_payload_url=페이로드 URL을 구문 분석할 수 없습니다: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=로컬 네트워크 주소로 확인된 페이로드 URL이 암묵적으로 차단되었습니다.
settings.githooks_desc=Git Hooks는 Git 자체에서 제공되며, 아래 목록에서 지원되는 후크 파일을 편집하여 사용자 정의 작업을 수행 할 수 있습니다. settings.githooks_desc=Git Hooks는 Git 자체에서 제공되며, 아래 목록에서 지원되는 후크 파일을 편집하여 사용자 정의 작업을 수행 할 수 있습니다.
settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표시됩니다. 내용을 빈 값으로 두면 이 훅은 비활성화됩니다. settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표시됩니다. 내용을 빈 값으로 두면 이 훅은 비활성화됩니다.
settings.githook_name=Hook 이름 settings.githook_name=Hook 이름
@@ -821,7 +827,7 @@ settings.add_webhook_desc=Gogs는 발생한 이벤트와 관련하여 지정한
settings.payload_url=페이로드 URL settings.payload_url=페이로드 URL
settings.content_type=컨텐츠 타입 settings.content_type=컨텐츠 타입
settings.secret=비밀 settings.secret=비밀
settings.secret_desc=Secret will be sent as SHA256 HMAC hex digest of payload via <code>X-Gogs-Signature</code> header. settings.secret_desc=시크릿은 <code>X-Gogs-Signature</code> 헤더를 통해 페이로드의 SHA256 HMAC 16진수 다이제스트로 전송됩니다.
settings.slack_username=사용자 이름 settings.slack_username=사용자 이름
settings.slack_icon_url=아이콘 URL settings.slack_icon_url=아이콘 URL
settings.slack_color= settings.slack_color=
@@ -838,7 +844,7 @@ settings.event_fork_desc=저장소 포크됨
settings.event_push=푸시 settings.event_push=푸시
settings.event_push_desc=깃 저장소로 푸시 settings.event_push_desc=깃 저장소로 푸시
settings.event_issues=이슈 settings.event_issues=이슈
settings.event_issues_desc=Issue opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, or demilestoned. settings.event_issues_desc=이슈가 생성됨, 닫힘, 다시 열림, 편집됨, 담당자 지정 또는 해제, 라벨 업데이트 또는 제거, 마일스톤 지정 또는 해제됨.
settings.event_pull_request=끌어오기 요청 settings.event_pull_request=끌어오기 요청
settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized. settings.event_pull_request_desc=Pull request opened, closed, reopened, edited, assigned, unassigned, label updated, label cleared, milestoned, demilestoned, or synchronized.
settings.event_issue_comment=이슈 댓글 settings.event_issue_comment=이슈 댓글
@@ -1208,6 +1214,7 @@ config.ssh.listen_host=수신 대기 호스트
config.ssh.listen_port=수신 대기 포트 config.ssh.listen_port=수신 대기 포트
config.ssh.server_ciphers=서버 암호화 config.ssh.server_ciphers=서버 암호화
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=저장소 설정 config.repo_config=저장소 설정
config.repo.root_path=최상위 경로 config.repo.root_path=최상위 경로
@@ -1232,8 +1239,8 @@ config.db_config=데이터베이스 설정
config.db.type=유형 config.db.type=유형
config.db.host=호스트 config.db.host=호스트
config.db.name=이름 config.db.name=이름
config.db.schema=Schema config.db.schema=스키마
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=("postgres" 전용)
config.db.user=사용자 config.db.user=사용자
config.db.ssl_mode=SSL 모드 config.db.ssl_mode=SSL 모드
config.db.ssl_mode_helper=("postgres" 전용) config.db.ssl_mode_helper=("postgres" 전용)
@@ -1271,18 +1278,19 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent='%s'로 테스트 이메일을 보냈습니다. config.email.test_mail_sent='%s'로 테스트 이메일을 보냈습니다.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=이메일 인증 필요
config.auth.require_sign_in_view=Require sign in view config.auth.require_sign_in_view=Require sign in view
config.auth.disable_registration=Disable registration config.auth.disable_registration=등록 비활성화
config.auth.enable_registration_captcha=Enable registration captcha config.auth.enable_registration_captcha=등록시 CAPTCHA 사용
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
config.user_config=User configuration config.user_config=User configuration
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=이메일 알림 활성화
config.session_config=세션 설정 config.session_config=세션 설정
config.session.provider=공급자 config.session.provider=공급자
@@ -1301,7 +1309,7 @@ config.cache.host=호스트
config.http_config=HTTP 설정 config.http_config=HTTP 설정
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=첨부 파일 설정
config.attachment.enabled=활성화됨 config.attachment.enabled=활성화됨
config.attachment.path=경로 config.attachment.path=경로
config.attachment.allowed_types=허용 유형 config.attachment.allowed_types=허용 유형
@@ -1318,10 +1326,10 @@ config.picture_config=이미지 설정
config.picture.avatar_upload_path=사용자 아바타 업로드 경로 config.picture.avatar_upload_path=사용자 아바타 업로드 경로
config.picture.repo_avatar_upload_path=Repository avatar upload path config.picture.repo_avatar_upload_path=Repository avatar upload path
config.picture.gravatar_source=Gravatar source config.picture.gravatar_source=Gravatar source
config.picture.disable_gravatar=Disable Gravatar config.picture.disable_gravatar=Gravatar 비활성화
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=미러 설정
config.mirror.default_interval=기본 간격 config.mirror.default_interval=기본 간격
config.webhook_config=웹훅 설정 config.webhook_config=웹훅 설정
@@ -1341,8 +1349,8 @@ config.git.clone_timeout=클론 제한 시간
config.git.pull_timeout=풀 제한 시간 config.git.pull_timeout=풀 제한 시간
config.git.gc_timeout=GC 제한 시간 config.git.gc_timeout=GC 제한 시간
config.lfs_config=LFS configuration config.lfs_config=LFS 구성
config.lfs.storage=Storage config.lfs.storage=저장소
config.lfs.objects_path=Objects path config.lfs.objects_path=Objects path
config.log_config=로그 설정 config.log_config=로그 설정

View File

@@ -88,6 +88,7 @@ log_root_path=Žurnalizēšanas direktorija
log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili. log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili.
enable_console_mode=Iespējot konsoles režīmu enable_console_mode=Iespējot konsoles režīmu
enable_console_mode_popup=Papildus faila režīmam, papildus rakstīt žurnāla ierakstus konsolē. enable_console_mode_popup=Papildus faila režīmam, papildus rakstīt žurnāla ierakstus konsolē.
default_branch=Default Branch
optional_title=Neobligātie iestatījumi optional_title=Neobligātie iestatījumi
email_title=E-pasta pakalpojuma iestatījumi email_title=E-pasta pakalpojuma iestatījumi
@@ -316,6 +317,7 @@ delete_email=Dzēst
email_deletion=E-pasta dzēšana email_deletion=E-pasta dzēšana
email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt? email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt?
email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta! email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Pievienot jaunu e-pasta adresi add_new_email=Pievienot jaunu e-pasta adresi
add_email=Pievienot e-pastu add_email=Pievienot e-pastu
add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu. add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu.
@@ -370,6 +372,7 @@ two_factor_disable_success=Divu faktoru autentificēšana ir atspējota!
manage_access_token=Pārvaldīt personīgos piekļuves talonus manage_access_token=Pārvaldīt personīgos piekļuves talonus
generate_new_token=Ģenerēt jaunu talonu generate_new_token=Ģenerēt jaunu talonu
tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gogs API. tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam. new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam.
token_name=Talona nosaukums token_name=Talona nosaukums
generate_token=Ģenerēt talonu generate_token=Ģenerēt talonu
@@ -491,6 +494,8 @@ branches.stale_branches=Pamests atzars
branches.all=Visi atzari branches.all=Visi atzari
branches.updated_by=%[2]s atjaunoja %[1]s branches.updated_by=%[2]s atjaunoja %[1]s
branches.change_default_branch=Mainīt noklusēto atzaru branches.change_default_branch=Mainīt noklusēto atzaru
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Jauns fails editor.new_file=Jauns fails
editor.upload_file=Augšupielādēt failu editor.upload_file=Augšupielādēt failu
@@ -1012,8 +1017,8 @@ total=Kopā: %d
dashboard.build_info=Build Information dashboard.build_info=Build Information
dashboard.app_ver=Application version dashboard.app_ver=Application version
dashboard.git_version=Git version dashboard.git_version=Git versija
dashboard.go_version=Go version dashboard.go_version=Go versija
dashboard.build_time=Build time dashboard.build_time=Build time
dashboard.build_commit=Build commit dashboard.build_commit=Build commit
dashboard.statistic=Statistika dashboard.statistic=Statistika
@@ -1176,24 +1181,24 @@ config.brand_name=Brand name
config.run_user=Izpildes lietotājs config.run_user=Izpildes lietotājs
config.run_mode=Izpildes režīms config.run_mode=Izpildes režīms
config.server.external_url=External URL config.server.external_url=External URL
config.server.domain=Domain config.server.domain=Domēns
config.server.protocol=Protocol config.server.protocol=Protokols
config.server.http_addr=HTTP address config.server.http_addr=HTTP adrese
config.server.http_port=HTTP port config.server.http_port=HTTP ports
config.server.cert_file=Certificate file config.server.cert_file=Sertifikāta fails
config.server.key_file=Key file config.server.key_file=Privātais kriptogrāfijas atslēgas fails
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Minimālā TLS versija
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Unix socket permission
config.server.local_root_url=Local root URL config.server.local_root_url=Local root URL
config.server.offline_mode=Offline mode config.server.offline_mode=Offline mode
config.server.disable_router_log=Disable router log config.server.disable_router_log=Disable router log
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=Iespējot Gzip
config.server.app_data_path=Application data path config.server.app_data_path=Application data path
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=SSH konfigurācija config.ssh_config=SSH konfigurācija
config.ssh.enabled=Enabled config.ssh.enabled=Iespējots
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Root path
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repozitorija konfigurācija config.repo_config=Repozitorija konfigurācija
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1228,12 +1234,12 @@ config.repo.upload.file_max_size=Upload file size limit
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Upload files limit
config.db_config=Datu bāzes konfigurācija config.db_config=Datu bāzes konfigurācija
config.db.type=Type config.db.type=Tips
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Datubāzes nosaukums
config.db.schema=Schema config.db.schema=Schema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(for "postgres" only)
config.db.user=User config.db.user=Datubāzes lietotājs
config.db.ssl_mode=SSL mode config.db.ssl_mode=SSL mode
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(for "postgres" only)
config.db.path=Path config.db.path=Path
@@ -1251,12 +1257,12 @@ config.security.enable_login_status_cookie=Enable login status cookie
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=E-pasta iestatījumi
config.email.enabled=Enabled config.email.enabled=Iespējots
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Subject prefix
config.email.host=Host config.email.host=Host
config.email.from=From config.email.from=Sūtītājs
config.email.user=User config.email.user=Lietotājs
config.email.disable_helo=Disable HELO config.email.disable_helo=Disable HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=HELO hostname
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Skip certificate verify
@@ -1265,11 +1271,12 @@ config.email.cert_file=Certificate file
config.email.key_file=Key file config.email.key_file=Key file
config.email.use_plain_text=Use plain text config.email.use_plain_text=Use plain text
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Add plain text alternative
config.email.send_test_mail=Send test email config.email.send_test_mail=Nosūtīt pārbaudes e-pastu
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation
@@ -1287,7 +1294,7 @@ config.session_config=Sesijas konfigurācja
config.session.provider=Provider config.session.provider=Provider
config.session.provider_config=Provider config config.session.provider_config=Provider config
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=HTTPS only config.session.https_only=Tikai HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=GC interval
config.session.max_life_time=Max life time config.session.max_life_time=Max life time
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF cookie
@@ -1301,17 +1308,17 @@ config.http_config=HTTP konfigurācija
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=Attachment configuration
config.attachment.enabled=Enabled config.attachment.enabled=Iespējots
config.attachment.path=Path config.attachment.path=Path
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Atļautie tipi
config.attachment.max_size=Size limit config.attachment.max_size=Maksimālais izmērs
config.attachment.max_files=Files limit config.attachment.max_files=Maksimālais failu skaits
config.release_config=Release configuration config.release_config=Release configuration
config.release.attachment.enabled=Attachment enabled config.release.attachment.enabled=Pielikums iespējots
config.release.attachment.allowed_types=Attachment allowed types config.release.attachment.allowed_types=Atļautie pielikuma tipi
config.release.attachment.max_size=Attachment size limit config.release.attachment.max_size=Pielikuma maksimālais izmērs
config.release.attachment.max_files=Attachment files limit config.release.attachment.max_files=Maksimālais pielikuma failu skaits
config.picture_config=Attēlu konfigurācija config.picture_config=Attēlu konfigurācija
config.picture.avatar_upload_path=User avatar upload path config.picture.avatar_upload_path=User avatar upload path
@@ -1321,7 +1328,7 @@ config.picture.disable_gravatar=Disable Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Mirror configuration
config.mirror.default_interval=Default interval config.mirror.default_interval=Noklusētais intervāls
config.webhook_config=Tīkla āķu konfigurācija config.webhook_config=Tīkla āķu konfigurācija
config.webhook.types=Types config.webhook.types=Types

1434
conf/locale/locale_mn-MN.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -44,14 +44,14 @@ issues=Issues
cancel=Annuleren cancel=Annuleren
[status] [status]
page_not_found=Page Not Found page_not_found=Pagina niet gevonden
internal_server_error=Internal Server Error internal_server_error=Interne Server Fout
[install] [install]
install=Installatie install=Installatie
title=Installatiestappen voor de eerste keer opstarten title=Installatiestappen voor de eerste keer opstarten
docker_helper=Als u gebruik maakt Gogs binnen Docker, lees dan de <a target="_blank" href="%s">richtlijnen</a> voordat u iets veranderen op deze pagina! docker_helper=Als u gebruik maakt Gogs binnen Docker, lees dan de <a target="_blank" href="%s">richtlijnen</a> voordat u iets veranderen op deze pagina!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs heeft MySQL, PostgreSQL, SQLite3 of TiDB (via het MySQL protocool) nodig.
db_title=Database-instellingen db_title=Database-instellingen
db_type=Database-type db_type=Database-type
host=Host host=Host
@@ -88,6 +88,7 @@ log_root_path=Log-pad
log_root_path_helper=Directory waar logbestanden opgeslagen worden. log_root_path_helper=Directory waar logbestanden opgeslagen worden.
enable_console_mode=Schakel Console modus in enable_console_mode=Schakel Console modus in
enable_console_mode_popup=Naast de bestand modus print het ook de logs naar de console. enable_console_mode_popup=Naast de bestand modus print het ook de logs naar de console.
default_branch=Standaard branch
optional_title=Optionele instellingen optional_title=Optionele instellingen
email_title=E-mail service instellingen email_title=E-mail service instellingen
@@ -126,7 +127,7 @@ run_user_not_match=De uitvoerende gebruiker is niet de huidig gebruiker: %s -> %
smtp_host_missing_port=SMTP-Host mist een poort in het adres. smtp_host_missing_port=SMTP-Host mist een poort in het adres.
invalid_smtp_from=SMTP-van-veld is niet geldig: %v invalid_smtp_from=SMTP-van-veld is niet geldig: %v
save_config_failed=Kan de configuratie niet opslaan: %v save_config_failed=Kan de configuratie niet opslaan: %v
init_failed=Failed to initialize application: %v init_failed=Programma initialiseren mislukt: %v
invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v
install_success=Welkom! Wij zijn veheugd dat u voor Gogs heeft gekozen, veel plezier en tot ziens install_success=Welkom! Wij zijn veheugd dat u voor Gogs heeft gekozen, veel plezier en tot ziens
invalid_log_root_path=Ongeldig log-pad: %v invalid_log_root_path=Ongeldig log-pad: %v
@@ -182,7 +183,7 @@ login_two_factor_enter_recovery_code=Voer de two-factor herstelcode in
login_two_factor_recovery=Two-factor herstel login_two_factor_recovery=Two-factor herstel
login_two_factor_recovery_code=Herstel code login_two_factor_recovery_code=Herstel code
login_two_factor_enter_passcode=Voer een two-factor wachtwoord in login_two_factor_enter_passcode=Voer een two-factor wachtwoord in
login_two_factor_invalid_recovery_code=Recovery code already used or invalid. login_two_factor_invalid_recovery_code=Herstelcode is al gebruikt of ongeldig.
[mail] [mail]
activate_account=Activeer uw account activate_account=Activeer uw account
@@ -219,7 +220,7 @@ Content=Inhoud
require_error=kan niet leeg zijn. require_error=kan niet leeg zijn.
alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn. alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn.
alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn. alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn.
alpha_dash_dot_slash_error=` must be alphanumeric, dash (-_), dot or slash characters.` alpha_dash_dot_slash_error=` moet een geldige alfanumeriek, (lage) streepje (-_), punt of een schuin karakter zijn.`
size_error=moet groter zijn dan %s size_error=moet groter zijn dan %s
min_size_error=moet minimaal %s karakters bevatten. min_size_error=moet minimaal %s karakters bevatten.
max_size_error=mag maximaal %s karakters bevatten. max_size_error=mag maximaal %s karakters bevatten.
@@ -236,7 +237,7 @@ org_name_been_taken=Organisatie naam is al in gebruik.
team_name_been_taken=Team naam is al in gebruik. team_name_been_taken=Team naam is al in gebruik.
email_been_used=e-mailadres is al in gebruik. email_been_used=e-mailadres is al in gebruik.
username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct. username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
auth_source_mismatch=The authentication source selected is not associated with the user. auth_source_mismatch=De geselecteerde authenticatiebron is niet gekoppeld aan de gebruiker.
enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd. enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd.
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd. enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd. enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
@@ -316,6 +317,7 @@ delete_email=Verwijder
email_deletion=E-mail Verwijderen email_deletion=E-mail Verwijderen
email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wil je verdergaan? email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wil je verdergaan?
email_deletion_success=E-mail is succesvol verwijderd! email_deletion_success=E-mail is succesvol verwijderd!
email_deletion_primary=Kan het primaire e-mailadres niet verwijderen.
add_new_email=Nieuw e-mailadres toevoegen add_new_email=Nieuw e-mailadres toevoegen
add_email=E-mailadres toevoegen add_email=E-mailadres toevoegen
add_email_confirmation_sent=Een nieuwe bevestiging e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien. add_email_confirmation_sent=Een nieuwe bevestiging e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien.
@@ -341,7 +343,7 @@ no_activity=Geen recente activiteiten
key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen
token_state_desc=Deze token is de laatste 7 dagen gebruikt token_state_desc=Deze token is de laatste 7 dagen gebruikt
two_factor=Two-factor Authentication two_factor=Twee-factor authenticatie
two_factor_status=Status: two_factor_status=Status:
two_factor_on=Aan two_factor_on=Aan
two_factor_off=Uit two_factor_off=Uit
@@ -349,9 +351,9 @@ two_factor_enable=Inschakelen
two_factor_disable=Uitschakelen two_factor_disable=Uitschakelen
two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application. two_factor_view_recovery_codes=View and save <a href="%s%s">your recovery codes</a> in a safe place. You can use them as passcode if you lose access to your authentication application.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>.
two_factor_enable_title=Enable Two-factor Authentication two_factor_enable_title=Tweestapsverificatie inschakelen
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Please use your authentication application to scan the image:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Of voer het geheim in:
two_factor_then_enter_passcode=Then enter passcode: two_factor_then_enter_passcode=Then enter passcode:
two_factor_verify=Verifiëren two_factor_verify=Verifiëren
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Persoonlijke toegangstokens beheren manage_access_token=Persoonlijke toegangstokens beheren
generate_new_token=Nieuwe Token genereren generate_new_token=Nieuwe Token genereren
tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gogs APIs te verkrijgen. tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gogs APIs te verkrijgen.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account. new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account.
token_name=Symbolische naam token_name=Symbolische naam
generate_token=Token genereren generate_token=Token genereren
@@ -491,6 +494,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nieuw bestand editor.new_file=Nieuw bestand
editor.upload_file=Bestand uploaden editor.upload_file=Bestand uploaden
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Ścieżka dla logów
log_root_path_helper=Katalog do zapisu logów. log_root_path_helper=Katalog do zapisu logów.
enable_console_mode=Włącz tryb konsolowy enable_console_mode=Włącz tryb konsolowy
enable_console_mode_popup=Oprócz zapisywania do pliku wyświetlaj logi także w konsoli. enable_console_mode_popup=Oprócz zapisywania do pliku wyświetlaj logi także w konsoli.
default_branch=Default Branch
optional_title=Ustawienia opcjonalne optional_title=Ustawienia opcjonalne
email_title=Ustawienia serwera e-mail email_title=Ustawienia serwera e-mail
@@ -316,6 +317,7 @@ delete_email=Usuń
email_deletion=Usunięcie wiadomości e-mail email_deletion=Usunięcie wiadomości e-mail
email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować? email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować?
email_deletion_success=E-mail został usunięty pomyślnie! email_deletion_success=E-mail został usunięty pomyślnie!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Dodaj nowy e-mail add_new_email=Dodaj nowy e-mail
add_email=Dodaj e-mail add_email=Dodaj e-mail
add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania. add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania.
@@ -370,6 +372,7 @@ two_factor_disable_success=Uwierzytelnianie dwuetapowe wyłączono pomyślnie!
manage_access_token=Zarządzaj osobistymi tokenami dostępu manage_access_token=Zarządzaj osobistymi tokenami dostępu
generate_new_token=Wygeneruj nowy token generate_new_token=Wygeneruj nowy token
tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gogs. tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta. new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta.
token_name=Nazwa tokena token_name=Nazwa tokena
generate_token=Wygeneruj token generate_token=Wygeneruj token
@@ -491,6 +494,8 @@ branches.stale_branches=Stare gałęzie
branches.all=Wszystkie gałęzie branches.all=Wszystkie gałęzie
branches.updated_by=Zaktualizowano %[1]s przez %[2]s branches.updated_by=Zaktualizowano %[1]s przez %[2]s
branches.change_default_branch=Zmiana domyślnej gałęzi branches.change_default_branch=Zmiana domyślnej gałęzi
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nowy plik editor.new_file=Nowy plik
editor.upload_file=Załaduj plik editor.upload_file=Załaduj plik
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Port nasłuchu config.ssh.listen_port=Port nasłuchu
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Konfiguracja repozytorium config.repo_config=Konfiguracja repozytorium
config.repo.root_path=Ścieżka katalogu głównego config.repo.root_path=Ścieżka katalogu głównego
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Nie udało się wysłać wiadomości testowej do '
config.email.test_mail_sent=Wiadomość testowa została wysłana do '%s'. config.email.test_mail_sent=Wiadomość testowa została wysłana do '%s'.
config.auth_config=Konfiguracja uwierzytelniania config.auth_config=Konfiguracja uwierzytelniania
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Wymagaj potwierdzenia adresu e-mail config.auth.require_email_confirm=Wymagaj potwierdzenia adresu e-mail

View File

@@ -88,6 +88,7 @@ log_root_path=Caminho do log
log_root_path_helper=Pasta dos arquivos de log. log_root_path_helper=Pasta dos arquivos de log.
enable_console_mode=Ativar o modo de console enable_console_mode=Ativar o modo de console
enable_console_mode_popup=Além do modo de arquivo, exibir registros (log) no console. enable_console_mode_popup=Além do modo de arquivo, exibir registros (log) no console.
default_branch=Default Branch
optional_title=Configurações opcionais optional_title=Configurações opcionais
email_title=Configurações do serviço de e-mail email_title=Configurações do serviço de e-mail
@@ -316,6 +317,7 @@ delete_email=Deletar
email_deletion=Exclusão do email email_deletion=Exclusão do email
email_deletion_desc=Ao Excluir este endereço de e-mail será removido informações relacionadas com a sua conta. Você deseja continuar? email_deletion_desc=Ao Excluir este endereço de e-mail será removido informações relacionadas com a sua conta. Você deseja continuar?
email_deletion_success=O E-mail foi excluído com sucesso! email_deletion_success=O E-mail foi excluído com sucesso!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Adicionar novo endereço de e-mail add_new_email=Adicionar novo endereço de e-mail
add_email=Adicionar e-mail add_email=Adicionar e-mail
add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s'. Por favor, verifique sua Caixa de Entrada dentro das próximas %d horas, para concluir o processo de confirmação. add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s'. Por favor, verifique sua Caixa de Entrada dentro das próximas %d horas, para concluir o processo de confirmação.
@@ -370,6 +372,7 @@ two_factor_disable_success=A autenticação de dois fatores foi desativada com s
manage_access_token=Gerenciar tokens de acesso pessoal manage_access_token=Gerenciar tokens de acesso pessoal
generate_new_token=Gerar novo token generate_new_token=Gerar novo token
tokens_desc=Tokens gerados por você que podem ser usados para acessar a API do Gogs. tokens_desc=Tokens gerados por você que podem ser usados para acessar a API do Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Por enquanto, todo token terá acesso completo à sua conta. new_token_desc=Por enquanto, todo token terá acesso completo à sua conta.
token_name=Nome do token token_name=Nome do token
generate_token=Gerar token generate_token=Gerar token
@@ -491,6 +494,8 @@ branches.stale_branches=Branches obsoletos
branches.all=Todos os branches branches.all=Todos os branches
branches.updated_by=Atualizado %[1]s por %[2]s branches.updated_by=Atualizado %[1]s por %[2]s
branches.change_default_branch=Modificar branch padrão branches.change_default_branch=Modificar branch padrão
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Novo arquivo editor.new_file=Novo arquivo
editor.upload_file=Enviar arquivo editor.upload_file=Enviar arquivo
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Configuração do Repositório config.repo_config=Configuração do Repositório
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -44,21 +44,21 @@ issues=Questões
cancel=Cancelar cancel=Cancelar
[status] [status]
page_not_found=Page Not Found page_not_found=Página Não Encontrada
internal_server_error=Internal Server Error internal_server_error=Erro do servidor interno
[install] [install]
install=Instalação install=Instalação
title=Procedimentos para a instalação inicial title=Procedimentos para a instalação inicial
docker_helper=Se estiver a executar o Gogs dentro de uma instância Docker, por favor leia as<a target="_blank" href="%s">Orientações</a> com atenção, antes de alterar algo nesta página! docker_helper=Se estiver a executar o Gogs dentro de uma instância Docker, por favor leia as<a target="_blank" href="%s">Orientações</a> com atenção, antes de alterar algo nesta página!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs requer uma destas base de dados: MySQL, PostgreSQL, SQLite3 ou TiDB (usando o protocolo MySQL).
db_title=Configurações da Base de Dados db_title=Configurações da Base de Dados
db_type=Tipo de Base de Dados db_type=Tipo de Base de Dados
host=Servidor host=Servidor
user=Utilizador user=Utilizador
password=Palavra-Chave password=Palavra-Chave
db_name=Nome da base de dados db_name=Nome da base de dados
db_schema=Schema db_schema=Esquema
db_helper=Por favor, utilize o motor INNODB do MySQL, com suporte para o mapa de caracteres utf8_general_ci. db_helper=Por favor, utilize o motor INNODB do MySQL, com suporte para o mapa de caracteres utf8_general_ci.
ssl_mode=Modo SSL ssl_mode=Modo SSL
path=Directoria path=Directoria
@@ -88,6 +88,7 @@ log_root_path=Caminho dos Logs
log_root_path_helper=Directoria para aonde gravar os Logs. log_root_path_helper=Directoria para aonde gravar os Logs.
enable_console_mode=Ativar o Modo Consola enable_console_mode=Ativar o Modo Consola
enable_console_mode_popup=Para além de guardar logs num ficheiro, mostrá-los na consola. enable_console_mode_popup=Para além de guardar logs num ficheiro, mostrá-los na consola.
default_branch=Ramo por omissão
optional_title=Configurações opcionais optional_title=Configurações opcionais
email_title=Configurações do serviço de e-mail email_title=Configurações do serviço de e-mail
@@ -264,7 +265,7 @@ following=Seguindo
follow=Seguir follow=Seguir
unfollow=Deixar de seguir unfollow=Deixar de seguir
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=Não é permitido usar o padrão '%s' para o nome do utilizador.
[settings] [settings]
profile=Perfil profile=Perfil
@@ -316,6 +317,7 @@ delete_email=Eliminar
email_deletion=Eliminação de e-mail email_deletion=Eliminação de e-mail
email_deletion_desc=Eliminar este endereço de e-mail irá remover todas as informações relacionadas da sua conta. Pretende continuar? email_deletion_desc=Eliminar este endereço de e-mail irá remover todas as informações relacionadas da sua conta. Pretende continuar?
email_deletion_success=O e-mail foi eliminado com sucesso! email_deletion_success=O e-mail foi eliminado com sucesso!
email_deletion_primary=Não é possível remover o endereço de e-mail primário.
add_new_email=Adicionar um novo endereço de e-mail add_new_email=Adicionar um novo endereço de e-mail
add_email=Adicionar e-mail add_email=Adicionar e-mail
add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s', por favor verifique a sua caixa de correio dento das próximas %d horas para completar o processo de confirmação. add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s', por favor verifique a sua caixa de correio dento das próximas %d horas para completar o processo de confirmação.
@@ -370,6 +372,7 @@ two_factor_disable_success=A autenticação de dois fatores foi desativada com s
manage_access_token=Gerir Tokens de Acesso Pessoal manage_access_token=Gerir Tokens de Acesso Pessoal
generate_new_token=Gerar Novo Token generate_new_token=Gerar Novo Token
tokens_desc=Tokens que gerou que podem ser usadas para aceder as APIs do Gogs. tokens_desc=Tokens que gerou que podem ser usadas para aceder as APIs do Gogs.
access_token_tips=O token de acesso pessoal pode ser usado tanto como nome do utilizador ou senha de acesso. É recomendado usar o "x-access-token" como o nome do utilizador e o token de acesso pessoal como a senha para aplicações Git.
new_token_desc=Cada token vai ter acesso completo à sua conta. new_token_desc=Cada token vai ter acesso completo à sua conta.
token_name=Nome do Token token_name=Nome do Token
generate_token=Gerar Token generate_token=Gerar Token
@@ -400,9 +403,9 @@ owner=Proprietário
repo_name=Nome do Repositório repo_name=Nome do Repositório
repo_name_helper=Um Bom nome de repositório e pequeno, memorável e único. repo_name_helper=Um Bom nome de repositório e pequeno, memorável e único.
visibility=Visibilidade visibility=Visibilidade
unlisted=Unlisted unlisted=Não listado
visiblity_helper=Este repositório é <span class="ui red text">Privado</span> visiblity_helper=Este repositório é <span class="ui red text">Privado</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Este repositório <span class="ui red text">não está listado</span>
visiblity_helper_forced=Administrador do site forçou todos os novos repositórios para<span class="ui red text">Privado</span> visiblity_helper_forced=Administrador do site forçou todos os novos repositórios para<span class="ui red text">Privado</span>
visiblity_fork_helper=(Alterar desse valor irá afetar todos os forks) visiblity_fork_helper=(Alterar desse valor irá afetar todos os forks)
clone_helper=Precisa de ajuda com o clone? Visite a <a target="_blank" href="%s">Ajuda</a>! clone_helper=Precisa de ajuda com o clone? Visite a <a target="_blank" href="%s">Ajuda</a>!
@@ -432,7 +435,7 @@ repo_description_helper=Descrição do repositório. Máximo de 512 caracteres.
repo_description_length=Caracteres disponíveis repo_description_length=Caracteres disponíveis
form.reach_limit_of_creation=O criador chegou ao limite de criação de %d repositórios. form.reach_limit_of_creation=O criador chegou ao limite de criação de %d repositórios.
form.name_not_allowed=Repository name or pattern %q is not allowed. form.name_not_allowed=Não é permitido utilizar o padrão '%s' para o nome do repositório.
need_auth=Autorização necessária need_auth=Autorização necessária
migrate_type=Tipo de migração migrate_type=Tipo de migração
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Isto pode ser um URL de HTTP/HTTPS/GIT.
migrate.clone_address_desc_import_local=Você também pode migrar um repositório pelo caminho do servidor local. migrate.clone_address_desc_import_local=Você também pode migrar um repositório pelo caminho do servidor local.
migrate.permission_denied=Não está autorizado a importar repositórios locais. migrate.permission_denied=Não está autorizado a importar repositórios locais.
migrate.invalid_local_path=Caminho local inválido, o caminho não existe ou não é um directório. migrate.invalid_local_path=Caminho local inválido, o caminho não existe ou não é um directório.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Clonar endereço resolvido para um endereço de rede local implicitamente bloqueado.
migrate.failed=Migração falhada: %v migrate.failed=Migração falhada: %v
mirror_from=mirror de mirror_from=mirror de
@@ -491,6 +494,8 @@ branches.stale_branches=Ramificações Obsoletas
branches.all=Todas as Ramificações branches.all=Todas as Ramificações
branches.updated_by=Atualizado %[1]s por %[2]s branches.updated_by=Atualizado %[1]s por %[2]s
branches.change_default_branch=Mudar Ramificação Predefinida branches.change_default_branch=Mudar Ramificação Predefinida
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Novo Ficheiro editor.new_file=Novo Ficheiro
editor.upload_file=Enviar ficheiro editor.upload_file=Enviar ficheiro
@@ -794,7 +799,7 @@ settings.search_user_placeholder=Procurar utilizador...
settings.org_not_allowed_to_be_collaborator=A organização não tem permissão para ser adicionada como colaboradora. settings.org_not_allowed_to_be_collaborator=A organização não tem permissão para ser adicionada como colaboradora.
settings.hooks_desc=Webhooks são muito parecidos com triggers básicos de eventos HTTP POST. Sempre que algo ocorre no Gogs, vamos lidar com a notificação para o host de destino especificado. Saiba mais no nosso <a target="_blank" href="%s"> Guia de Webhooks</a>. settings.hooks_desc=Webhooks são muito parecidos com triggers básicos de eventos HTTP POST. Sempre que algo ocorre no Gogs, vamos lidar com a notificação para o host de destino especificado. Saiba mais no nosso <a target="_blank" href="%s"> Guia de Webhooks</a>.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Add a new webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Escolha um tipo...
settings.add_webhook=Adicionar Webhook settings.add_webhook=Adicionar Webhook
settings.webhook_deletion=Apagar um Webhook settings.webhook_deletion=Apagar um Webhook
settings.webhook_deletion_desc=Apagar este Webhook vai remover sua informação e todo o histórico de entrega. Deseja continuar? settings.webhook_deletion_desc=Apagar este Webhook vai remover sua informação e todo o histórico de entrega. Deseja continuar?
@@ -1022,7 +1027,7 @@ dashboard.system_status=Monitorização de estado do sistema
dashboard.statistic_info=A base de dados do Gogs contém <b>%d</b> utilizadores, <b>%d</b> organizações, <b>%d</b> chaves públicas, <b>%d</b> repositórios, <b>%d</b> observadores, <b>%d</b> estrelas, <b>%d</b> ações, <b>%d</b> acessos, <b>%d</b> questões, <b>%d</b> comentários, <b>%d</b> contas sociais, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> versões, <b>%d</b> origens de login, <b>%d</b> Hooks da Web, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> tarefas hook, <b>%d</b> equipas, <b>%d</b> tarefas de atualização, <b>%d</b> anexos. dashboard.statistic_info=A base de dados do Gogs contém <b>%d</b> utilizadores, <b>%d</b> organizações, <b>%d</b> chaves públicas, <b>%d</b> repositórios, <b>%d</b> observadores, <b>%d</b> estrelas, <b>%d</b> ações, <b>%d</b> acessos, <b>%d</b> questões, <b>%d</b> comentários, <b>%d</b> contas sociais, <b>%d</b> seguidores, <b>%d</b> mirrors, <b>%d</b> versões, <b>%d</b> origens de login, <b>%d</b> Hooks da Web, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> tarefas hook, <b>%d</b> equipas, <b>%d</b> tarefas de atualização, <b>%d</b> anexos.
dashboard.operation_name=Nome de operação dashboard.operation_name=Nome de operação
dashboard.operation_switch=Mudar dashboard.operation_switch=Mudar
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Seleccione a operação para executar
dashboard.operation_run=Executar dashboard.operation_run=Executar
dashboard.clean_unbind_oauth=Limpar OAuthes desvinculados dashboard.clean_unbind_oauth=Limpar OAuthes desvinculados
dashboard.clean_unbind_oauth_success=Todos OAuthes desvinculados foram excluídos com sucesso. dashboard.clean_unbind_oauth_success=Todos OAuthes desvinculados foram excluídos com sucesso.
@@ -1199,118 +1204,120 @@ config.ssh.port=Porta exposta
config.ssh.root_path=Caminho para a raíz config.ssh.root_path=Caminho para a raíz
config.ssh.keygen_path=Localização do gerador de chaves criptográficas config.ssh.keygen_path=Localização do gerador de chaves criptográficas
config.ssh.key_test_path=Localização do teste das chaves criptográficas config.ssh.key_test_path=Localização do teste das chaves criptográficas
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Verificação de tamanho mínimo da chave
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Tamanhos mínimos de chaves
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
config.ssh.start_builtin_server=Start builtin server config.ssh.start_builtin_server=Iniciar servidor embutido
config.ssh.listen_host=Listen host config.ssh.listen_host=Servidor
config.ssh.listen_port=Listen port config.ssh.listen_port=Porta do servidor
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Cifras do servidor
config.ssh.server_macs=Server MACs config.ssh.server_macs=MACs do servidor
config.ssh.server_algorithms=Algoritmos do servidor
config.repo_config=Configuração de repositório config.repo_config=Configuração de repositório
config.repo.root_path=Root path config.repo.root_path=Localização base
config.repo.script_type=Script type config.repo.script_type=Tipo de script
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=ANSI charset
config.repo.force_private=Force private config.repo.force_private=Forçar privado
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Limite máximo de criação
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Licenças preferidas
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Desativar Git HTTP
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Ativar a migração de caminho local
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Ativar o modo de renderização do ficheiro bruto
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Extensões de quebra automática de linha do editor
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Editor previewable file modes
config.repo.upload.enabled=Upload enabled config.repo.upload.enabled=Envio ativado
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Caminho temporário para envios
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Tipos de envios permitidos
config.repo.upload.file_max_size=Upload file size limit config.repo.upload.file_max_size=Tamanho limite de ficheiros enviados
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Quantidade limite de ficheiros enviados
config.db_config=Configuração da base de dados config.db_config=Configuração da base de dados
config.db.type=Type config.db.type=Tipo
config.db.host=Host config.db.host=Anfitrião
config.db.name=Name config.db.name=Nome
config.db.schema=Schema config.db.schema=Esquema
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(apenas para "postgres")
config.db.user=User config.db.user=Utilizador
config.db.ssl_mode=SSL mode config.db.ssl_mode=Modo SSL
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(apenas para "postgres")
config.db.path=Path config.db.path=Caminho
config.db.path_helper=(for "sqlite3"only) config.db.path_helper=(apenas para "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Máximo de conexões abertas
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Máximo de conexões ociosas
config.security_config=Security configuration config.security_config=Configuração da segurança
config.security.login_remember_days=Login remember days config.security.login_remember_days=Dias lembrados de login
config.security.cookie_remember_name=Remember cookie config.security.cookie_remember_name=Lembrar do cookie
config.security.cookie_username=Username cookie config.security.cookie_username=Cookie do nome do utilizador
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Ativar cookie seguro
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Cabeçalho de autenticação de proxy reverso
config.security.enable_login_status_cookie=Enable login status cookie config.security.enable_login_status_cookie=Enable login status cookie
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=Configuração de E-mail
config.email.enabled=Enabled config.email.enabled=Ativado
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Prefixo do assunto
config.email.host=Host config.email.host=Anfitrião
config.email.from=From config.email.from=De
config.email.user=User config.email.user=Utilizador
config.email.disable_helo=Disable HELO config.email.disable_helo=Desativar HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=Nome de anfitrião HELO
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Skip certificate verify
config.email.use_certificate=Use custom certificate config.email.use_certificate=Usar certificado personalizado
config.email.cert_file=Certificate file config.email.cert_file=Ficheiro de certificado criptográfico
config.email.key_file=Key file config.email.key_file=Ficheiro da chave criptográfica
config.email.use_plain_text=Use plain text config.email.use_plain_text=Usar texto simples
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Adicionar alternativa de texto simples
config.email.send_test_mail=Send test email config.email.send_test_mail=Enviar e-mail de teste
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Falhou o envio do e-mail de teste para '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=O e-mail de teste foi enviado para '%s'.
config.auth_config=Authentication configuration config.auth_config=Configuração da autenticação
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Exigir confirmação por e-mail
config.auth.require_sign_in_view=Require sign in view config.auth.require_sign_in_view=Exigir login para ver
config.auth.disable_registration=Disable registration config.auth.disable_registration=Desativar registo
config.auth.enable_registration_captcha=Enable registration captcha config.auth.enable_registration_captcha=Ativar captcha para registar
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_reverse_proxy_authentication=Ativar autenticação do proxy reverso
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Ativar o registo automático do proxy reverso
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Cabeçalho de autenticação de proxy reverso
config.user_config=User configuration config.user_config=Configuração do utilizador
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Ativar a notificação por e-mail
config.session_config=Configuração de sessão config.session_config=Configuração de sessão
config.session.provider=Provider config.session.provider=Provedor
config.session.provider_config=Provider config config.session.provider_config=Configuração do provedor
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=HTTPS only config.session.https_only=Somente HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=GC interval
config.session.max_life_time=Max life time config.session.max_life_time=Max life time
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF cookie
config.cache_config=Configuração de cache config.cache_config=Configuração de cache
config.cache.adapter=Adapter config.cache.adapter=Adaptador
config.cache.interval=GC interval config.cache.interval=Intervalo de GC
config.cache.host=Host config.cache.host=Anfitrião
config.http_config=Configuração HTTP config.http_config=Configuração HTTP
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=Configuração de anexos
config.attachment.enabled=Enabled config.attachment.enabled=Ativado
config.attachment.path=Path config.attachment.path=Caminho
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Tipos permitidos
config.attachment.max_size=Size limit config.attachment.max_size=Limite de tamanho
config.attachment.max_files=Files limit config.attachment.max_files=Limite de ficheiros
config.release_config=Release configuration config.release_config=Release configuration
config.release.attachment.enabled=Attachment enabled config.release.attachment.enabled=Attachment enabled
config.release.attachment.allowed_types=Attachment allowed types config.release.attachment.allowed_types=Attachment allowed types
config.release.attachment.max_size=Attachment size limit config.release.attachment.max_size=Tamanho máximo dos anexos
config.release.attachment.max_files=Attachment files limit config.release.attachment.max_files=Attachment files limit
config.picture_config=Configuração de imagem config.picture_config=Configuração de imagem
@@ -1321,10 +1328,10 @@ config.picture.disable_gravatar=Disable Gravatar
config.picture.enable_federated_avatar=Enable federated avatars config.picture.enable_federated_avatar=Enable federated avatars
config.mirror_config=Mirror configuration config.mirror_config=Mirror configuration
config.mirror.default_interval=Default interval config.mirror.default_interval=Intervalo predefinido
config.webhook_config=Configuração de WebHook config.webhook_config=Configuração de WebHook
config.webhook.types=Types config.webhook.types=Tipos
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Deliver timeout
config.webhook.skip_tls_verify=Skip TLS verify config.webhook.skip_tls_verify=Skip TLS verify

1434
conf/locale/locale_ro-RO.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -51,14 +51,14 @@ internal_server_error=Внутренняя ошибка сервера
install=Установка install=Установка
title=Установочные шаги для первого запуска title=Установочные шаги для первого запуска
docker_helper=Если вы запускаете Gogs внутри Docker, пожалуйста прочтите <a target="_blank" href="%s">эти советы</a> внимательно перед тем как что-либо изменить на этой странице! docker_helper=Если вы запускаете Gogs внутри Docker, пожалуйста прочтите <a target="_blank" href="%s">эти советы</a> внимательно перед тем как что-либо изменить на этой странице!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Для работы Gogs требуется MySQL, PostgreSQL, SQLite3 или TiDB (по протоколу MySQL).
db_title=Настройки базы данных db_title=Настройки базы данных
db_type=Тип базы данных db_type=Тип базы данных
host=Хост host=Хост
user=Пользователь user=Пользователь
password=Пароль password=Пароль
db_name=Имя базы данных db_name=Имя базы данных
db_schema=Schema db_schema=Схема
db_helper=Для MySQL используйте тип таблиц InnoDB с кодировкой utf8_general_ci. db_helper=Для MySQL используйте тип таблиц InnoDB с кодировкой utf8_general_ci.
ssl_mode=Режим SSL ssl_mode=Режим SSL
path=Путь path=Путь
@@ -70,15 +70,15 @@ err_empty_admin_password=Пароль администратора не може
general_title=Общие параметры Gogs general_title=Общие параметры Gogs
app_name=Имя приложения app_name=Имя приложения
app_name_helper=Укажите здесь название вашей потрясающей организации! app_name_helper=Укажите здесь название вашей потрясающей организации!
repo_path=Путь корня репозитория repo_path=Основной путь репозитория
repo_path_helper=Все сетевые репозитории Git будут сохранены в этой директории. repo_path_helper=Все сетевые репозитории Git будут сохранены в этой директории.
run_user=Пользователь run_user=Пользователь
run_user_helper=У пользователя должен быть доступ к пути к корню репозитория и к запуску Gogs. run_user_helper=У пользователя должен быть доступ к пути к корню репозитория и к запуску Gogs.
domain=Домен domain=Домен
domain_helper=Влияет на URL-адреса для клонирования по SSH. domain_helper=Влияет на URL-адреса для клонирования по SSH.
ssh_port=SSH порт ssh_port=SSH порт
ssh_port_helper=Номер порта, который использует SSH сервер. Оставьте пустым, чтобы отключить SSH. ssh_port_helper=Номер порта, который использует сервер SSH. Оставьте пустым, чтобы отключить SSH.
use_builtin_ssh_server=Использовать встроенный SSH сервер use_builtin_ssh_server=Использовать встроенный сервер SSH
use_builtin_ssh_server_popup=Запустить встроенный SSH сервер для различения операций Git и системного демона SSH. use_builtin_ssh_server_popup=Запустить встроенный SSH сервер для различения операций Git и системного демона SSH.
http_port=Порт HTTP http_port=Порт HTTP
http_port_helper=Номер порта, который приложение будет слушать. http_port_helper=Номер порта, который приложение будет слушать.
@@ -88,6 +88,7 @@ log_root_path=Путь к журналу
log_root_path_helper=Каталог для записи файлов журнала. log_root_path_helper=Каталог для записи файлов журнала.
enable_console_mode=Включите режим консоли enable_console_mode=Включите режим консоли
enable_console_mode_popup=В дополнение к файловому режиму, выводить лог в консоль. enable_console_mode_popup=В дополнение к файловому режиму, выводить лог в консоль.
default_branch=Ветка по умолчанию
optional_title=Расширенные настройки optional_title=Расширенные настройки
email_title=Настройки службы электронной почты email_title=Настройки службы электронной почты
@@ -188,7 +189,7 @@ login_two_factor_invalid_recovery_code=Код восстановления бы
activate_account=Пожалуйста активируйте свой аккаунт activate_account=Пожалуйста активируйте свой аккаунт
activate_email=Подтвердите адрес своей электронной почты activate_email=Подтвердите адрес своей электронной почты
reset_password=Восстановите ваш пароль reset_password=Восстановите ваш пароль
register_success=Регистрация окончена. Добро пожаловать! register_success=Регистрация завершена. Добро пожаловать
register_notify=Добро пожаловать на борт register_notify=Добро пожаловать на борт
[modal] [modal]
@@ -249,9 +250,9 @@ auth_failed=Ошибка аутентификации: %v
still_own_repo=На вашем аккаунте все еще остается как минимум один репозиторий, сначала вам нужно удалить или передать его. still_own_repo=На вашем аккаунте все еще остается как минимум один репозиторий, сначала вам нужно удалить или передать его.
still_has_org=Вы находитесь в организации, сперва Вам необходимо покинуть ее или удалить. still_has_org=Вы находитесь в организации, сперва Вам необходимо покинуть ее или удалить.
org_still_own_repo=Данная организация все еще является владельцем репозиториев, необходимо удалить или переместить их в начале. org_still_own_repo=Данная организация все еще является владельцем репозиториев, сначала нужно удалить или переместить их.
target_branch_not_exist=Целевая ветка не существует target_branch_not_exist=Целевая ветка не существует.
[user] [user]
change_avatar=Изменить аватар change_avatar=Изменить аватар
@@ -303,7 +304,7 @@ change_password=Сменить пароль
old_password=Текущий пароль old_password=Текущий пароль
new_password=Новый пароль new_password=Новый пароль
retype_new_password=Подтверждение нового пароля retype_new_password=Подтверждение нового пароля
password_incorrect=Текущий пароль не правильный. password_incorrect=Текущий пароль неправильный.
change_password_success=Пароль сменен успешно. Теперь вы можете войти с новым паролем. change_password_success=Пароль сменен успешно. Теперь вы можете войти с новым паролем.
password_change_disabled=Нелокальные пользователи не могут изменить свой пароль. password_change_disabled=Нелокальные пользователи не могут изменить свой пароль.
@@ -311,17 +312,18 @@ emails=Адреса электронной почты
manage_emails=Управление адресами электронной почты manage_emails=Управление адресами электронной почты
email_desc=Ваш основной адрес электронной почты будет использован для уведомлений и других операций. email_desc=Ваш основной адрес электронной почты будет использован для уведомлений и других операций.
primary=Основной primary=Основной
primary_email=Установить как основной primary_email=Сделать основным
delete_email=Удалить delete_email=Удалить
email_deletion=Удаление адреса электронной почты email_deletion=Удаление адреса электронной почты
email_deletion_desc=Удаление этого адреса электронной почты, приведет к удалению связанной с вашим аккаунтом, информации. Вы точно хотите продолжить? email_deletion_desc=Удаление этого адреса электронной почты, приведет к удалению связанной с вашим аккаунтом, информации. Вы точно хотите продолжить?
email_deletion_success=Адрес электронной почты успешно удален. email_deletion_success=Адрес электронной почты успешно удален.
email_deletion_primary=Невозможно удалить основной адрес эл. почты.
add_new_email=Добавить новый адрес электронной почты add_new_email=Добавить новый адрес электронной почты
add_email=Добавить электронную почту add_email=Добавить электронную почту
add_email_confirmation_sent=Новое подтверждение по электронной почте было отправлено '%s', пожалуйста, проверьте свой почтовый ящик в течение следующих %d часов, чтобы завершить процесс подтверждения. add_email_confirmation_sent=Новое подтверждение по электронной почте было отправлено '%s', пожалуйста, проверьте свой почтовый ящик в течение следующих %d часов, чтобы завершить процесс подтверждения.
add_email_success=Новый адрес электронной почты успешно добавлен. add_email_success=Новый адрес электронной почты успешно добавлен.
manage_ssh_keys=Управление SSH ключами manage_ssh_keys=Управление ключами SSH
add_key=Добавить ключ add_key=Добавить ключ
ssh_desc=Это список ключей SSH связанных с вашей учетной записью. Удаляйте любые неизвестные вам ключи. ssh_desc=Это список ключей SSH связанных с вашей учетной записью. Удаляйте любые неизвестные вам ключи.
ssh_helper=<strong>Нужна помощь?</strong> Ознакомьтесь с нашим путеводителем по <a href="%s">созданию SSH-ключей</a> или посмотрите решения <a href="%s">частых проблем, связанных с SSH</a>. ssh_helper=<strong>Нужна помощь?</strong> Ознакомьтесь с нашим путеводителем по <a href="%s">созданию SSH-ключей</a> или посмотрите решения <a href="%s">частых проблем, связанных с SSH</a>.
@@ -370,6 +372,7 @@ two_factor_disable_success=Двухфакторная аутентификаци
manage_access_token=Управление Токенами Персонального Доступа manage_access_token=Управление Токенами Персонального Доступа
generate_new_token=Создать новый token generate_new_token=Создать новый token
tokens_desc=Созданные вами токены могут использоваться для доступа к Gogs API. tokens_desc=Созданные вами токены могут использоваться для доступа к Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Пока что каждый токен будет иметь полный доступ к вашей учетной записи. new_token_desc=Пока что каждый токен будет иметь полный доступ к вашей учетной записи.
token_name=Имя маркера token_name=Имя маркера
generate_token=Генерировать маркер generate_token=Генерировать маркер
@@ -400,9 +403,9 @@ owner=Владелец
repo_name=Имя репозитория repo_name=Имя репозитория
repo_name_helper=Лучшие названия репозиториев коротки, запоминаемы и <strong>уникальны</strong>. repo_name_helper=Лучшие названия репозиториев коротки, запоминаемы и <strong>уникальны</strong>.
visibility=Видимость visibility=Видимость
unlisted=Unlisted unlisted=Вне списка
visiblity_helper=<span class="ui red text">Приватный</span> репозиторий visiblity_helper=<span class="ui red text">Приватный</span> репозиторий
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Этот репозиторий <span class="ui red text">Вне списка</span>
visiblity_helper_forced=Администрация сайта сделала все новые репозитории <span class="ui red text">Приватными</span> visiblity_helper_forced=Администрация сайта сделала все новые репозитории <span class="ui red text">Приватными</span>
visiblity_fork_helper=(Изменение этого значения затронет все ответвления) visiblity_fork_helper=(Изменение этого значения затронет все ответвления)
clone_helper=Нужна помощь в клонировании? Посетите страницу <a target="_blank" href="%s">помощи</a>! clone_helper=Нужна помощь в клонировании? Посетите страницу <a target="_blank" href="%s">помощи</a>!
@@ -491,6 +494,8 @@ branches.stale_branches=Устаревшие ветки
branches.all=Все ветки branches.all=Все ветки
branches.updated_by=Обновлено %[1]s пользователем %[2]s branches.updated_by=Обновлено %[1]s пользователем %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Новый файл editor.new_file=Новый файл
editor.upload_file=Загрузить файл editor.upload_file=Загрузить файл
@@ -1206,7 +1211,8 @@ config.ssh.start_builtin_server=Запустить встроенный серв
config.ssh.listen_host=Прослушиваемый хост config.ssh.listen_host=Прослушиваемый хост
config.ssh.listen_port=Прослушиваемый порт config.ssh.listen_port=Прослушиваемый порт
config.ssh.server_ciphers=Серверные шифры config.ssh.server_ciphers=Серверные шифры
config.ssh.server_macs=Server MACs config.ssh.server_macs=MAC-серверы
config.ssh.server_algorithms=Серверные алгоритмы
config.repo_config=Настройка репозитория config.repo_config=Настройка репозитория
config.repo.root_path=Корневой путь config.repo.root_path=Корневой путь
@@ -1216,14 +1222,14 @@ config.repo.force_private=Сделать приватным(и) принудит
config.repo.max_creation_limit=Максимальный лимит созданий config.repo.max_creation_limit=Максимальный лимит созданий
config.repo.preferred_licenses=Предпочтительные лицензии config.repo.preferred_licenses=Предпочтительные лицензии
config.repo.disable_http_git=Выключить HTTP Git config.repo.disable_http_git=Выключить HTTP Git
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Включить миграцию с локального пути
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Включить режим рендеринга необработанных файлов
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Расширения переноса строки редактора
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Editor previewable file modes
config.repo.upload.enabled=Upload enabled config.repo.upload.enabled=Загрузка включена
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Загрузить временный путь
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Загрузить разрешённые типы
config.repo.upload.file_max_size=Ограничение размера файлов для загрузки config.repo.upload.file_max_size=Ограничение размера файлов для загрузки
config.repo.upload.max_files=Ограничение файлов для загрузки config.repo.upload.max_files=Ограничение файлов для загрузки
@@ -1231,8 +1237,8 @@ config.db_config=Конфигурация базы данных
config.db.type=Тип config.db.type=Тип
config.db.host=Сервер config.db.host=Сервер
config.db.name=Имя config.db.name=Имя
config.db.schema=Schema config.db.schema=Схема
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(только для "postgres")
config.db.user=Пользователь config.db.user=Пользователь
config.db.ssl_mode=Режим SSL config.db.ssl_mode=Режим SSL
config.db.ssl_mode_helper=(только для "postgres") config.db.ssl_mode_helper=(только для "postgres")
@@ -1249,7 +1255,7 @@ config.security.cookie_secure=Включить безопасные cookie
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Reverse proxy authentication header
config.security.enable_login_status_cookie=Включить файл cookie состояния входа config.security.enable_login_status_cookie=Включить файл cookie состояния входа
config.security.login_status_cookie_name=Файл cookie состояния входа config.security.login_status_cookie_name=Файл cookie состояния входа
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Список разрешенных локальных сетей
config.email_config=E-mail настройки config.email_config=E-mail настройки
config.email.enabled=Включено config.email.enabled=Включено
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Не удалось отправить тесто
config.email.test_mail_sent=Тестовое письмо было отправлено на %s config.email.test_mail_sent=Тестовое письмо было отправлено на %s
config.auth_config=Конфигурация аутентификации config.auth_config=Конфигурация аутентификации
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Срок действия кода сброса пароля config.auth.reset_password_code_lives=Срок действия кода сброса пароля
config.auth.require_email_confirm=Требовать подтверждение по электронной почте config.auth.require_email_confirm=Требовать подтверждение по электронной почте
@@ -1290,10 +1297,10 @@ config.session.cookie_name=Файл cookie
config.session.https_only=Только HTTPS config.session.https_only=Только HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=GC interval
config.session.max_life_time=Максимальный срок действия config.session.max_life_time=Максимальный срок действия
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=CSRF-куки
config.cache_config=Настройки кеша config.cache_config=Настройки кеша
config.cache.adapter=Adapter config.cache.adapter=Адаптер
config.cache.interval=GC interval config.cache.interval=GC interval
config.cache.host=Хост config.cache.host=Хост
@@ -1325,7 +1332,7 @@ config.mirror.default_interval=Интервал по умолчанию
config.webhook_config=Конфигурация Webhook config.webhook_config=Конфигурация Webhook
config.webhook.types=Типы config.webhook.types=Типы
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Таймаут доставки
config.webhook.skip_tls_verify=Пропустить проверку TLS config.webhook.skip_tls_verify=Пропустить проверку TLS
config.git_config=Конфигурация GIT config.git_config=Конфигурация GIT
@@ -1334,9 +1341,9 @@ config.git.max_diff_lines=Diff lines limit (for a single file)
config.git.max_diff_line_characters=Diff characters limit (for a single line) config.git.max_diff_line_characters=Diff characters limit (for a single line)
config.git.max_diff_files=Diff files limit (for a single diff) config.git.max_diff_files=Diff files limit (for a single diff)
config.git.gc_args=Аргументы GC config.git.gc_args=Аргументы GC
config.git.migrate_timeout=Migration timeout config.git.migrate_timeout=Таймаут миграции
config.git.mirror_timeout=Mirror fetch timeout config.git.mirror_timeout=Mirror fetch timeout
config.git.clone_timeout=Clone timeout config.git.clone_timeout=Таймаут клонирования
config.git.pull_timeout=Pull timeout config.git.pull_timeout=Pull timeout
config.git.gc_timeout=GC timeout config.git.gc_timeout=GC timeout

View File

@@ -88,6 +88,7 @@ log_root_path=Cesta k log súborom
log_root_path_helper=Adresár pre zápis log súborov. log_root_path_helper=Adresár pre zápis log súborov.
enable_console_mode=Zapnúť režim konzoly enable_console_mode=Zapnúť režim konzoly
enable_console_mode_popup=Okrem zápisu do súboru, vytlačiť systémové záznamy aj do konzoly. enable_console_mode_popup=Okrem zápisu do súboru, vytlačiť systémové záznamy aj do konzoly.
default_branch=Default Branch
optional_title=Nepovinné nastavenia optional_title=Nepovinné nastavenia
email_title=Nastavenie e-mailovej služby email_title=Nastavenie e-mailovej služby
@@ -126,7 +127,7 @@ run_user_not_match=Používateľ pre spustenie sa nezhoduje s aktuálnym použí
smtp_host_missing_port=V adrese SMTP servera chýba číslo portu. smtp_host_missing_port=V adrese SMTP servera chýba číslo portu.
invalid_smtp_from=Hodnota položky SMTP Od: je nesprávne zadaná: %v invalid_smtp_from=Hodnota položky SMTP Od: je nesprávne zadaná: %v
save_config_failed=Chyba pri uložení konfigurácie: %v save_config_failed=Chyba pri uložení konfigurácie: %v
init_failed=Failed to initialize application: %v init_failed=Nepodarilo sa inicializovať aplikáciu: %v
invalid_admin_setting=Nastavenie administrátorského účtu je neplatné: %v invalid_admin_setting=Nastavenie administrátorského účtu je neplatné: %v
install_success=Vitajte! Sme radi, že ste si vybrali Gogs, bavte sa a dávajte si pozor. install_success=Vitajte! Sme radi, že ste si vybrali Gogs, bavte sa a dávajte si pozor.
invalid_log_root_path=Koreňový adresár pre log súbory je neplatný: %v invalid_log_root_path=Koreňový adresár pre log súbory je neplatný: %v
@@ -316,6 +317,7 @@ delete_email=Odstrániť
email_deletion=Odstránenie e-mailu email_deletion=Odstránenie e-mailu
email_deletion_desc=Vymazaním tejto emailovej adresy sa odstránia súvisiace informácie z vášho účtu. Chcete pokračovať? email_deletion_desc=Vymazaním tejto emailovej adresy sa odstránia súvisiace informácie z vášho účtu. Chcete pokračovať?
email_deletion_success=Email bol úspešne odstránený! email_deletion_success=Email bol úspešne odstránený!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Pridať novú e-mailovú adresu add_new_email=Pridať novú e-mailovú adresu
add_email=Pridať email add_email=Pridať email
add_email_confirmation_sent=Nový email s potvrdením bol odoslaný na '%s', v priebehu nasledovných '%d' hodín si prosím skontrolujte vašu schránku pre dokončenie procesu potvrdenia. add_email_confirmation_sent=Nový email s potvrdením bol odoslaný na '%s', v priebehu nasledovných '%d' hodín si prosím skontrolujte vašu schránku pre dokončenie procesu potvrdenia.
@@ -370,6 +372,7 @@ two_factor_disable_success=Dvojfaktorové overenie bolo zakázané!
manage_access_token=Spravovať osobné prístupové tokeny manage_access_token=Spravovať osobné prístupové tokeny
generate_new_token=Vygenerovať nový token generate_new_token=Vygenerovať nový token
tokens_desc=Tokeny, ktoré ste vygenerovali je možné použiť na prístup ku Gogs API. tokens_desc=Tokeny, ktoré ste vygenerovali je možné použiť na prístup ku Gogs API.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Každý token bude mať plný prístup ku vašemu účtu. new_token_desc=Každý token bude mať plný prístup ku vašemu účtu.
token_name=Názov tokenu token_name=Názov tokenu
generate_token=Vygenerovať token generate_token=Vygenerovať token
@@ -491,6 +494,8 @@ branches.stale_branches=Zastaralé vetvy
branches.all=Všetky vetvy branches.all=Všetky vetvy
branches.updated_by=%[2]s zmenil %[1]s branches.updated_by=%[2]s zmenil %[1]s
branches.change_default_branch=Zmeniť základnú vetvu branches.change_default_branch=Zmeniť základnú vetvu
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Nový súbor editor.new_file=Nový súbor
editor.upload_file=Nahrať súbor editor.upload_file=Nahrať súbor
@@ -1010,12 +1015,12 @@ first_page=Prvý
last_page=Posledný last_page=Posledný
total=Celkom: %d total=Celkom: %d
dashboard.build_info=Build Information dashboard.build_info=Informácie o zostavení
dashboard.app_ver=Application version dashboard.app_ver=Verzia aplikácie
dashboard.git_version=Git version dashboard.git_version=Git verzia
dashboard.go_version=Go version dashboard.go_version=Go verzia
dashboard.build_time=Build time dashboard.build_time=Čas zostavenia
dashboard.build_commit=Build commit dashboard.build_commit=Commit zostavenia
dashboard.statistic=Štatistika dashboard.statistic=Štatistika
dashboard.operations=Operácie dashboard.operations=Operácie
dashboard.system_status=Monitor stavu systému dashboard.system_status=Monitor stavu systému
@@ -1158,7 +1163,7 @@ auths.pam_service_name=Názov služby PAM
auths.enable_auto_register=Povoliť auto registráciu auths.enable_auto_register=Povoliť auto registráciu
auths.edit=Upraviť nastavenie overovania auths.edit=Upraviť nastavenie overovania
auths.activated=Tento spôsob overovania je aktívny auths.activated=Tento spôsob overovania je aktívny
auths.default_auth=This authentication is default login source auths.default_auth=Toto overenie je východzí zdroj prihlásenia
auths.new_success=Nový spôsob overovania '%s' bol pridaný. auths.new_success=Nový spôsob overovania '%s' bol pridaný.
auths.update_success=Nastavenie overovania bolo zmenené. auths.update_success=Nastavenie overovania bolo zmenené.
auths.update=Zmeniť nastavenie overovania auths.update=Zmeniť nastavenie overovania
@@ -1168,32 +1173,32 @@ auths.delete_auth_desc=Tento spôsob overovania bude odstránený, chcete pokra
auths.still_in_used=Tento spôsob overovania je stále používaný niektorými užívateľmi. Prosím, najskôr zmeňte u týchto užívateľov typ overenia na iný. auths.still_in_used=Tento spôsob overovania je stále používaný niektorými užívateľmi. Prosím, najskôr zmeňte u týchto užívateľov typ overenia na iný.
auths.deletion_success=Spôsob overovania bol odstránený! auths.deletion_success=Spôsob overovania bol odstránený!
auths.login_source_exist=Zdroj prihlásenia '%s' už existuje. auths.login_source_exist=Zdroj prihlásenia '%s' už existuje.
auths.github_api_endpoint=API Endpoint auths.github_api_endpoint=Koncový bod API
config.not_set=(nezadané) config.not_set=(nezadané)
config.server_config=Konfigurácia servera config.server_config=Konfigurácia servera
config.brand_name=Brand name config.brand_name=Názov značky
config.run_user=Používateľ pre spustenie aplikácie config.run_user=Používateľ pre spustenie aplikácie
config.run_mode=Režim spúšťania config.run_mode=Režim spúšťania
config.server.external_url=External URL config.server.external_url=Externé URL
config.server.domain=Domain config.server.domain=Doména
config.server.protocol=Protocol config.server.protocol=Protokol
config.server.http_addr=HTTP address config.server.http_addr=HTTP adresa
config.server.http_port=HTTP port config.server.http_port=HTTP port
config.server.cert_file=Certificate file config.server.cert_file=Súbor certifikátu
config.server.key_file=Key file config.server.key_file=Súbor kľúča
config.server.tls_min_version=Minimum TLS version config.server.tls_min_version=Minimálna verzia TLS
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Oprávnenie Unix socketu
config.server.local_root_url=Local root URL config.server.local_root_url=Local root URL
config.server.offline_mode=Offline mode config.server.offline_mode=Offline mode
config.server.disable_router_log=Disable router log config.server.disable_router_log=Disable router log
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=Povoliť Gzip
config.server.app_data_path=Application data path config.server.app_data_path=Application data path
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=Landing URL
config.ssh_config=Nastavenie SSH config.ssh_config=Nastavenie SSH
config.ssh.enabled=Enabled config.ssh.enabled=Povolené
config.ssh.domain=Exposed domain config.ssh.domain=Exposed domain
config.ssh.port=Exposed port config.ssh.port=Exposed port
config.ssh.root_path=Root path config.ssh.root_path=Root path
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Nastavenie repozitára config.repo_config=Nastavenie repozitára
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1216,7 +1222,7 @@ config.repo.force_private=Force private
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Max creation limit
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Preferred licenses
config.repo.disable_http_git=Disable HTTP Git config.repo.disable_http_git=Disable HTTP Git
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Povoliť migráciu z miestnej cesty
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Enable raw file render mode
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Commits fetch concurrency
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Editor line wrap extensions
@@ -1252,7 +1258,7 @@ config.security.login_status_cookie_name=Login status cookie
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Local network allowlist
config.email_config=Email configuration config.email_config=Email configuration
config.email.enabled=Enabled config.email.enabled=Povolené
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Subject prefix
config.email.host=Host config.email.host=Host
config.email.from=From config.email.from=From
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation
@@ -1281,7 +1288,7 @@ config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto reg
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
config.user_config=User configuration config.user_config=User configuration
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Povoliť e-mailové notifikácie
config.session_config=Nastavenie session config.session_config=Nastavenie session
config.session.provider=Provider config.session.provider=Provider
@@ -1301,7 +1308,7 @@ config.http_config=HTTP konfigurácia
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Access control allow origin
config.attachment_config=Attachment configuration config.attachment_config=Attachment configuration
config.attachment.enabled=Enabled config.attachment.enabled=Povolené
config.attachment.path=Path config.attachment.path=Path
config.attachment.allowed_types=Allowed types config.attachment.allowed_types=Allowed types
config.attachment.max_size=Size limit config.attachment.max_size=Size limit

View File

@@ -88,6 +88,7 @@ log_root_path=Пут до журнала
log_root_path_helper=Директоријум где ће бити снимане датотеке журнала. log_root_path_helper=Директоријум где ће бити снимане датотеке журнала.
enable_console_mode=Омогући конзол начин enable_console_mode=Омогући конзол начин
enable_console_mode_popup=Поред начин датотеке, пошаљи системске извештаје и конзолу. enable_console_mode_popup=Поред начин датотеке, пошаљи системске извештаје и конзолу.
default_branch=Default Branch
optional_title=Напредна подешавања optional_title=Напредна подешавања
email_title=Подешавања сервиса е-поште email_title=Подешавања сервиса е-поште
@@ -316,6 +317,7 @@ delete_email=Уклони
email_deletion=Брисање адресе е-поште email_deletion=Брисање адресе е-поште
email_deletion_desc=Брисање ове адресе ће довести до уклањања података. Да ли желите да наставите? email_deletion_desc=Брисање ове адресе ће довести до уклањања података. Да ли желите да наставите?
email_deletion_success=Адреса је успешно избрисана! email_deletion_success=Адреса је успешно избрисана!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Додај нови адресу е-поште add_new_email=Додај нови адресу е-поште
add_email=Додај адресу add_email=Додај адресу
add_email_confirmation_sent=Послан је нова потврда на '%s', молимо вас проверите ваше поруке унутар %d сата да бисте завршили поступак потврде. add_email_confirmation_sent=Послан је нова потврда на '%s', молимо вас проверите ваше поруке унутар %d сата да бисте завршили поступак потврде.
@@ -370,6 +372,7 @@ two_factor_disable_success=Двострука аутентификација ј
manage_access_token=Управљање токенима особном приступу manage_access_token=Управљање токенима особном приступу
generate_new_token=Генериши нови токен generate_new_token=Генериши нови токен
tokens_desc=Tокени се могу користити за приступ на API за Gogs. tokens_desc=Tокени се могу користити за приступ на API за Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Сваки API токен ће имати пун приступ вашем налогу. new_token_desc=Сваки API токен ће имати пун приступ вашем налогу.
token_name=Име токена token_name=Име токена
generate_token=Генериши токен generate_token=Генериши токен
@@ -491,6 +494,8 @@ branches.stale_branches=Застареле гране
branches.all=Све гране branches.all=Све гране
branches.updated_by=Ажуриран %[1]s од %[2]s branches.updated_by=Ажуриран %[1]s од %[2]s
branches.change_default_branch=Промените подразумевану грану branches.change_default_branch=Промените подразумевану грану
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Нова датотека editor.new_file=Нова датотека
editor.upload_file=Отпреми датотеку editor.upload_file=Отпреми датотеку
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Конфигурација спремишта config.repo_config=Конфигурација спремишта
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -44,8 +44,8 @@ issues=Problem
cancel=Avbryt cancel=Avbryt
[status] [status]
page_not_found=Page Not Found page_not_found=Sidan hittades inte
internal_server_error=Internal Server Error internal_server_error=Internt serverfel
[install] [install]
install=Installation install=Installation
@@ -79,7 +79,7 @@ domain_helper=Detta påverkar SSH klonings webbadresser.
ssh_port=SSH-port ssh_port=SSH-port
ssh_port_helper=Portnumret som din SSH-server brukar, lämna tomt för att inaktivera SSH-funktionaliteten. ssh_port_helper=Portnumret som din SSH-server brukar, lämna tomt för att inaktivera SSH-funktionaliteten.
use_builtin_ssh_server=Använd inbyggd SSH Server use_builtin_ssh_server=Använd inbyggd SSH Server
use_builtin_ssh_server_popup=Start builtin SSH server for Git operations to distinguish from system SSH daemon. use_builtin_ssh_server_popup=Starta inbyggd SSH-server för Git-operationer för att skilja från system-SSH-servern.
http_port=HTTP Port http_port=HTTP Port
http_port_helper=Portnumret vilket applikationen kommer lyssnar på. http_port_helper=Portnumret vilket applikationen kommer lyssnar på.
app_url=Applikationsadressen app_url=Applikationsadressen
@@ -88,6 +88,7 @@ log_root_path=Loggsökväg
log_root_path_helper=Katalog till vilken loggfiler skrivs. log_root_path_helper=Katalog till vilken loggfiler skrivs.
enable_console_mode=Aktivera Konsolläge enable_console_mode=Aktivera Konsolläge
enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol. enable_console_mode_popup=Utöver fil-läge, skriver även ut loggar till konsol.
default_branch=Default Branch
optional_title=Övriga inställningar optional_title=Övriga inställningar
email_title=E-post tjänstens inställningar email_title=E-post tjänstens inställningar
@@ -126,7 +127,7 @@ run_user_not_match=Köranvändaren är inte aktuell användare: %s -> %s
smtp_host_missing_port=SMTP-värden saknar port i adressen. smtp_host_missing_port=SMTP-värden saknar port i adressen.
invalid_smtp_from=SMTP från fält är inte giltigt: %v invalid_smtp_from=SMTP från fält är inte giltigt: %v
save_config_failed=Konfigurationssparningen misslyckades: %v save_config_failed=Konfigurationssparningen misslyckades: %v
init_failed=Failed to initialize application: %v init_failed=Det gick inte att initiera appen: %v
invalid_admin_setting=Inställningarna för administratörskontot är felaktiga: %v invalid_admin_setting=Inställningarna för administratörskontot är felaktiga: %v
install_success=Välkommen! Vi är glada att du väljer Gogs, ha kul och ta hand om dig. install_success=Välkommen! Vi är glada att du väljer Gogs, ha kul och ta hand om dig.
invalid_log_root_path=Ogiltig rotsökväg för loggfiler: %v invalid_log_root_path=Ogiltig rotsökväg för loggfiler: %v
@@ -156,7 +157,7 @@ register_hepler_msg=Har du redan ett konto? Logga in nu!
social_register_hepler_msg=Har du redan ett konto? Anslut det nu! social_register_hepler_msg=Har du redan ett konto? Anslut det nu!
disable_register_prompt=Tyvärr är användarregistreringen inaktiverad. Vänligen kontakta din administratör. disable_register_prompt=Tyvärr är användarregistreringen inaktiverad. Vänligen kontakta din administratör.
disable_register_mail=Tyvärr så är registreringsbekräftelemailutskick inaktiverat. disable_register_mail=Tyvärr så är registreringsbekräftelemailutskick inaktiverat.
auth_source=Authentication Source auth_source=Autentiseringskälla
local=Lokal local=Lokal
remember_me=Kom ihåg mig remember_me=Kom ihåg mig
forgot_password=Glömt lösenord forgot_password=Glömt lösenord
@@ -236,7 +237,7 @@ org_name_been_taken=Organisationsnamnet har redan används.
team_name_been_taken=Team namn är redan använt. team_name_been_taken=Team namn är redan använt.
email_been_used=E-postadressen har redan använts. email_been_used=E-postadressen har redan använts.
username_password_incorrect=Användarnamnet eller lösenordet är inte korrekt. username_password_incorrect=Användarnamnet eller lösenordet är inte korrekt.
auth_source_mismatch=The authentication source selected is not associated with the user. auth_source_mismatch=Den autentiseringskälla som valts är inte associerad med användaren.
enterred_invalid_repo_name=Se till att utvecklingskatalogen som du angav är rätt. enterred_invalid_repo_name=Se till att utvecklingskatalogen som du angav är rätt.
enterred_invalid_owner_name=Kontrollera att ägarnamnet som du angav är rätt. enterred_invalid_owner_name=Kontrollera att ägarnamnet som du angav är rätt.
enterred_invalid_password=Se till att den som lösenord du angett är rätt. enterred_invalid_password=Se till att den som lösenord du angett är rätt.
@@ -264,7 +265,7 @@ following=Följer
follow=Följ follow=Följ
unfollow=Sluta följa unfollow=Sluta följa
form.name_not_allowed=User name or pattern %q is not allowed. form.name_not_allowed=Användarnamn eller mönster %q är inte tillåtet.
[settings] [settings]
profile=Profil profile=Profil
@@ -316,6 +317,7 @@ delete_email=Radera
email_deletion=Borttagning Av Epostaddress email_deletion=Borttagning Av Epostaddress
email_deletion_desc=Borttagning av denna epostaddress kommer att ta bort relaterad information. Vill du fortsätta? email_deletion_desc=Borttagning av denna epostaddress kommer att ta bort relaterad information. Vill du fortsätta?
email_deletion_success=Epostaddressen har tagits bort! email_deletion_success=Epostaddressen har tagits bort!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Lägg till ny e-postadress add_new_email=Lägg till ny e-postadress
add_email=Lägga till e-post add_email=Lägga till e-post
add_email_confirmation_sent=Ett nytt bekräftelsemail har skickats till '%s', kontrollera vänligen din inbox inom dom närmsta %d timmarna för att slutföra bekräftelsen. add_email_confirmation_sent=Ett nytt bekräftelsemail har skickats till '%s', kontrollera vänligen din inbox inom dom närmsta %d timmarna för att slutföra bekräftelsen.
@@ -348,10 +350,10 @@ two_factor_off=Av
two_factor_enable=Aktivera two_factor_enable=Aktivera
two_factor_disable=Inaktivera two_factor_disable=Inaktivera
two_factor_view_recovery_codes=Visa och spara <a href="%s%s">dina återställningskoder</a> på ett säkert ställe. Du kan använda dem som kod om du förlorar åtkomsten till din autentisering applikation. two_factor_view_recovery_codes=Visa och spara <a href="%s%s">dina återställningskoder</a> på ett säkert ställe. Du kan använda dem som kod om du förlorar åtkomsten till din autentisering applikation.
two_factor_http=For HTTP/HTTPS operations, you are no longer able to use plain username and password. Please create and use <a href="%[1]s%[2]s">Personal Access Token</a> as your credential, e.g. <code>%[3]s</code>. two_factor_http=För HTTP/HTTPS-operationer kan du inte längre använda vanliga användarnamn och lösenord. Vänligen skapa och använda <a href="%[1]s%[2]s">Personlig åtkomsttoken</a> som ditt användarnamn, t.ex. <code>%[3]s</code>.
two_factor_enable_title=Avaktivera Tvåfaktorsautentisering two_factor_enable_title=Avaktivera Tvåfaktorsautentisering
two_factor_scan_qr=Please use your authentication application to scan the image: two_factor_scan_qr=Vänligen använd din autentiseringsapp för att skanna bilden:
two_factor_or_enter_secret=Or enter the secret: two_factor_or_enter_secret=Eller ange hemligheten:
two_factor_then_enter_passcode=Ange sedan lösenordet: two_factor_then_enter_passcode=Ange sedan lösenordet:
two_factor_verify=Verifiera two_factor_verify=Verifiera
two_factor_invalid_passcode=The passcode you entered is not valid, please try again! two_factor_invalid_passcode=The passcode you entered is not valid, please try again!
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=Hantera personliga åtkomst-tokens manage_access_token=Hantera personliga åtkomst-tokens
generate_new_token=Generera Nya Tokens generate_new_token=Generera Nya Tokens
tokens_desc=Tokens som du har genererat kan användas för åtkomst av Gogs APIer. tokens_desc=Tokens som du har genererat kan användas för åtkomst av Gogs APIer.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Varje token har full tillgång till ditt konto. new_token_desc=Varje token har full tillgång till ditt konto.
token_name=Tokennamn token_name=Tokennamn
generate_token=Generera Token generate_token=Generera Token
@@ -476,21 +479,23 @@ pulls=Pull-förfrågningar
labels=Etiketter labels=Etiketter
milestones=Milstenar milestones=Milstenar
commits=Incheckningar commits=Incheckningar
git_branches=Branches git_branches=Brancher
releases=Släpp releases=Släpp
file_raw= file_raw=
file_history=Historik file_history=Historik
file_view_raw=Visa i råformat file_view_raw=Visa i råformat
file_permalink=Permalänk file_permalink=Permalänk
file_too_large=Denna fil är för stor för att visas file_too_large=Denna fil är för stor för att visas
video_not_supported_in_browser=Your browser doesn't support HTML5 video tag. video_not_supported_in_browser=Din webbläsare stöder inte HTML5 video-tagg.
branches.overview=Overview branches.overview=Översikt
branches.active_branches=Active Branches branches.active_branches=Aktiva brancher
branches.stale_branches=Stale Branches branches.stale_branches=Djärva brancher
branches.all=All Branches branches.all=Alla brancher
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Uppdaterade %[1]s med %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Ändra standard branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Ny fil editor.new_file=Ny fil
editor.upload_file=Ladda upp fil editor.upload_file=Ladda upp fil
@@ -520,19 +525,19 @@ editor.cancel=Avbryt
editor.filename_cannot_be_empty=Filnamnet får inte vara tomt. editor.filename_cannot_be_empty=Filnamnet får inte vara tomt.
editor.branch_already_exists=Grenen '%s' finns redan i förrådet. editor.branch_already_exists=Grenen '%s' finns redan i förrådet.
editor.directory_is_a_file=Komponenten '%s' i föräldrasökvägen är en fil, inte en katalog i detta förråd. editor.directory_is_a_file=Komponenten '%s' i föräldrasökvägen är en fil, inte en katalog i detta förråd.
editor.file_is_a_symlink=The file '%s' is a symlink that cannot be modified from the web editor. editor.file_is_a_symlink=Filen '%s' är en symbolisk länk som inte kan editeras i webbläsaren.
editor.filename_is_a_directory=Filnmanet '%s' är en existerande katalog i detta förråd. editor.filename_is_a_directory=Filnmanet '%s' är en existerande katalog i detta förråd.
editor.file_editing_no_longer_exists=Filen '%s' som du redigerar finns inte lägre i förrådet. editor.file_editing_no_longer_exists=Filen '%s' som du redigerar finns inte lägre i förrådet.
editor.file_changed_while_editing=Filinnhållet har ändrats sedan du började redigera. <a target="_blank" href="%s">Klicka här</a> för att se vad som ändrats eller <strong>tryck checka in igen</strong> för att skriva över dessa ändringar. editor.file_changed_while_editing=Filinnhållet har ändrats sedan du började redigera. <a target="_blank" href="%s">Klicka här</a> för att se vad som ändrats eller <strong>tryck checka in igen</strong> för att skriva över dessa ändringar.
editor.file_already_exists=En fil med namnet '%s' finns redan i förrådet. editor.file_already_exists=En fil med namnet '%s' finns redan i förrådet.
editor.no_changes_to_show=Det finns inga ändringar att visa. editor.no_changes_to_show=Det finns inga ändringar att visa.
editor.fail_to_update_file=Uppdateringen/skapandet av filen '%s' misslyckades med felet: %v editor.fail_to_update_file=Uppdateringen/skapandet av filen '%s' misslyckades med felet: %v
editor.fail_to_delete_file=Failed to delete file '%s' with error: %v editor.fail_to_delete_file=Det gick inte att ta bort filen '%s' med fel: %v.
editor.add_subdir=Lägg till underkatalog... editor.add_subdir=Lägg till underkatalog...
editor.unable_to_upload_files=Uppladdning av filen '%s' misslyckades med felet: %v editor.unable_to_upload_files=Uppladdning av filen '%s' misslyckades med felet: %v
editor.upload_files_to_dir=Ladda upp filer till '%s' editor.upload_files_to_dir=Ladda upp filer till '%s'
commits.commit_history=Commit History commits.commit_history=Commit historia
commits.commits=Incheckningar commits.commits=Incheckningar
commits.search=Sök bland incheckningar commits.search=Sök bland incheckningar
commits.find=Sök commits.find=Sök
@@ -630,7 +635,7 @@ pulls.compare_compare=jämför
pulls.filter_branch=Filtrera gren pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades. pulls.no_results=Inga resultat hittades.
pulls.nothing_to_compare=Det finns inget att jämföra eftersom bas och huvudgrenar är lika. pulls.nothing_to_compare=Det finns inget att jämföra eftersom bas och huvudgrenar är lika.
pulls.nothing_merge_base=There is nothing to compare because two branches have completely different history. pulls.nothing_merge_base=Det finns inget att jämföra eftersom två branch har helt olika historia.
pulls.has_pull_request=`Det finns redan en pullförfrågan mellan detta två mål: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]s</a>^ pulls.has_pull_request=`Det finns redan en pullförfrågan mellan detta två mål: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]s</a>^
pulls.create=Skapa Pullförfrågan pulls.create=Skapa Pullförfrågan
pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code> pulls.title_desc=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code>%[3]s</code>
@@ -646,13 +651,13 @@ pulls.is_checking=Konfliktkontroll är fortfarande pågågående, vänligen uppd
pulls.can_auto_merge_desc=Denna pull-förfrågan kan sammanfogas automatiskt. pulls.can_auto_merge_desc=Denna pull-förfrågan kan sammanfogas automatiskt.
pulls.cannot_auto_merge_desc=Denna pull-förfrågan kan inte sammanfogas automatiskt eftersom det finns konflikter. pulls.cannot_auto_merge_desc=Denna pull-förfrågan kan inte sammanfogas automatiskt eftersom det finns konflikter.
pulls.cannot_auto_merge_helper=Vänligen sammanfoga manuellt för att lösa konflikter. pulls.cannot_auto_merge_helper=Vänligen sammanfoga manuellt för att lösa konflikter.
pulls.create_merge_commit=Create a merge commit pulls.create_merge_commit=Skapa en merge commit
pulls.rebase_before_merging=Rebase before merging pulls.rebase_before_merging=Rebase innan merge
pulls.commit_description=Commit Description pulls.commit_description=Commit beskrivning
pulls.merge_pull_request=Sammanfoga Pull-förfrågan pulls.merge_pull_request=Sammanfoga Pull-förfrågan
pulls.open_unmerged_pull_exists=`Du kan inte utföra återöppningsoperationen eftersom det finns redan en öppen pull-förfrågan (#%d) från samma repo med samma sammanfogningsinformation som väntar på sammanfogning.` pulls.open_unmerged_pull_exists=`Du kan inte utföra återöppningsoperationen eftersom det finns redan en öppen pull-förfrågan (#%d) från samma repo med samma sammanfogningsinformation som väntar på sammanfogning.`
pulls.delete_branch=Ta bort gren pulls.delete_branch=Ta bort gren
pulls.delete_branch_has_new_commits=Branch cannot be deleted because it has new commits after mergence. pulls.delete_branch_has_new_commits=Branch kan inte tas bort eftersom den har nya commits efter merge.
milestones.new=Ny milstolpe milestones.new=Ny milstolpe
milestones.open_tab=%d Öppna milestones.open_tab=%d Öppna
@@ -703,8 +708,8 @@ settings.collaboration.admin=Adminstrera
settings.collaboration.write=Skriva settings.collaboration.write=Skriva
settings.collaboration.read=Läsa settings.collaboration.read=Läsa
settings.collaboration.undefined=Odefinierad settings.collaboration.undefined=Odefinierad
settings.branches=Branches settings.branches=Brancher
settings.branches_bare=You cannot manage branches for bare repository. Please push some content first. settings.branches_bare=Du kan inte hantera brancher för kala repository. Vänligen push innehåll först.
settings.default_branch=Default Branch settings.default_branch=Default Branch
settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing. settings.default_branch_desc=The default branch is considered the "base" branch for code commits, pull requests and online editing.
settings.update=Update settings.update=Update
@@ -724,7 +729,7 @@ settings.protect_whitelist_committers_desc=Add people or teams to whitelist of d
settings.protect_whitelist_users=Users who can push to this branch settings.protect_whitelist_users=Users who can push to this branch
settings.protect_whitelist_search_users=Sök användare settings.protect_whitelist_search_users=Sök användare
settings.protect_whitelist_teams=Teams for which members of them can push to this branch settings.protect_whitelist_teams=Teams for which members of them can push to this branch
settings.protect_whitelist_search_teams=Search teams settings.protect_whitelist_search_teams=Sök team
settings.update_protect_branch_success=Protect options for this branch has been updated successfully! settings.update_protect_branch_success=Protect options for this branch has been updated successfully!
settings.hooks=Webbhookar settings.hooks=Webbhookar
settings.githooks=Githookar settings.githooks=Githookar
@@ -793,8 +798,8 @@ settings.remove_collaborator_success=Deltagare har tagits bort.
settings.search_user_placeholder=Sök användare... settings.search_user_placeholder=Sök användare...
settings.org_not_allowed_to_be_collaborator=Organisationen kan inte läggas till som en deltagare. settings.org_not_allowed_to_be_collaborator=Organisationen kan inte läggas till som en deltagare.
settings.hooks_desc=Webbhookar påminner mycket om vanliga HTTP POST-händelseutlösare. När något inträffar i Gogs, kommer vi att meddela måldatorn som du anger. Läs mera i <a target="_blank" href="%s">Webbhook Guide</a>. settings.hooks_desc=Webbhookar påminner mycket om vanliga HTTP POST-händelseutlösare. När något inträffar i Gogs, kommer vi att meddela måldatorn som du anger. Läs mera i <a target="_blank" href="%s">Webbhook Guide</a>.
settings.webhooks.add_new=Add a new webhook: settings.webhooks.add_new=Lägg till en ny webhook:
settings.webhooks.choose_a_type=Choose a type... settings.webhooks.choose_a_type=Välj en typ...
settings.add_webhook=Lägg Till Webbhook settings.add_webhook=Lägg Till Webbhook
settings.webhook_deletion=Ta Bort Webbhook settings.webhook_deletion=Ta Bort Webbhook
settings.webhook_deletion_desc=Borttagning av denna webbhook kommer att ta bort all dess information och all leveranshistorik. Är du säker på att du vill fortsätta? settings.webhook_deletion_desc=Borttagning av denna webbhook kommer att ta bort all dess information och all leveranshistorik. Är du säker på att du vill fortsätta?
@@ -802,7 +807,7 @@ settings.webhook_deletion_success=Webbhook har tagits bort!
settings.webhook.test_delivery=Testa Leverans settings.webhook.test_delivery=Testa Leverans
settings.webhook.test_delivery_desc=Skicka en falsk pushhändelse för att testa dina webbhook-inställningar settings.webhook.test_delivery_desc=Skicka en falsk pushhändelse för att testa dina webbhook-inställningar
settings.webhook.test_delivery_success=Testwebbhook har lagts till leveranskön. Det kan ta några sekunder innan den visas i leveranshistoriken. settings.webhook.test_delivery_success=Testwebbhook har lagts till leveranskön. Det kan ta några sekunder innan den visas i leveranshistoriken.
settings.webhook.redelivery=Redelivery settings.webhook.redelivery=Återleverans
settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history. settings.webhook.redelivery_success=Hook task '%s' has been readded to delivery queue. It may take few seconds to update delivery status in history.
settings.webhook.request=Begäran settings.webhook.request=Begäran
settings.webhook.response=Svar settings.webhook.response=Svar
@@ -830,10 +835,10 @@ settings.event_send_everything=Jag behöver <strong>allt</strong>.
settings.event_choose=Låt mig välja. settings.event_choose=Låt mig välja.
settings.event_create=Skapa settings.event_create=Skapa
settings.event_create_desc=Branch eller tagg skapad settings.event_create_desc=Branch eller tagg skapad
settings.event_delete=Delete settings.event_delete=Ta bort
settings.event_delete_desc=Branch or tag deleted settings.event_delete_desc=Branch eller tagg borttagen
settings.event_fork=Fork settings.event_fork=Fork
settings.event_fork_desc=Repository forked settings.event_fork_desc=Repository forkad
settings.event_push=Pusha settings.event_push=Pusha
settings.event_push_desc=Uppladdning till ett förråd settings.event_push_desc=Uppladdning till ett förråd
settings.event_issues=Issues settings.event_issues=Issues
@@ -843,7 +848,7 @@ settings.event_pull_request_desc=Pull request opened, closed, reopened, edited,
settings.event_issue_comment=Issue Comment settings.event_issue_comment=Issue Comment
settings.event_issue_comment_desc=Issue comment created, edited, or deleted. settings.event_issue_comment_desc=Issue comment created, edited, or deleted.
settings.event_release=Release settings.event_release=Release
settings.event_release_desc=Release published in a repository. settings.event_release_desc=Release publicerat i ett repository.
settings.active=Aktiv settings.active=Aktiv
settings.active_helper=Detaljer kring händelsen som triggade kroken kommer också levereras. settings.active_helper=Detaljer kring händelsen som triggade kroken kommer också levereras.
settings.add_hook_success=Ny webbkrok har lagts till. settings.add_hook_success=Ny webbkrok har lagts till.
@@ -853,7 +858,7 @@ settings.delete_webhook=Tag bort webbkrok
settings.recent_deliveries=Färska leveranser settings.recent_deliveries=Färska leveranser
settings.hook_type=Kroktyp settings.hook_type=Kroktyp
settings.add_slack_hook_desc=Lägg till <a href="%s">Slack</a>-integration till ditt förråd. settings.add_slack_hook_desc=Lägg till <a href="%s">Slack</a>-integration till ditt förråd.
settings.add_discord_hook_desc=Add <a href="%s">Discord</a> integration to your repository. settings.add_discord_hook_desc=
settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository. settings.add_dingtalk_hook_desc=Add <a href="%s">Dingtalk</a> integration to your repository.
settings.slack_token=Pollett settings.slack_token=Pollett
settings.slack_domain=Domän settings.slack_domain=Domän
@@ -872,7 +877,7 @@ settings.deploy_key_deletion=Ta bort distribueringsnyckel
settings.deploy_key_deletion_desc=Borttagning av detta distributionsnyckel kommer att ta bort all relaterad åtkomst till det här repot. Vill du fortsätta? settings.deploy_key_deletion_desc=Borttagning av detta distributionsnyckel kommer att ta bort all relaterad åtkomst till det här repot. Vill du fortsätta?
settings.deploy_key_deletion_success=Distributionsnyckeln har tagits bort! settings.deploy_key_deletion_success=Distributionsnyckeln har tagits bort!
settings.description_desc=Description of repository. Maximum 512 characters length. settings.description_desc=Description of repository. Maximum 512 characters length.
settings.description_length=Available characters settings.description_length=Tillgängliga tecken
diff.browse_source=Bläddra i källkod diff.browse_source=Bläddra i källkod
diff.parent=förälder diff.parent=förälder
@@ -1012,9 +1017,9 @@ total=Totalt: %d
dashboard.build_info=Build Information dashboard.build_info=Build Information
dashboard.app_ver=Application version dashboard.app_ver=Application version
dashboard.git_version=Git version dashboard.git_version=Git Version
dashboard.go_version=Go version dashboard.go_version=Go version
dashboard.build_time=Build time dashboard.build_time=Build tid
dashboard.build_commit=Build commit dashboard.build_commit=Build commit
dashboard.statistic=Statistik dashboard.statistic=Statistik
dashboard.operations=Operationer dashboard.operations=Operationer
@@ -1022,13 +1027,13 @@ dashboard.system_status=Systemstatus
dashboard.statistic_info=Gogs-databasen innehåller <b>%d</b> användare, <b>%d</b> organisationer, <b>%d</b> publika nyckar, <b>%d</b> förråd, <b>%d</b> vakter, <b>%d</b> stjärnor, <b>%d</b> handlingar, <b>%d</b> åtkomster, <b>%d</b> ärenden, <b>%d</b> kommentarer, <b>%d</b> sociala konton, <b>%d</b> följbegäran, <b>%d</b> speglingar, <b>%d</b> släpp, <b>%d</b> inloggningskällor, <b>%d</b> webbkrokar, <b>%d</b> milstolpar, <b>%d</b> etiketter, <b>%d</b> krokuppgifter, <b>%d</b> team, <b>%d</b> uppdateringsuppgifter, <b>%d</b> bilagor. dashboard.statistic_info=Gogs-databasen innehåller <b>%d</b> användare, <b>%d</b> organisationer, <b>%d</b> publika nyckar, <b>%d</b> förråd, <b>%d</b> vakter, <b>%d</b> stjärnor, <b>%d</b> handlingar, <b>%d</b> åtkomster, <b>%d</b> ärenden, <b>%d</b> kommentarer, <b>%d</b> sociala konton, <b>%d</b> följbegäran, <b>%d</b> speglingar, <b>%d</b> släpp, <b>%d</b> inloggningskällor, <b>%d</b> webbkrokar, <b>%d</b> milstolpar, <b>%d</b> etiketter, <b>%d</b> krokuppgifter, <b>%d</b> team, <b>%d</b> uppdateringsuppgifter, <b>%d</b> bilagor.
dashboard.operation_name=Operationsnamn dashboard.operation_name=Operationsnamn
dashboard.operation_switch=Byt till dashboard.operation_switch=Byt till
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Välj åtgärd att köra
dashboard.operation_run=Kör dashboard.operation_run=Kör
dashboard.clean_unbind_oauth=Rensa obundna OAuth-begäran dashboard.clean_unbind_oauth=Rensa obundna OAuth-begäran
dashboard.clean_unbind_oauth_success=Alla obundna OAuth-begäran har tagit dashboard.clean_unbind_oauth_success=Alla obundna OAuth-begäran har tagit
dashboard.delete_inactivate_accounts=Ta bort alla inaktiva konton dashboard.delete_inactivate_accounts=Ta bort alla inaktiva konton
dashboard.delete_inactivate_accounts_success=All inactivate accounts have been deleted successfully. dashboard.delete_inactivate_accounts_success=
dashboard.delete_repo_archives=Delete all repositories archives dashboard.delete_repo_archives=
dashboard.delete_repo_archives_success=All repositories archives have been deleted successfully. dashboard.delete_repo_archives_success=All repositories archives have been deleted successfully.
dashboard.delete_missing_repos=Delete all repository records that lost Git files dashboard.delete_missing_repos=Delete all repository records that lost Git files
dashboard.delete_missing_repos_success=All repository records that lost Git files have been deleted successfully. dashboard.delete_missing_repos_success=All repository records that lost Git files have been deleted successfully.
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=Günlük Dosyaları Yolu
log_root_path_helper=Günlük dosyalarının yazılacağı dizin. log_root_path_helper=Günlük dosyalarının yazılacağı dizin.
enable_console_mode=Konsol Modunu Etkinleştir enable_console_mode=Konsol Modunu Etkinleştir
enable_console_mode_popup=Dosya moduna ek olarak , ayrıca konsolun günlüklerini yazdır. enable_console_mode_popup=Dosya moduna ek olarak , ayrıca konsolun günlüklerini yazdır.
default_branch=Default Branch
optional_title=İsteğe Bağlı Ayarlar optional_title=İsteğe Bağlı Ayarlar
email_title=E-Posta Servisi Ayarları email_title=E-Posta Servisi Ayarları
@@ -316,6 +317,7 @@ delete_email=Sil
email_deletion=E-Posta Silme email_deletion=E-Posta Silme
email_deletion_desc=Bu e-posta adresini silerseniz hesabınıza ilişkin tüm bilgileriniz de silinecektir. Devam etmek istiyor musunuz? email_deletion_desc=Bu e-posta adresini silerseniz hesabınıza ilişkin tüm bilgileriniz de silinecektir. Devam etmek istiyor musunuz?
email_deletion_success=E-posta adresi başarıyla silindi! email_deletion_success=E-posta adresi başarıyla silindi!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Yeni e-posta adresi ekle add_new_email=Yeni e-posta adresi ekle
add_email=E-posta ekle add_email=E-posta ekle
add_email_confirmation_sent='%s' adresine yeni bir doğrulama e-postası gönderildi. Doğrulama aşamalarını tamamlamak için lütfen %d saat içinde gelen kutunuzu kontrol edin. add_email_confirmation_sent='%s' adresine yeni bir doğrulama e-postası gönderildi. Doğrulama aşamalarını tamamlamak için lütfen %d saat içinde gelen kutunuzu kontrol edin.
@@ -370,6 +372,7 @@ two_factor_disable_success=İki faktörlü kimli doğrulama başarıyla devre d
manage_access_token=Kişisel Erişim Anahtarlarını Yönet manage_access_token=Kişisel Erişim Anahtarlarını Yönet
generate_new_token=Yeni Erişim Anahtarı Üret generate_new_token=Yeni Erişim Anahtarı Üret
tokens_desc=Ürettiğiniz erişim anahtarları, Gogs API'lerine erişimde kullanılabilir. tokens_desc=Ürettiğiniz erişim anahtarları, Gogs API'lerine erişimde kullanılabilir.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Her bir erişim anahtarının hesabınıza tam erişim yetkisi olacaktır. new_token_desc=Her bir erişim anahtarının hesabınıza tam erişim yetkisi olacaktır.
token_name=Erişim Anahtarı İsmi token_name=Erişim Anahtarı İsmi
generate_token=Erişim Anahtarı Üret generate_token=Erişim Anahtarı Üret
@@ -491,6 +494,8 @@ branches.stale_branches=Eskimiş Bölümler
branches.all=Bütün Bölümler branches.all=Bütün Bölümler
branches.updated_by=%[2]s tarafından %[1]s güncellendi branches.updated_by=%[2]s tarafından %[1]s güncellendi
branches.change_default_branch=Varsayılan Bölümü Değiştir branches.change_default_branch=Varsayılan Bölümü Değiştir
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Yeni dosya editor.new_file=Yeni dosya
editor.upload_file=Dosyayı yükle editor.upload_file=Dosyayı yükle
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Ana makineyi dinle
config.ssh.listen_port=Port'u dinle config.ssh.listen_port=Port'u dinle
config.ssh.server_ciphers=Sunucu şifreleri config.ssh.server_ciphers=Sunucu şifreleri
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Depo Yapılandırması config.repo_config=Depo Yapılandırması
config.repo.root_path=Kök yolu config.repo.root_path=Kök yolu
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -1,14 +1,14 @@
app_desc=Зручний сервіс власного Git хостінгу app_desc=Зручний сервіс власного Git хостингу
home=Головна сторінка home=Головна сторінка
dashboard=Щиток dashboard=Панель керування
explore=Огляд explore=Огляд
help=Довідка help=Довідка
sign_in=Увійти sign_in=Увійти
sign_out=Вийти sign_out=Вийти
sign_up=Реєстрація sign_up=Реєстрація
register=Реєстрація register=Реєстрація
website=Веб-сторінка website=Вебсторінка
page=Сторінка page=Сторінка
template=Шаблон template=Шаблон
language=Мова language=Мова
@@ -32,7 +32,7 @@ new_fork=Нове відгалудження
new_org=Нова організація new_org=Нова організація
manage_org=Керування організаціями manage_org=Керування організаціями
admin_panel=Панель адміністратора admin_panel=Панель адміністратора
account_settings=Нашалштування облікового запису account_settings=Налаштування облікового запису
settings=Налаштування settings=Налаштування
your_profile=Ваш профіль your_profile=Ваш профіль
your_settings=Ваші налаштування your_settings=Ваші налаштування
@@ -51,14 +51,14 @@ internal_server_error=Внутрішня помилка серверу
install=Установка install=Установка
title=Кроки установки перед першим запуском title=Кроки установки перед першим запуском
docker_helper=Якщо ви запускаєте Gogs всередені Docker, уважно прочитайте <a target="_blank" href="%s">гайдлайни</a> перш ніж змінювати щось! docker_helper=Якщо ви запускаєте Gogs всередені Docker, уважно прочитайте <a target="_blank" href="%s">гайдлайни</a> перш ніж змінювати щось!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs потребує MySQL, PostgreSQL, SQLite3 або TiDB (за допомогою MySQL протоколу).
db_title=Налаштування бази даних db_title=Налаштування бази даних
db_type=Тип бази данних db_type=Тип бази данних
host=Хост host=Хост
user=Користувач user=Користувач
password=Пароль password=Пароль
db_name=Ім'я бази даних db_name=Ім'я бази даних
db_schema=Schema db_schema=Схема
db_helper=Будь ласка, використовуйте MySQL як INNODB з таблицею символів utf8_general_ci. db_helper=Будь ласка, використовуйте MySQL як INNODB з таблицею символів utf8_general_ci.
ssl_mode=Режим SSL ssl_mode=Режим SSL
path=Шлях path=Шлях
@@ -83,17 +83,18 @@ use_builtin_ssh_server_popup=Запустити вбудований SSH сер
http_port=Порт HTTP http_port=Порт HTTP
http_port_helper=Номер порту який программа буде слухати. http_port_helper=Номер порту який программа буде слухати.
app_url=Адреса програми app_url=Адреса програми
app_url_helper=Це впливає на клонування через HTTP/HTTPS та десь у електроній пошті. app_url_helper=Це впливає на клонування URL через HTTP/HTTPS та десь в електронній пошті.
log_root_path=Шлях до лог файлу log_root_path=Шлях до лог файлу
log_root_path_helper=Каталог для файлів журналу. log_root_path_helper=Каталог для файлів журналу.
enable_console_mode=Увімкнути консольний режим enable_console_mode=Увімкнути консольний режим
enable_console_mode_popup=На додаток до файлового режиму писати логи також і до консолі. enable_console_mode_popup=На додаток до файлового режиму писати логи також і до консолі.
default_branch=Гілка за замовчуванням
optional_title=Додаткові налаштування optional_title=Додаткові налаштування
email_title=Параметри електронної пошти email_title=Налаштування електронної пошти
smtp_host=SMTP хост smtp_host=SMTP хост
smtp_from=Від smtp_from=Від
smtp_from_helper=Поле "Від" адреси, RFC 5322. Це може бути просто адреса електронної пошти або адреса у форматі «Ім'я» <email@example.com>. smtp_from_helper=Поле "Від" адреси, згідно RFC 5322. Це може бути просто адреса електронної пошти або адреса у форматі "Ім'я" <email@example.com>.
mailer_user=Відправник електронної пошти mailer_user=Відправник електронної пошти
mailer_password=Відправник паролю mailer_password=Відправник паролю
register_confirm=Увімкнути підтвердження реєстрації register_confirm=Увімкнути підтвердження реєстрації
@@ -155,7 +156,7 @@ create_new_account=Створити новий обліковий запис
register_hepler_msg=Вже зареєстровані? Увійдіть зараз! register_hepler_msg=Вже зареєстровані? Увійдіть зараз!
social_register_hepler_msg=Вже зареєстровані? Прив'яжіть зараз! social_register_hepler_msg=Вже зареєстровані? Прив'яжіть зараз!
disable_register_prompt=Вибачте, реєстрація відключена. Будь ласка, зв'яжіться з адміністратором сайту. disable_register_prompt=Вибачте, реєстрація відключена. Будь ласка, зв'яжіться з адміністратором сайту.
disable_register_mail=На жаль, підтвердження реєстрації на електрону пошту було відключено. disable_register_mail=На жаль, підтвердження реєстрації на електрону пошту вимкнено адміністратором.
auth_source=Джерело автентифікації auth_source=Джерело автентифікації
local=Локальний local=Локальний
remember_me=Запам'ятати мене remember_me=Запам'ятати мене
@@ -177,7 +178,7 @@ password_too_short=Довжина пароля не може бути меншо
non_local_account=Нелокальні облікові записи не можуть змінити пароль через Gogs. non_local_account=Нелокальні облікові записи не можуть змінити пароль через Gogs.
login_two_factor=Двофакторна автентифікація login_two_factor=Двофакторна автентифікація
login_two_factor_passcode=Код автентифікації login_two_factor_passcode=Код аутентифікації
login_two_factor_enter_recovery_code=Введіть двофакторний код відновлення login_two_factor_enter_recovery_code=Введіть двофакторний код відновлення
login_two_factor_recovery=Двофакторне відновлення login_two_factor_recovery=Двофакторне відновлення
login_two_factor_recovery_code=Код відновлення login_two_factor_recovery_code=Код відновлення
@@ -223,7 +224,7 @@ alpha_dash_dot_slash_error=` мусить бути валідною буквою
size_error=` має мати розмір %s.` size_error=` має мати розмір %s.`
min_size_error=' має містити принаймні %s символів.' min_size_error=' має містити принаймні %s символів.'
max_size_error=' має містити принаймні %s символів.' max_size_error=' має містити принаймні %s символів.'
email_error=це не дійсна електронна поштова адреса. email_error=`це не дійсна електронна поштова адреса.`
url_error='не є припустимою URL-Адресою.' url_error='не є припустимою URL-Адресою.'
include_error=`повинен містити текст '%s'` include_error=`повинен містити текст '%s'`
unknown_error=Невідома помилка: unknown_error=Невідома помилка:
@@ -234,7 +235,7 @@ username_been_taken=Ім'я користувача вже зайнято.
repo_name_been_taken=Назва сховища вже використовується. repo_name_been_taken=Назва сховища вже використовується.
org_name_been_taken=Назва організаціі вже використовується. org_name_been_taken=Назва організаціі вже використовується.
team_name_been_taken=Назва команди вже використовується. team_name_been_taken=Назва команди вже використовується.
email_been_used=Адреса електронної пошти вже використовується. email_been_used=Ця адреса електронної пошти вже використовується.
username_password_incorrect=Ім'я користувача або пароль помилкові. username_password_incorrect=Ім'я користувача або пароль помилкові.
auth_source_mismatch=Обране джерело автентифікації не асоційовано з користувачем. auth_source_mismatch=Обране джерело автентифікації не асоційовано з користувачем.
enterred_invalid_repo_name=Переконайтеся, що ви ввели назву сховища правильно. enterred_invalid_repo_name=Переконайтеся, що ви ввели назву сховища правильно.
@@ -316,8 +317,9 @@ delete_email=Видалити
email_deletion=Видалення електронної пошти email_deletion=Видалення електронної пошти
email_deletion_desc=Видалення цієї електронної адреси призведе до вилучення інформації, пов'язаної з вашим обліковим записом. Ви бажаєте продовжити? email_deletion_desc=Видалення цієї електронної адреси призведе до вилучення інформації, пов'язаної з вашим обліковим записом. Ви бажаєте продовжити?
email_deletion_success=Електронну адресу успішно видалено! email_deletion_success=Електронну адресу успішно видалено!
email_deletion_primary=Не вдається видалити основну адресу електронної пошти.
add_new_email=Додати нову адресу електронної пошти add_new_email=Додати нову адресу електронної пошти
add_email=Додати адресу електроної пошти add_email=Додати адресу електронної пошти
add_email_confirmation_sent=Новий електронний лист із підтвердженням було направлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %d годин, щоб завершити процес підтвердження. add_email_confirmation_sent=Новий електронний лист із підтвердженням було направлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %d годин, щоб завершити процес підтвердження.
add_email_success=Вашу нову адресу електронної пошти було успішно додано. add_email_success=Вашу нову адресу електронної пошти було успішно додано.
@@ -339,7 +341,7 @@ add_on=Додано
last_used=Останнє використання last_used=Останнє використання
no_activity=Жодної діяльності no_activity=Жодної діяльності
key_state_desc=Цей ключ використовувався в останні 7 днів key_state_desc=Цей ключ використовувався в останні 7 днів
token_state_desc=Цей токен використовувався в останні 7 днів token_state_desc=Цей жетон використовувався в останні 7 днів
two_factor=Двофакторна автентифікація two_factor=Двофакторна автентифікація
two_factor_status=Статус: two_factor_status=Статус:
@@ -348,7 +350,7 @@ two_factor_off=Викл.
two_factor_enable=Увімкнути two_factor_enable=Увімкнути
two_factor_disable=Вимкнути two_factor_disable=Вимкнути
two_factor_view_recovery_codes=Перегляньте й збережіть <a href="%s%s">ваші ключі відновлення</a> у безпечному місці. Ви можете використовувати іх як паролі якщо втратите доступ до вашої програми автентифікації. two_factor_view_recovery_codes=Перегляньте й збережіть <a href="%s%s">ваші ключі відновлення</a> у безпечному місці. Ви можете використовувати іх як паролі якщо втратите доступ до вашої програми автентифікації.
two_factor_http=Для HTTP/HTTPS операцій, ви більше не можете використовувати звичайні ім'я та пароль. Будь ласка створіть та використовуйте <a href="%[1]s%[2]s">персональний токен доступу</a> як ваші облікові дані, наприклад <code>%[3]s</code>. two_factor_http=Для HTTP/HTTPS операцій, ви більше не можете використовувати звичайні ім'я та пароль. Будь ласка створіть та використовуйте <a href="%[1]s%[2]s">персональний жетон доступу</a> як ваші облікові дані, наприклад <code>%[3]s</code>.
two_factor_enable_title=Увімкнути двофакторну автентифікацію two_factor_enable_title=Увімкнути двофакторну автентифікацію
two_factor_scan_qr=Будь ласка, використовуйте ваш додаток автентифікації для сканування зображення: two_factor_scan_qr=Будь ласка, використовуйте ваш додаток автентифікації для сканування зображення:
two_factor_or_enter_secret=Або введіть секрет: two_factor_or_enter_secret=Або введіть секрет:
@@ -367,18 +369,19 @@ two_factor_disable_title=Вимкнути двофакторну автенти
two_factor_disable_desc=Рівень безпеки вашого акаунту знизиться після вимикання двофакторної автентифікаціЇ. Бажаєте продовжити? two_factor_disable_desc=Рівень безпеки вашого акаунту знизиться після вимикання двофакторної автентифікаціЇ. Бажаєте продовжити?
two_factor_disable_success=Двофакторну автентифікацію було успішно вимкнено! two_factor_disable_success=Двофакторну автентифікацію було успішно вимкнено!
manage_access_token=Керувати токенами особистого доступу manage_access_token=Керувати жетонами особистого доступу
generate_new_token=Генерувати новий жетон generate_new_token=Генерувати новий жетон
tokens_desc=Створені вами токени для доступу до Gogs API. tokens_desc=Створені вами жетони для доступу до Gogs API.
new_token_desc=На даний момент будь-який жетон має повний доступ до вашого облікового запису. access_token_tips=Персональний жетон доступу може бути використаний як ім'я користувача або пароль. Рекомендується використовувати "x-access-token" як ім'я користувача та персональний жетон доступу, що є паролем для додатків gt.
new_token_desc=На цей час будь-який жетон має повний доступ до вашого облікового запису.
token_name=Назва жетону token_name=Назва жетону
generate_token=Створити жетон generate_token=Створити жетон
generate_token_succees=Новий жетон було створено успішно! Переконайтеся, що Ви скопіювали Ваш новий жетон доступу. Ви не зможете побачити його знову! generate_token_succees=Новий жетон було створено успішно! Переконайтеся, що Ви скопіювали Ваш новий жетон доступу, бо Ви не зможете побачити його знову!
delete_token=Видалити delete_token=Видалити
access_token_deletion=Видалення токену персонального доступу access_token_deletion=Видалення жетону персонального доступу
access_token_deletion_desc=Видалення цього токену призведе до неможливості доступу усіх пов’язаних додатків. Продовжити? access_token_deletion_desc=Видалення цього жетону призведе до неможливості доступу усіх пов’язаних додатків. Продовжити?
delete_token_success=Персональний токен було видалено. Не забудьте перевірити ваш додаток. delete_token_success=Персональний жетон було видалено. Не забудьте перевірити ваш додаток.
token_name_exists=Токен з таким ім'ям вже існує. token_name_exists=Жетон з таким ім'ям вже існує.
orgs.none=Ви не є членом будь-якої організації. orgs.none=Ви не є членом будь-якої організації.
orgs.leave_title=Залишити організацію orgs.leave_title=Залишити організацію
@@ -400,9 +403,9 @@ owner=Власник
repo_name=Назва репозиторію repo_name=Назва репозиторію
repo_name_helper=Гарна назва репозиторія зазвичай складається з коротких та унікальних ключових слів, які легко запам'ятати. repo_name_helper=Гарна назва репозиторія зазвичай складається з коротких та унікальних ключових слів, які легко запам'ятати.
visibility=Видимість visibility=Видимість
unlisted=Unlisted unlisted=Поза списком
visiblity_helper=Цей репозиторій є <span class="ui red text">Приватним</span> visiblity_helper=Цей репозиторій є <span class="ui red text">Приватним</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Цей репозиторій є <span class="ui red text">поза списком</span>
visiblity_helper_forced=Усі нові репозиторії є <span class="ui red text">Приватними</span> згідно налаштувань адміністратора сайту visiblity_helper_forced=Усі нові репозиторії є <span class="ui red text">Приватними</span> згідно налаштувань адміністратора сайту
visiblity_fork_helper=(Зміна даного значення вплине на всі відгалуження) visiblity_fork_helper=(Зміна даного значення вплине на всі відгалуження)
clone_helper=Потрібна допомога у клонуванні? Відвідайте <a target="_blank" href="%s"> допомогу</a>! clone_helper=Потрібна допомога у клонуванні? Відвідайте <a target="_blank" href="%s"> допомогу</a>!
@@ -443,7 +446,7 @@ migrate.clone_address_desc=Це може бути URL-адресою HTTP, HTTPS
migrate.clone_address_desc_import_local=Ви також можете змігрувати репозиторій з локального шляху на сервері. migrate.clone_address_desc_import_local=Ви також можете змігрувати репозиторій з локального шляху на сервері.
migrate.permission_denied=Вам не дозволено імпортувати локальні репозиторії. migrate.permission_denied=Вам не дозволено імпортувати локальні репозиторії.
migrate.invalid_local_path=Невірний локальний шлях, він не існує або не є каталогом. migrate.invalid_local_path=Невірний локальний шлях, він не існує або не є каталогом.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Адреса клону розв’язана на адресу локальної мережі, яка неявно заблокована.
migrate.failed=Перенесення не вдалось: %v migrate.failed=Перенесення не вдалось: %v
mirror_from=дзеркало mirror_from=дзеркало
@@ -491,6 +494,8 @@ branches.stale_branches=Застарілі гілки
branches.all=Усі гілки branches.all=Усі гілки
branches.updated_by=Оновлено %[1]s з %[2]s branches.updated_by=Оновлено %[1]s з %[2]s
branches.change_default_branch=Гілку за замовчуванням змінено branches.change_default_branch=Гілку за замовчуванням змінено
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Новий файл editor.new_file=Новий файл
editor.upload_file=Завантажити файл editor.upload_file=Завантажити файл
@@ -810,7 +815,7 @@ settings.webhook.headers=Заголовки
settings.webhook.payload=Зміст settings.webhook.payload=Зміст
settings.webhook.body=Тіло settings.webhook.body=Тіло
settings.webhook.err_cannot_parse_payload_url=Неможливо розібрати payload URL: %v settings.webhook.err_cannot_parse_payload_url=Неможливо розібрати payload URL: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=URL-адреса корисного навантаження розв’язана з адресою у локальної мережі, яка неявно заблокована.
settings.githooks_desc=Git хуки керуються самим Git, ви можете редагувати файли хуків, що підтримуються згідно списку нище, щоб виконувати будь-які операції. settings.githooks_desc=Git хуки керуються самим Git, ви можете редагувати файли хуків, що підтримуються згідно списку нище, щоб виконувати будь-які операції.
settings.githook_edit_desc=Якщо хук неактивний, буде представлено зразок вмісту. Порожнє значення у цьому полі призведе до вимкнення хуку. settings.githook_edit_desc=Якщо хук неактивний, буде представлено зразок вмісту. Порожнє значення у цьому полі призведе до вимкнення хуку.
settings.githook_name=Ім'я хуку settings.githook_name=Ім'я хуку
@@ -855,7 +860,7 @@ settings.hook_type=Тип хуку
settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію. settings.add_slack_hook_desc=Додати <a href="%s">Slack</a>-інтеграцію до вашого репозиторію.
settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію. settings.add_discord_hook_desc=Додати <a href="%s">Discord</a>-інтеграцію до репозиторію.
settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію. settings.add_dingtalk_hook_desc=Додати інтеграцію <a href="%s">Dingtalk</a> до вашого репозиторію.
settings.slack_token=Токен settings.slack_token=Жетон
settings.slack_domain=Домен settings.slack_domain=Домен
settings.slack_channel=Канал settings.slack_channel=Канал
settings.deploy_keys=Ключи для розгортування settings.deploy_keys=Ключи для розгортування
@@ -1205,8 +1210,9 @@ config.ssh.rewrite_authorized_keys_at_start=Переписати "authorized_key
config.ssh.start_builtin_server=Запустити вбудований сервер config.ssh.start_builtin_server=Запустити вбудований сервер
config.ssh.listen_host=Слухати хост config.ssh.listen_host=Слухати хост
config.ssh.listen_port=Слухати порт config.ssh.listen_port=Слухати порт
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Серверні шифри
config.ssh.server_macs=Server MACs config.ssh.server_macs=MAC-адреси сервера
config.ssh.server_algorithms=Алгоритми сервера
config.repo_config=Налаштування репозиторія config.repo_config=Налаштування репозиторія
config.repo.root_path=Кореневий шлях config.repo.root_path=Кореневий шлях
@@ -1218,9 +1224,9 @@ config.repo.preferred_licenses=Бажані ліцензії
config.repo.disable_http_git=Вимкнути HTTP Git config.repo.disable_http_git=Вимкнути HTTP Git
config.repo.enable_local_path_migration=Увімкнути міграцію з локального шляху config.repo.enable_local_path_migration=Увімкнути міграцію з локального шляху
config.repo.enable_raw_file_render_mode=Вмикає режим візуалізації неформатованого файлу config.repo.enable_raw_file_render_mode=Вмикає режим візуалізації неформатованого файлу
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Запросити коміти конкурентно
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Розширення редактора для перенесення рядків
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Режим редактора попереднього перегляду файлів
config.repo.upload.enabled=Вивантаження увімкнено config.repo.upload.enabled=Вивантаження увімкнено
config.repo.upload.temp_path=Завантажити тимчасовий шлях config.repo.upload.temp_path=Завантажити тимчасовий шлях
config.repo.upload.allowed_types=Дозволені типи вивантаження config.repo.upload.allowed_types=Дозволені типи вивантаження
@@ -1231,8 +1237,8 @@ config.db_config=Налаштування бази даних
config.db.type=Тип config.db.type=Тип
config.db.host=Хост config.db.host=Хост
config.db.name=Ім'я config.db.name=Ім'я
config.db.schema=Schema config.db.schema=Схема
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(тільки для "postgres")
config.db.user=Користувач config.db.user=Користувач
config.db.ssl_mode=Режим SSL config.db.ssl_mode=Режим SSL
config.db.ssl_mode_helper=(тільки для "postgres") config.db.ssl_mode_helper=(тільки для "postgres")
@@ -1242,72 +1248,73 @@ config.db.max_open_conns=Максимальна кількість відкри
config.db.max_idle_conns=Максимальна кількість бездіяльних з'єднань config.db.max_idle_conns=Максимальна кількість бездіяльних з'єднань
config.security_config=Налаштування безпеки config.security_config=Налаштування безпеки
config.security.login_remember_days=Login remember days config.security.login_remember_days=Кількість днів запам'ятовування входу
config.security.cookie_remember_name=Запам'ятати куки config.security.cookie_remember_name=Запам'ятати куки
config.security.cookie_username=Username cookie config.security.cookie_username=Куки імені користувача
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Увімкнути захищені файли куки
config.security.reverse_proxy_auth_user=Reverse proxy authentication header config.security.reverse_proxy_auth_user=Заголовок аутентифікації на зворотному проксі
config.security.enable_login_status_cookie=Enable login status cookie config.security.enable_login_status_cookie=Увімкнути файли куки стану при вході
config.security.login_status_cookie_name=Login status cookie config.security.login_status_cookie_name=Куки статусу входу
config.security.local_network_allowlist=Local network allowlist config.security.local_network_allowlist=Дозволений список у локальної мережі
config.email_config=Налаштування пошти config.email_config=Налаштування електронної пошти
config.email.enabled=Увімкнено config.email.enabled=Увімкнено
config.email.subject_prefix=Subject prefix config.email.subject_prefix=Префікс теми
config.email.host=Хост config.email.host=Хост
config.email.from=From config.email.from=Від
config.email.user=Користувач config.email.user=Користувач
config.email.disable_helo=Disable HELO config.email.disable_helo=Вимкнути HELO
config.email.helo_hostname=HELO hostname config.email.helo_hostname=Ім'я хосту HELO
config.email.skip_verify=Skip certificate verify config.email.skip_verify=Пропустити перевірку сертифіката
config.email.use_certificate=Use custom certificate config.email.use_certificate=Використовувати користувальницький сертифікат
config.email.cert_file=Certificate file config.email.cert_file=Файл сертифікату
config.email.key_file=Key file config.email.key_file=Ключовий файл
config.email.use_plain_text=Use plain text config.email.use_plain_text=Використовувати звичайний текст
config.email.add_plain_text_alt=Add plain text alternative config.email.add_plain_text_alt=Додайте простий текст у якості альтернативи
config.email.send_test_mail=Send test email config.email.send_test_mail=Надіслати пробний лист
config.email.test_mail_failed=Failed to send test email to '%s': %v config.email.test_mail_failed=Помилка відправлення пробного листа до '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Пробного листа було відправлено до '%s'.
config.auth_config=Authentication configuration config.auth_config=Налаштування аутентифікації
config.auth.activate_code_lives=Activate code lives config.auth_custom_logout_url=Custom logout URL
config.auth.reset_password_code_lives=Reset password code lives config.auth.activate_code_lives=Активувати код підтвердження
config.auth.require_email_confirm=Require email confirmation config.auth.reset_password_code_lives=Термін придатності кода при скиданні пароля
config.auth.require_sign_in_view=Require sign in view config.auth.require_email_confirm=Вимагає підтвердження електронною поштою
config.auth.disable_registration=Disable registration config.auth.require_sign_in_view=Необхідно авторизуватися для перегляду
config.auth.enable_registration_captcha=Enable registration captcha config.auth.disable_registration=Вимкнути реєстрацію
config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication config.auth.enable_registration_captcha=Включити реєстрацію з капчею
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_authentication=Увімкнути аутентифікацію на зворотному проксі
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.enable_reverse_proxy_auto_registration=Увімкнути автоматичну реєстрацію на зворотному проксі
config.auth.reverse_proxy_authentication_header=Заголовок аутентифікації на зворотному проксі
config.user_config=User configuration config.user_config=Налаштування користувача
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Увімкнути сповіщення електронною поштою
config.session_config=Налаштування сесії config.session_config=Налаштування сесії
config.session.provider=Provider config.session.provider=Постачальник
config.session.provider_config=Provider config config.session.provider_config=Налаштування постачальника
config.session.cookie_name=Cookie config.session.cookie_name=Файл куки
config.session.https_only=HTTPS only config.session.https_only=Виключно по HTTPS
config.session.gc_interval=GC interval config.session.gc_interval=Інтервал GC
config.session.max_life_time=Max life time config.session.max_life_time=Максимальний час дії
config.session.csrf_cookie_name=CSRF cookie config.session.csrf_cookie_name=Кука CSRF
config.cache_config=Конфігурація кешу config.cache_config=Конфігурація кешу
config.cache.adapter=Adapter config.cache.adapter=Адаптер
config.cache.interval=GC interval config.cache.interval=GC Інтервал
config.cache.host=Host config.cache.host=Хост
config.http_config=Налаштування HTTP config.http_config=Налаштування HTTP
config.http.access_control_allow_origin=Access control allow origin config.http.access_control_allow_origin=Контроль доступу дозволяє походження
config.attachment_config=Attachment configuration config.attachment_config=Налаштування вкладення
config.attachment.enabled=Увімкнено config.attachment.enabled=Увімкнено
config.attachment.path=Шлях config.attachment.path=Шлях
config.attachment.allowed_types=Дозволені типи config.attachment.allowed_types=Дозволені типи
config.attachment.max_size=Ліміт розміру config.attachment.max_size=Ліміт розміру
config.attachment.max_files=Ліміт файлів config.attachment.max_files=Ліміт файлів
config.release_config=Release configuration config.release_config=Налаштування випуску
config.release.attachment.enabled=Вкладення увімкнено config.release.attachment.enabled=Вкладення увімкнено
config.release.attachment.allowed_types=Дозволені типи вкладень config.release.attachment.allowed_types=Дозволені типи вкладень
config.release.attachment.max_size=Ліміт розміру вкладення config.release.attachment.max_size=Ліміт розміру вкладення
@@ -1325,19 +1332,19 @@ config.mirror.default_interval=Інтервал за замовчуванням
config.webhook_config=Налаштування web-хуків config.webhook_config=Налаштування web-хуків
config.webhook.types=Типи config.webhook.types=Типи
config.webhook.deliver_timeout=Deliver timeout config.webhook.deliver_timeout=Час для доставки вичерпано
config.webhook.skip_tls_verify=Skip TLS verify config.webhook.skip_tls_verify=Пропустити перевірку TLS
config.git_config=Налаштування git config.git_config=Налаштування git
config.git.disable_diff_highlight=Disable diff syntax highlight config.git.disable_diff_highlight=Вимкнути підсвітку синтаксису порівняння
config.git.max_diff_lines=Diff lines limit (for a single file) config.git.max_diff_lines=Обмеження рядків порівнюючи (для одного файлу)
config.git.max_diff_line_characters=Diff characters limit (for a single line) config.git.max_diff_line_characters=Обмеження символів порівнюючи (для одного файлу)
config.git.max_diff_files=Diff files limit (for a single diff) config.git.max_diff_files=Обмеження на порівняння файлів (для одного порівняння)
config.git.gc_args=Аргументи GC config.git.gc_args=Аргументи GC
config.git.migrate_timeout=Migration timeout config.git.migrate_timeout=Час для міграції вичерпано
config.git.mirror_timeout=Mirror fetch timeout config.git.mirror_timeout=Час для отримання дзеркала вичерпано
config.git.clone_timeout=Clone timeout config.git.clone_timeout=Час для клонування вичерпано
config.git.pull_timeout=Pull timeout config.git.pull_timeout=Час для витягання вичерпано
config.git.gc_timeout=Затримка GC config.git.gc_timeout=Затримка GC
config.lfs_config=Налаштування LFS config.lfs_config=Налаштування LFS

View File

@@ -51,14 +51,14 @@ internal_server_error=Lỗi nội bộ máy chủ.
install=Cài đặt install=Cài đặt
title=Cài đặt cho lần chạy đầu tiên title=Cài đặt cho lần chạy đầu tiên
docker_helper=Nếu bạn đang chạy Gogs bên trong Docker, xin vui lòng đọc <a target="_blank" href="%s">hướng dẫn</a> một cách cẩn thận, trước khi bạn thay đổi bất cứ điều gì trong trang này! docker_helper=Nếu bạn đang chạy Gogs bên trong Docker, xin vui lòng đọc <a target="_blank" href="%s">hướng dẫn</a> một cách cẩn thận, trước khi bạn thay đổi bất cứ điều gì trong trang này!
requite_db_desc=Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB (via MySQL protocol). requite_db_desc=Gogs yêu cầu MySQL, PostgreSQL, SQLite3 hoặc TiDB (thông qua giao thức MySQL).
db_title=Cài đặt database db_title=Cài đặt database
db_type=Loại database db_type=Loại database
host=Host host=Host
user=User user=User
password=Mật khẩu password=Mật khẩu
db_name=Tên database db_name=Tên database
db_schema=Schema db_schema=Lược đồ
db_helper=Xin vui lòng sử dụng engine INNODB với utf8_general_ci charset cho MySQL. db_helper=Xin vui lòng sử dụng engine INNODB với utf8_general_ci charset cho MySQL.
ssl_mode=Chế độ SSL ssl_mode=Chế độ SSL
path=Đường dẫn path=Đường dẫn
@@ -88,6 +88,7 @@ log_root_path=Đường dẫn Log
log_root_path_helper=Thư mục để viết vào tập tin Log. log_root_path_helper=Thư mục để viết vào tập tin Log.
enable_console_mode=Bật chế độ console enable_console_mode=Bật chế độ console
enable_console_mode_popup=Ngoài chế độ tập tin, còn có in logs vào console. enable_console_mode_popup=Ngoài chế độ tập tin, còn có in logs vào console.
default_branch=Default Branch
optional_title=Cài đặt tùy chọn optional_title=Cài đặt tùy chọn
email_title=Cài đặt dịch vụ email email_title=Cài đặt dịch vụ email
@@ -316,6 +317,7 @@ delete_email=Xóa
email_deletion=Xóa email email_deletion=Xóa email
email_deletion_desc=Xóa địa chỉ email này sẽ xóa các thông tin liên quan đến tài khoản của bạn. Bạn có muốn tiếp tục? email_deletion_desc=Xóa địa chỉ email này sẽ xóa các thông tin liên quan đến tài khoản của bạn. Bạn có muốn tiếp tục?
email_deletion_success=Đã xóa email thành công! email_deletion_success=Đã xóa email thành công!
email_deletion_primary=Cannot delete primary email address.
add_new_email=Thêm địa chỉ email mới add_new_email=Thêm địa chỉ email mới
add_email=Thêm email add_email=Thêm email
add_email_confirmation_sent=Một email xác nhận mới đã được gửi đến '%s', xin vui lòng kiểm tra hộp thư của bạn trong vòng giờ %d tiếp theo để hoàn tất quá trình xác nhận. add_email_confirmation_sent=Một email xác nhận mới đã được gửi đến '%s', xin vui lòng kiểm tra hộp thư của bạn trong vòng giờ %d tiếp theo để hoàn tất quá trình xác nhận.
@@ -370,6 +372,7 @@ two_factor_disable_success=Xác thực 2 yếu tố đã vô hiệu hoá thành
manage_access_token=Quản lý mã truy cập cá nhân manage_access_token=Quản lý mã truy cập cá nhân
generate_new_token=Tạo token mới generate_new_token=Tạo token mới
tokens_desc=Thẻ bạn đã tạo ra mà có thể được sử dụng để truy cập vào các API Gogs. tokens_desc=Thẻ bạn đã tạo ra mà có thể được sử dụng để truy cập vào các API Gogs.
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=Mỗi token sẽ có thể truy cập vào tài khoản của bạn. new_token_desc=Mỗi token sẽ có thể truy cập vào tài khoản của bạn.
token_name=Token Name token_name=Token Name
generate_token=Tạo mã generate_token=Tạo mã
@@ -400,9 +403,9 @@ owner=Chủ sở hữu
repo_name=Tên kho repo_name=Tên kho
repo_name_helper=Một tên kho tốt thường bao gồm các từ khoá ngắn, đáng nhớ và độc đáo. repo_name_helper=Một tên kho tốt thường bao gồm các từ khoá ngắn, đáng nhớ và độc đáo.
visibility=Hiển thị visibility=Hiển thị
unlisted=Unlisted unlisted=Riêng tư
visiblity_helper=Kho lưu trữ này là <span class="ui red text">riêng tư</span> visiblity_helper=Kho lưu trữ này là <span class="ui red text">riêng tư</span>
unlisted_helper=This repository is <span class="ui red text">Unlisted</span> unlisted_helper=Kho lưu trữ này là<span class="ui red text">riêng tư</span>
visiblity_helper_forced=Trang web quản trị đã buộc tất cả các kho phần mềm mới được <span class="ui red text">riêng tư</span> visiblity_helper_forced=Trang web quản trị đã buộc tất cả các kho phần mềm mới được <span class="ui red text">riêng tư</span>
visiblity_fork_helper=(Thay đổi giá trị này sẽ ảnh hưởng đến tất cả forks) visiblity_fork_helper=(Thay đổi giá trị này sẽ ảnh hưởng đến tất cả forks)
clone_helper=Cần giúp đỡ clone? Ghé thăm <a target="_blank" href="%s">trợ giúp</a>! clone_helper=Cần giúp đỡ clone? Ghé thăm <a target="_blank" href="%s">trợ giúp</a>!
@@ -443,7 +446,7 @@ migrate.clone_address_desc=This can be a HTTP/HTTPS/GIT URL.
migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path. migrate.clone_address_desc_import_local=You're also allowed to migrate a repository by local server path.
migrate.permission_denied=You are not allowed to import local repositories. migrate.permission_denied=You are not allowed to import local repositories.
migrate.invalid_local_path=Invalid local path, it does not exist or not a directory. migrate.invalid_local_path=Invalid local path, it does not exist or not a directory.
migrate.clone_address_resolved_to_blocked_local_address=Clone address resolved to a local network address that is implicitly blocked. migrate.clone_address_resolved_to_blocked_local_address=Địa chỉ sao chép được giải quyết thành một địa chỉ mạng cục bộ bị chặn hoàn toàn.
migrate.failed=Migration failed: %v migrate.failed=Migration failed: %v
mirror_from=mirror of mirror_from=mirror of
@@ -472,7 +475,7 @@ filter_branch_and_tag=Filter branch or tag
branches=Branches branches=Branches
tags=Tags tags=Tags
issues=Các vấn đề issues=Các vấn đề
pulls=Yêu cầu khéo về pulls=Yêu cầu kéo về
labels=Nhãn labels=Nhãn
milestones=Milestones milestones=Milestones
commits=Commits commits=Commits
@@ -491,6 +494,8 @@ branches.stale_branches=Các nhánh cũ
branches.all=Tất cả các nhánh branches.all=Tất cả các nhánh
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Thay đổi nhánh mặc định branches.change_default_branch=Thay đổi nhánh mặc định
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=Tập tin mới editor.new_file=Tập tin mới
editor.upload_file=Tải tập tin lên editor.upload_file=Tải tập tin lên
@@ -753,7 +758,7 @@ settings.tracker_issue_style=Kiểu Url theo dõi các vấn đề bên ngoài:
settings.tracker_issue_style.numeric=Kiểu số settings.tracker_issue_style.numeric=Kiểu số
settings.tracker_issue_style.alphanumeric=Chữ số settings.tracker_issue_style.alphanumeric=Chữ số
settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index. settings.tracker_url_format_desc=You can use placeholder <code>{user} {repo} {index}</code> for user name, repository name and issue index.
settings.pulls_desc=Enable pull requests to accept contributions between repositories and branches settings.pulls_desc=Bật yêu cầu kéo để chấp nhận đóng góp giữa các kho lưu trữ và các nhánh
settings.pulls.ignore_whitespace=Bỏ qua sự thay đổi của khoảng trắng settings.pulls.ignore_whitespace=Bỏ qua sự thay đổi của khoảng trắng
settings.pulls.allow_rebase_merge=Cho phép sử dụng rebase để merge các commit settings.pulls.allow_rebase_merge=Cho phép sử dụng rebase để merge các commit
settings.danger_zone=Vùng nguy hiểm settings.danger_zone=Vùng nguy hiểm
@@ -809,8 +814,8 @@ settings.webhook.response=Phản hồi
settings.webhook.headers=Tiêu đề settings.webhook.headers=Tiêu đề
settings.webhook.payload=Trả phí settings.webhook.payload=Trả phí
settings.webhook.body=Nội dung settings.webhook.body=Nội dung
settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v settings.webhook.err_cannot_parse_payload_url=Không thể phân tích URL: %v
settings.webhook.url_resolved_to_blocked_local_address=Payload URL resolved to a local network address that is implicitly blocked. settings.webhook.url_resolved_to_blocked_local_address=URL khối được giải quyết thành một địa chỉ mạng cục bộ bị chặn hoàn toàn.
settings.githooks_desc=Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations. settings.githooks_desc=Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations.
settings.githook_edit_desc=If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook. settings.githook_edit_desc=If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook.
settings.githook_name=Tên Hook settings.githook_name=Tên Hook
@@ -1022,7 +1027,7 @@ dashboard.system_status=Tình trạng quản lý hệ thống
dashboard.statistic_info=Gogs database có <b>%d</b> users, <b>%d</b> organizations, <b>%d</b> public keys, <b>%d</b> repositories, <b>%d</b> watches, <b>%d</b> stars, <b>%d</b> actions, <b>%d</b> accesses, <b>%d</b> issues, <b>%d</b> comments, <b>%d</b> social accounts, <b>%d</b> follows, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> login sources, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> hook tasks, <b>%d</b> teams, <b>%d</b> update tasks, <b>%d</b> attachments. dashboard.statistic_info=Gogs database có <b>%d</b> users, <b>%d</b> organizations, <b>%d</b> public keys, <b>%d</b> repositories, <b>%d</b> watches, <b>%d</b> stars, <b>%d</b> actions, <b>%d</b> accesses, <b>%d</b> issues, <b>%d</b> comments, <b>%d</b> social accounts, <b>%d</b> follows, <b>%d</b> mirrors, <b>%d</b> releases, <b>%d</b> login sources, <b>%d</b> webhooks, <b>%d</b> milestones, <b>%d</b> labels, <b>%d</b> hook tasks, <b>%d</b> teams, <b>%d</b> update tasks, <b>%d</b> attachments.
dashboard.operation_name=Tên hành động dashboard.operation_name=Tên hành động
dashboard.operation_switch=Chuyển đổi dashboard.operation_switch=Chuyển đổi
dashboard.select_operation_to_run=Please select operation to run dashboard.select_operation_to_run=Vui lòng chọn thao tác để chạy
dashboard.operation_run=Chạy dashboard.operation_run=Chạy
dashboard.clean_unbind_oauth=Clean unbound OAuthes dashboard.clean_unbind_oauth=Clean unbound OAuthes
dashboard.clean_unbind_oauth_success=Tất cả các unbind OAuthes đã được xóa thành công. dashboard.clean_unbind_oauth_success=Tất cả các unbind OAuthes đã được xóa thành công.
@@ -1158,7 +1163,7 @@ auths.pam_service_name=Tên dịch vụ PAM
auths.enable_auto_register=Cho phép tự động đăng ký auths.enable_auto_register=Cho phép tự động đăng ký
auths.edit=Chỉnh sửa cài đặt xác thực auths.edit=Chỉnh sửa cài đặt xác thực
auths.activated=Xác thực này đã được kích hoạt auths.activated=Xác thực này đã được kích hoạt
auths.default_auth=This authentication is default login source auths.default_auth=Xác thực này là nguồn đăng nhập mặc định
auths.new_success=Xác thực mới '%s' đã được thêm vào thành công. auths.new_success=Xác thực mới '%s' đã được thêm vào thành công.
auths.update_success=Cài đặt xác thực đã được cập nhật thành công. auths.update_success=Cài đặt xác thực đã được cập nhật thành công.
auths.update=Cập Nhật cài đặt xác thực auths.update=Cập Nhật cài đặt xác thực
@@ -1186,63 +1191,64 @@ config.server.tls_min_version=Minimum TLS version
config.server.unix_socket_permission=Unix socket permission config.server.unix_socket_permission=Unix socket permission
config.server.local_root_url=URL gốc nội bộ config.server.local_root_url=URL gốc nội bộ
config.server.offline_mode=Chế độ ngoại tuyến config.server.offline_mode=Chế độ ngoại tuyến
config.server.disable_router_log=Disable router log config.server.disable_router_log=Vô hiệu hóa log định tuyến
config.server.enable_gzip=Enable Gzip config.server.enable_gzip=Enable Gzip
config.server.app_data_path=Application data path config.server.app_data_path=Đường dẫn dữ liệu ứng dụng
config.server.load_assets_from_disk=Load assets from disk config.server.load_assets_from_disk=Load assets from disk
config.server.landing_url=Landing URL config.server.landing_url=URL đích
config.ssh_config=Cấu hình SSH config.ssh_config=Cấu hình SSH
config.ssh.enabled=Đã bật config.ssh.enabled=Đã bật
config.ssh.domain=Exposed domain config.ssh.domain=Tên miền tiếp xúc
config.ssh.port=Exposed port config.ssh.port=Cổng công khai
config.ssh.root_path=Root path config.ssh.root_path=Đường dẫn root
config.ssh.keygen_path=Keygen path config.ssh.keygen_path=Đường dẫn keygen
config.ssh.key_test_path=Key test path config.ssh.key_test_path=Đường dẫn kiểm tra chính
config.ssh.minimum_key_size_check=Minimum key size check config.ssh.minimum_key_size_check=Kiểm tra kích thước khóa tối thiểu
config.ssh.minimum_key_sizes=Minimum key sizes config.ssh.minimum_key_sizes=Kích thước khóa tối thiểu
config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start config.ssh.rewrite_authorized_keys_at_start=Viết lại "authorized_keys" khi bắt đầu
config.ssh.start_builtin_server=Start builtin server config.ssh.start_builtin_server=Bắt đầu máy chủ dựng sẵn
config.ssh.listen_host=Listen host config.ssh.listen_host=Máy chủ lắng nghe
config.ssh.listen_port=Listen port config.ssh.listen_port=Cổng lắng nghe
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Mật mã máy chủ
config.ssh.server_macs=Server MACs config.ssh.server_macs=Địa chỉ MACs máy chủ
config.ssh.server_algorithms=Server algorithms
config.repo_config=Cấu hình kho config.repo_config=Cấu hình kho
config.repo.root_path=Root path config.repo.root_path=Đường dẫn Root
config.repo.script_type=Script type config.repo.script_type=Kiểu script
config.repo.ansi_chatset=ANSI charset config.repo.ansi_chatset=Bộ ký tự ANSI
config.repo.force_private=Force private config.repo.force_private=Bắc buộc riêng tư
config.repo.max_creation_limit=Max creation limit config.repo.max_creation_limit=Giới hạn số lượng tạo
config.repo.preferred_licenses=Preferred licenses config.repo.preferred_licenses=Giấy phép ưu tiên
config.repo.disable_http_git=Vô hiệu hóa HTTP Git config.repo.disable_http_git=Vô hiệu hóa HTTP Git
config.repo.enable_local_path_migration=Enable local path migration config.repo.enable_local_path_migration=Kích hoạt di cư đường dẫn địa phương
config.repo.enable_raw_file_render_mode=Enable raw file render mode config.repo.enable_raw_file_render_mode=Bật chế độ hiển thị tệp thô
config.repo.commits_fetch_concurrency=Commits fetch concurrency config.repo.commits_fetch_concurrency=Cam kết tìm nạp đồng thời
config.repo.editor.line_wrap_extensions=Editor line wrap extensions config.repo.editor.line_wrap_extensions=Tiện ích mở rộng dòng trình chỉnh sửa
config.repo.editor.previewable_file_modes=Editor previewable file modes config.repo.editor.previewable_file_modes=Chế độ tệp có thể xem trước của trình chỉnh sửa
config.repo.upload.enabled=Upload enabled config.repo.upload.enabled=Tải lên đã được bật
config.repo.upload.temp_path=Upload temporary path config.repo.upload.temp_path=Đường dẫn tải lên tạm thời
config.repo.upload.allowed_types=Upload allowed types config.repo.upload.allowed_types=Các kiểu được phép tải lên
config.repo.upload.file_max_size=Upload file size limit config.repo.upload.file_max_size=Giới hạn dung lượng tập tin tải lên
config.repo.upload.max_files=Upload files limit config.repo.upload.max_files=Giới hạn số lượng tập tin tải lên
config.db_config=Cấu hình Cơ sỡ dữ liệu config.db_config=Cấu hình Cơ sỡ dữ liệu
config.db.type=Type config.db.type=Loại
config.db.host=Host config.db.host=Host
config.db.name=Name config.db.name=Tên
config.db.schema=Schema config.db.schema=Lược đồ
config.db.schema_helper=(for "postgres" only) config.db.schema_helper=(chỉ cho "postgres")
config.db.user=User config.db.user=Người dùng
config.db.ssl_mode=SSL mode config.db.ssl_mode=Chế độ SSL
config.db.ssl_mode_helper=(for "postgres" only) config.db.ssl_mode_helper=(chỉ cho "postgres")
config.db.path=Đường dẫn config.db.path=Đường dẫn
config.db.path_helper=(chỉ cho phép "sqlite3") config.db.path_helper=(chỉ cho phép "sqlite3")
config.db.max_open_conns=Maximum open connections config.db.max_open_conns=Kết nối mở tối đa
config.db.max_idle_conns=Maximum idle connections config.db.max_idle_conns=Kết nối không hoạt động tối đa
config.security_config=Security configuration config.security_config=Cấu hình bảo mật
config.security.login_remember_days=Login remember days config.security.login_remember_days=Số ngày lưu trữ đăng nhập
config.security.cookie_remember_name=Remember cookie config.security.cookie_remember_name=Remember cookie
config.security.cookie_username=Username cookie config.security.cookie_username=Username cookie
config.security.cookie_secure=Enable secure cookie config.security.cookie_secure=Enable secure cookie
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Gửi email kiểm tra đến '%s':%v thất bại
config.email.test_mail_sent=Email kiểm tra đã được gửi đến '%s'. config.email.test_mail_sent=Email kiểm tra đã được gửi đến '%s'.
config.auth_config=Cấu hình xác thực config.auth_config=Cấu hình xác thực
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Yêu cầu xác nhận email config.auth.require_email_confirm=Yêu cầu xác nhận email
@@ -1280,11 +1287,11 @@ config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authenticat
config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
config.user_config=User configuration config.user_config=Cấu hình người dùng
config.user.enable_email_notify=Enable email notification config.user.enable_email_notify=Bật thông báo qua Email
config.session_config=Cấu hình session config.session_config=Cấu hình session
config.session.provider=Provider config.session.provider=Nhà cung cấp
config.session.provider_config=Provider config config.session.provider_config=Provider config
config.session.cookie_name=Cookie config.session.cookie_name=Cookie
config.session.https_only=Chỉ HTTPS config.session.https_only=Chỉ HTTPS

View File

@@ -88,6 +88,7 @@ log_root_path=日志路径
log_root_path_helper=存放日志文件的目录 log_root_path_helper=存放日志文件的目录
enable_console_mode=启用控制台模式 enable_console_mode=启用控制台模式
enable_console_mode_popup=除了使用文件模式外,还将日志输出到控制台 enable_console_mode_popup=除了使用文件模式外,还将日志输出到控制台
default_branch=默认分支
optional_title=可选设置 optional_title=可选设置
email_title=邮件服务设置 email_title=邮件服务设置
@@ -316,6 +317,7 @@ delete_email=删除
email_deletion=邮箱删除操作 email_deletion=邮箱删除操作
email_deletion_desc=删除该邮箱地址将会移除所有相关的信息。是否继续? email_deletion_desc=删除该邮箱地址将会移除所有相关的信息。是否继续?
email_deletion_success=邮箱删除成功! email_deletion_success=邮箱删除成功!
email_deletion_primary=无法删除默认邮箱。
add_new_email=添加新的邮箱地址 add_new_email=添加新的邮箱地址
add_email=添加邮箱 add_email=添加邮箱
add_email_confirmation_sent=一封待确认的电子邮件已发送到 '%s',请在 %d 小时内检查您的收件箱,并完成确认过程。 add_email_confirmation_sent=一封待确认的电子邮件已发送到 '%s',请在 %d 小时内检查您的收件箱,并完成确认过程。
@@ -370,6 +372,7 @@ two_factor_disable_success=两步验证登录关闭成功!
manage_access_token=管理个人操作令牌 manage_access_token=管理个人操作令牌
generate_new_token=生成新的令牌 generate_new_token=生成新的令牌
tokens_desc=您可以使用这些已生成的令牌来操作 Gogs API。 tokens_desc=您可以使用这些已生成的令牌来操作 Gogs API。
access_token_tips=个人访问令牌可以用作用户名或密码。建议使用 "x-access-token" 作为 Git 应用程序的用户名并使用个人访问令牌作为密码。
new_token_desc=目前为止,任何令牌都对您的帐户拥有完整的操作权限。 new_token_desc=目前为止,任何令牌都对您的帐户拥有完整的操作权限。
token_name=令牌名称 token_name=令牌名称
generate_token=生成令牌 generate_token=生成令牌
@@ -491,6 +494,8 @@ branches.stale_branches=陈旧分支
branches.all=所有分支 branches.all=所有分支
branches.updated_by=由 %[2]s 更新于 %[1]s branches.updated_by=由 %[2]s 更新于 %[1]s
branches.change_default_branch=更改默认分支 branches.change_default_branch=更改默认分支
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=新的文件 editor.new_file=新的文件
editor.upload_file=上传文件 editor.upload_file=上传文件
@@ -1208,6 +1213,7 @@ config.ssh.listen_host=监听主机
config.ssh.listen_port=监听端口 config.ssh.listen_port=监听端口
config.ssh.server_ciphers=服务端加密套件 config.ssh.server_ciphers=服务端加密套件
config.ssh.server_macs=服务器 MAC 地址 config.ssh.server_macs=服务器 MAC 地址
config.ssh.server_algorithms=服务器算法
config.repo_config=仓库配置 config.repo_config=仓库配置
config.repo.root_path=根目录 config.repo.root_path=根目录
@@ -1271,6 +1277,7 @@ config.email.test_mail_failed=发送测试邮件至 '%s' 时失败:%v
config.email.test_mail_sent=测试邮件已经发送至 '%s'。 config.email.test_mail_sent=测试邮件已经发送至 '%s'。
config.auth_config=认证配置 config.auth_config=认证配置
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=激活用户链接有效期 config.auth.activate_code_lives=激活用户链接有效期
config.auth.reset_password_code_lives=重置密码链接有效期 config.auth.reset_password_code_lives=重置密码链接有效期
config.auth.require_email_confirm=注册邮件确认 config.auth.require_email_confirm=注册邮件确认

View File

@@ -88,6 +88,7 @@ log_root_path=日誌路徑
log_root_path_helper=寫入日誌檔目錄 log_root_path_helper=寫入日誌檔目錄
enable_console_mode=Enable Console Mode enable_console_mode=Enable Console Mode
enable_console_mode_popup=In addition to file mode, also print logs to console. enable_console_mode_popup=In addition to file mode, also print logs to console.
default_branch=Default Branch
optional_title=可選設置 optional_title=可選設置
email_title=電子郵件服務設定 email_title=電子郵件服務設定
@@ -316,6 +317,7 @@ delete_email=刪除
email_deletion=刪除郵箱 email_deletion=刪除郵箱
email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續? email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續?
email_deletion_success=成功刪除郵箱! email_deletion_success=成功刪除郵箱!
email_deletion_primary=Cannot delete primary email address.
add_new_email=添加新的電子郵件地址 add_new_email=添加新的電子郵件地址
add_email=添加電子郵件 add_email=添加電子郵件
add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。 add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。
@@ -370,6 +372,7 @@ two_factor_disable_success=Two-factor authentication has disabled successfully!
manage_access_token=管理個人操作令牌 manage_access_token=管理個人操作令牌
generate_new_token=生成新的令牌 generate_new_token=生成新的令牌
tokens_desc=您所產生的token將被用來存取Gogs APIs tokens_desc=您所產生的token將被用來存取Gogs APIs
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。 new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。
token_name=令牌名稱 token_name=令牌名稱
generate_token=生成令牌 generate_token=生成令牌
@@ -491,6 +494,8 @@ branches.stale_branches=Stale Branches
branches.all=All Branches branches.all=All Branches
branches.updated_by=Updated %[1]s by %[2]s branches.updated_by=Updated %[1]s by %[2]s
branches.change_default_branch=Change Default Branch branches.change_default_branch=Change Default Branch
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=New file editor.new_file=New file
editor.upload_file=Upload file editor.upload_file=Upload file
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository configuration config.repo_config=Repository configuration
config.repo.root_path=Root path config.repo.root_path=Root path
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=Failed to send test email to '%s': %v
config.email.test_mail_sent=Test email has been sent to '%s'. config.email.test_mail_sent=Test email has been sent to '%s'.
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

View File

@@ -88,6 +88,7 @@ log_root_path=日誌路徑
log_root_path_helper=寫入日誌檔目錄 log_root_path_helper=寫入日誌檔目錄
enable_console_mode=開啟主控台模式 enable_console_mode=開啟主控台模式
enable_console_mode_popup=除了使用檔案模式之外, 還要將日誌列印到控制台。 enable_console_mode_popup=除了使用檔案模式之外, 還要將日誌列印到控制台。
default_branch=Default Branch
optional_title=可選設置 optional_title=可選設置
email_title=電子郵件服務設定 email_title=電子郵件服務設定
@@ -316,6 +317,7 @@ delete_email=刪除
email_deletion=刪除郵箱 email_deletion=刪除郵箱
email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續? email_deletion_desc=刪除該郵箱地址將會移除所有相關的信息。是否繼續?
email_deletion_success=成功刪除郵箱! email_deletion_success=成功刪除郵箱!
email_deletion_primary=Cannot delete primary email address.
add_new_email=添加新的電子郵件地址 add_new_email=添加新的電子郵件地址
add_email=添加電子郵件 add_email=添加電子郵件
add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。 add_email_confirmation_sent=一封待確認的電子郵件已發送到 '%s',請在%d 小時內檢查您的收件箱,並完成確認過程。
@@ -370,6 +372,7 @@ two_factor_disable_success=您帳戶的兩步驗證已成功停用!
manage_access_token=管理個人操作令牌 manage_access_token=管理個人操作令牌
generate_new_token=生成新的令牌 generate_new_token=生成新的令牌
tokens_desc=您產生的令牌可以用來存取 Gogs API。 tokens_desc=您產生的令牌可以用來存取 Gogs API。
access_token_tips=The personal access token may be used as either username or password. It is recommended to use the "x-access-token" as the username and the personal access token as the password for Git applications.
new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。 new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。
token_name=令牌名稱 token_name=令牌名稱
generate_token=生成令牌 generate_token=生成令牌
@@ -491,6 +494,8 @@ branches.stale_branches=陳舊分支
branches.all=所有分支 branches.all=所有分支
branches.updated_by=%[2]s 更新了 %[1]s branches.updated_by=%[2]s 更新了 %[1]s
branches.change_default_branch=變更預設分支 branches.change_default_branch=變更預設分支
branches.default_deletion_not_allowed=Cannot delete the default branch.
branches.protected_deletion_not_allowed=Cannot delete a protected branch.
editor.new_file=開新檔案 editor.new_file=開新檔案
editor.upload_file=上傳檔案 editor.upload_file=上傳檔案
@@ -1207,6 +1212,7 @@ config.ssh.listen_host=Listen host
config.ssh.listen_port=Listen port config.ssh.listen_port=Listen port
config.ssh.server_ciphers=Server ciphers config.ssh.server_ciphers=Server ciphers
config.ssh.server_macs=Server MACs config.ssh.server_macs=Server MACs
config.ssh.server_algorithms=Server algorithms
config.repo_config=Repository 設定 config.repo_config=Repository 設定
config.repo.root_path=根路徑 config.repo.root_path=根路徑
@@ -1270,6 +1276,7 @@ config.email.test_mail_failed=發送測試郵件至 '%s' 時失敗:%v
config.email.test_mail_sent=測試電子郵件已發送到 '%s'。 config.email.test_mail_sent=測試電子郵件已發送到 '%s'。
config.auth_config=Authentication configuration config.auth_config=Authentication configuration
config.auth_custom_logout_url=Custom logout URL
config.auth.activate_code_lives=Activate code lives config.auth.activate_code_lives=Activate code lives
config.auth.reset_password_code_lives=Reset password code lives config.auth.reset_password_code_lives=Reset password code lives
config.auth.require_email_confirm=Require email confirmation config.auth.require_email_confirm=Require email confirmation

129
docker-next/README.md Normal file
View File

@@ -0,0 +1,129 @@
# Docker for Gogs (Next Generation)
> [!NOTE]
> This is the next-generation, security-focused Docker image. This will become the default image distribution (`gogs/gogs:latest`) starting 0.16.0.
![Docker pulls](https://img.shields.io/docker/pulls/gogs/gogs?logo=docker&style=for-the-badge)
Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs) to see all available images and tags.
## Security-first design
This Docker image is designed with Kubernetes security best practices in mind:
- **Runs as non-root by default** - uses UID 1000 and GID 1000
- **Minimal image** - only have essential packages installed
- **Direct execution** - no process supervisor, just runs `gogs web`
- **Supports restrictive security contexts** - ready for Kubernetes
### Kubernetes Security Context example
In the deployment YAML, make sure the following snippets exist:
```yaml
spec:
template:
spec:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers:
- name: gogs
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL
```
### Custom UID/GID at build time
If you need a different UID/GID, build the image with custom arguments:
```zsh
docker build -f Dockerfile.next --build-arg GOGS_UID=1001 --build-arg GOGS_GID=1001 -t my-gogs .
```
## Usage
```zsh
$ docker pull gogs/gogs:next-latest
# Create local directory for volume.
$ mkdir -p /var/gogs
$ chown 1000:1000 /var/gogs
# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:2222 -p 10880:3000 -v /var/gogs:/data gogs/gogs:next-latest
# Use `docker start` if you have stopped it.
$ docker start gogs
```
Files will be stored in local path `/var/gogs`.
Directory `/var/gogs` keeps Git repositories and Gogs data:
```zsh
/var/gogs
|-- git
|-- gogs-repositories
|-- gogs
|-- conf
|-- data
|-- log
|-- ssh
```
### Using Docker volumes
```zsh
$ docker volume create --name gogs-data
$ docker run --name=gogs -p 10022:2222 -p 10880:3000 -v gogs-data:/data gogs/gogs:next-latest
```
## Settings
### Application
Most of the settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker:
- **Repository Root Path**: either `/data/git/gogs-repositories` or `/home/git/gogs-repositories` works.
- **Run User**: default `git` (UID 1000)
- **Domain**: fill in with Docker container IP (e.g. `192.168.99.100`). But if you want to access your Gogs instance from a different physical machine, please fill in with the hostname or IP address of the Docker host machine.
- **SSH Port**: Use the exposed port from Docker container. For example, your SSH server listens on `2222` inside Docker, **but** you expose it by `10022:2222`, then use `10022` for this value.
- **HTTP Port**: Use port you want Gogs to listen on inside Docker container. For example, your Gogs listens on `3000` inside Docker, **and** you expose it by `10880:3000`, but you still use `3000` for this value.
- **Application URL**: Use combination of **Domain** and **exposed HTTP Port** values (e.g. `http://192.168.99.100:10880/`).
Full documentation of application settings can be found in the [default `app.ini`](https://github.com/gogs/gogs/blob/main/conf/app.ini).
### Git over SSH
>[!IMPORTANT]
> Enable and disable of the builtin SSH server requires restart of the container to take effect.
To enable Git over SSH access, the use of builtin SSH server is required as follows in your `app.ini`:
```ini
[server]
START_SSH_SERVER = true
SSH_PORT = 10022 # The port shown in the clone URL
SSH_LISTEN_PORT = 2222 # The port that builtin server listens on
```
## Upgrade
> [!CAUTION]
> Make sure you have volumed data to somewhere outside Docker container!
Steps to upgrade Gogs with Docker:
- `docker pull gogs/gogs:next-latest`
- `docker stop gogs`
- `docker rm gogs`
- Create a container for the first time and don't forget to do the same for the volume and port mapping.

8
docker-next/start.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
set -ex
# Create data directories at runtime (needed when /data is a mounted volume)
mkdir -p /data/gogs /data/git
# Execute the main command
exec "$@"

View File

@@ -1,45 +0,0 @@
FROM arm32v7/golang:1.14-alpine3.14 AS binarybuilder
RUN apk --no-cache --no-progress add --virtual \
build-deps \
build-base \
git \
linux-pam-dev
WORKDIR /gogs.io/gogs
COPY . .
RUN make build TAGS="cert pam"
FROM arm32v7/alpine:3.14
RUN wget https://github.com/tianon/gosu/releases/download/1.12/gosu-armhf -O /usr/sbin/gosu \
&& chmod +x /usr/sbin/gosu \
&& echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
&& apk --no-cache --no-progress add \
bash \
ca-certificates \
curl \
git \
linux-pam \
openssh \
s6 \
shadow \
socat \
tzdata \
rsync
ENV GOGS_CUSTOM /data/gogs
# Configure LibC Name Service
COPY docker/nsswitch.conf /etc/nsswitch.conf
WORKDIR /app/gogs
COPY docker ./docker
COPY --from=binarybuilder /gogs.io/gogs/gogs .
RUN ./docker/finalize.sh
# Configure Docker Container
VOLUME ["/data", "/backup"]
EXPOSE 22 3000
HEALTHCHECK CMD (nc -z -w 3 localhost 22 && curl -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
ENTRYPOINT ["/app/gogs/docker/start.sh"]
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]

View File

@@ -1,17 +1,24 @@
# Docker for Gogs # Docker for Gogs
> [!WARNING]
> This is now the legacy Docker image that lacks modern security best practices. It will be published as `gogs/gogs:legacy-latest` starting 0.16.0, and be completely removed no earlier than 0.17.0.
>
> To use the next-generation, security-focused Docker image, see [docker-next/README.md](../docker-next/README.md).
> [!IMPORTANT]
> Image versions:
> - Every released version has its own tag , e.g., `gogs/gogs:0.13.4`, and a tag points to the latest patch of the minor version, e.g., `gogs/gogs:0.13`.
> - The `latest` tag is the image version built from the latest `main` branch.
![Docker pulls](https://img.shields.io/docker/pulls/gogs/gogs?logo=docker&style=for-the-badge) ![Docker pulls](https://img.shields.io/docker/pulls/gogs/gogs?logo=docker&style=for-the-badge)
Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs) to see all available images and tags. Visit [Docker Hub](https://hub.docker.com/u/gogs) or [GitHub Container registry](https://github.com/gogs/gogs/pkgs/container/gogs) to see all available images and tags.
## Usage ## Usage
Please use `gogs/gogs-rpi` if you're using Raspberry Pis!
To keep your data out of Docker container, we do a volume (`/var/gogs` -> `/data`) here, and you can change it based on your situation. To keep your data out of Docker container, we do a volume (`/var/gogs` -> `/data`) here, and you can change it based on your situation.
```sh ```sh
# Pull image from Docker Hub.
$ docker pull gogs/gogs $ docker pull gogs/gogs
# Create local directory for volume. # Create local directory for volume.
@@ -24,7 +31,7 @@ $ docker run --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs
$ docker start gogs $ docker start gogs
``` ```
Note: It is important to map the SSH service from the container to the host and set the appropriate SSH Port and URI settings when setting up Gogs for the first time. To access and clone Git repositories with the above configuration you would use: `git clone ssh://git@hostname:10022/username/myrepo.git` for example. > [!NOTE] It is important to map the SSH service from the container to the host and set the appropriate SSH Port and URI settings when setting up Gogs for the first time. To access and clone Git repositories with the above configuration you would use: `git clone ssh://git@hostname:10022/username/myrepo.git` for example.
Files will be store in local path `/var/gogs` in my case. Files will be store in local path `/var/gogs` in my case.
@@ -61,7 +68,7 @@ $ docker run --name=gogs -p 10022:22 -p 10880:3000 -v gogs-data:/data gogs/gogs
Most of the settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker: Most of the settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker:
- **Repository Root Path**: keep it as default value `/home/git/gogs-repositories` because `start.sh` already made a symbolic link for you. - **Repository Root Path**: keep it as default value `/home/git/gogs-repositories` because `start.sh` already made a symbolic link for you.
- **Run User**: keep it as default value `git` because `finalize.sh` already setup a user with name `git`. - **Run User**: keep it as default value `git` because `build/finalize.sh` already setup a user with name `git`.
- **Domain**: fill in with Docker container IP (e.g. `192.168.99.100`). But if you want to access your Gogs instance from a different physical machine, please fill in with the hostname or IP address of the Docker host machine. - **Domain**: fill in with Docker container IP (e.g. `192.168.99.100`). But if you want to access your Gogs instance from a different physical machine, please fill in with the hostname or IP address of the Docker host machine.
- **SSH Port**: Use the exposed port from Docker container. For example, your SSH server listens on `22` inside Docker, **but** you expose it by `10022:22`, then use `10022` for this value. **Builtin SSH server is not recommended inside Docker Container** - **SSH Port**: Use the exposed port from Docker container. For example, your SSH server listens on `22` inside Docker, **but** you expose it by `10022:22`, then use `10022` for this value. **Builtin SSH server is not recommended inside Docker Container**
- **HTTP Port**: Use port you want Gogs to listen on inside Docker container. For example, your Gogs listens on `3000` inside Docker, **and** you expose it by `10880:3000`, but you still use `3000` for this value. - **HTTP Port**: Use port you want Gogs to listen on inside Docker container. For example, your Gogs listens on `3000` inside Docker, **and** you expose it by `10880:3000`, but you still use `3000` for this value.
@@ -122,6 +129,14 @@ This container has some options available via environment variables, these optio
- <u>Action:</u> - <u>Action:</u>
Used by backup system. If defined, supplies `--exclude-repos` argument to `gogs backup`.\ Used by backup system. If defined, supplies `--exclude-repos` argument to `gogs backup`.\
See: [Backup System](#backup-system) See: [Backup System](#backup-system)
- **BACKUP_EXTRA_ARGS**:
- <u>Possible value:</u>
`--verbose --exclude-mirror-repos`
- <u>Default:</u>
`null`
- <u>Action:</u>
Used by backup system. If defined, append content to arguments to `gogs backup`.\
See: [Backup System](#backup-system)
## Backup system ## Backup system
@@ -132,14 +147,15 @@ Automated backups with retention policy:
## Upgrade ## Upgrade
:exclamation::exclamation::exclamation:<span style="color: red">**Make sure you have volumed data to somewhere outside Docker container**</span>:exclamation::exclamation::exclamation: > [!CAUTION]
> Make sure you have volumed data to somewhere outside Docker container!
Steps to upgrade Gogs with Docker: Steps to upgrade Gogs with Docker:
- `docker pull gogs/gogs` - `docker pull gogs/gogs`
- `docker stop gogs` - `docker stop gogs`
- `docker rm gogs` - `docker rm gogs`
- Finally, create a container for the first time and don't forget to do the same for the volume and port mapping. - Create a container for the first time and don't forget to do the same for the volume and port mapping.
## Known issues ## Known issues

30
docker/build/finalize.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/sh
set -xe
# Install gosu
if [ "$(uname -m)" = "aarch64" ]; then
export arch='arm64'
export checksum='c3805a85d17f4454c23d7059bcb97e1ec1af272b90126e79ed002342de08389b'
elif [ "$(uname -m)" = "armv7l" ]; then
export arch='armhf'
export checksum='e5866286277ff2a2159fb9196fea13e0a59d3f1091ea46ddb985160b94b6841b'
else
export arch='amd64'
export checksum='bbc4136d03ab138b1ad66fa4fc051bafc6cc7ffae632b069a53657279a450de3'
fi
wget --quiet https://github.com/tianon/gosu/releases/download/1.17/gosu-${arch} -O /usr/sbin/gosu
echo "${checksum} /usr/sbin/gosu" | sha256sum -cs
chmod +x /usr/sbin/gosu
# Create git user for Gogs
addgroup -S git
adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
# Final cleaning
rm -rf /app/gogs/build
rm -rf /app/gogs/docker/build
rm /app/gogs/docker/nsswitch.conf
rm /app/gogs/docker/README.md

20
docker/build/install-task.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/sh
set -xe
if [ "$(uname -m)" = "aarch64" ]; then
export arch='arm64'
export checksum='17f325293d08f6f964e0530842e9ef1410dd5f83ee6475b493087391032b0cfd'
elif [ "$(uname -m)" = "armv7l" ]; then
export arch='arm'
export checksum='e5b0261e9f6563ce3ace9e038520eb59d2c77c8d85f2b47ab41e1fe7cf321528'
else
export arch='amd64'
export checksum='a35462ec71410cccfc428072de830e4478bc57a919d0131ef7897759270dff8f'
fi
wget --quiet https://github.com/go-task/task/releases/download/v3.40.1/task_linux_${arch}.tar.gz -O task_linux_${arch}.tar.gz
echo "${checksum} task_linux_${arch}.tar.gz" | sha256sum -cs
tar -xzf task_linux_${arch}.tar.gz
mv task /usr/local/bin/task

View File

@@ -1,16 +0,0 @@
#!/bin/sh
# Finalize the build
set -x
set -e
# Create git user for Gogs
addgroup -S git
adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
# Final cleaning
rm -rf /app/gogs/build
rm /app/gogs/docker/finalize.sh
rm /app/gogs/docker/nsswitch.conf
rm /app/gogs/docker/README.md

View File

@@ -4,6 +4,7 @@ execute_backup_job() {
BACKUP_ARG_PATH="${1:-}" BACKUP_ARG_PATH="${1:-}"
BACKUP_ARG_CONFIG="${BACKUP_ARG_CONFIG:-}" BACKUP_ARG_CONFIG="${BACKUP_ARG_CONFIG:-}"
BACKUP_ARG_EXCLUDE_REPOS="${BACKUP_ARG_EXCLUDE_REPOS:-}" BACKUP_ARG_EXCLUDE_REPOS="${BACKUP_ARG_EXCLUDE_REPOS:-}"
BACKUP_EXTRA_ARGS="${BACKUP_EXTRA_ARGS:-}"
cd "/app/gogs" || exit 1 cd "/app/gogs" || exit 1
BACKUP_ARGS="--target=${BACKUP_ARG_PATH}" BACKUP_ARGS="--target=${BACKUP_ARG_PATH}"
@@ -16,7 +17,13 @@ execute_backup_job() {
BACKUP_ARGS="${BACKUP_ARGS} --exclude-repos=${BACKUP_ARG_EXCLUDE_REPOS}" BACKUP_ARGS="${BACKUP_ARGS} --exclude-repos=${BACKUP_ARG_EXCLUDE_REPOS}"
fi fi
./gogs backup "${BACKUP_ARGS}" || echo "Error: Backup job returned non-successful code." && exit 1 if [ -n "${BACKUP_EXTRA_ARGS}" ]; then
BACKUP_ARGS="${BACKUP_ARGS} ${BACKUP_EXTRA_ARGS}"
fi
# NOTE: We actually need word splitting to be able to pass multiple arguments.
# shellcheck disable=SC2086
./gogs backup ${BACKUP_ARGS} || echo "Error: Backup job returned non-successful code." && exit 1
} }
main() { main() {

View File

@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# Cleanup SOCAT services and s6 event folder # Cleanup SOCAT services and s6 event folder
rm -rf "$(find /app/gogs/docker/s6/ -name 'event')" rm -rf "$(find /app/gogs/docker/s6/ -name 'event')"
rm -rf /app/gogs/docker/s6/SOCAT_* rm -rf /app/gogs/docker/s6/SOCAT_*

View File

@@ -6,7 +6,7 @@ create_socat_links() {
while read -r NAME ADDR PORT; do while read -r NAME ADDR PORT; do
if test -z "$NAME$ADDR$PORT"; then if test -z "$NAME$ADDR$PORT"; then
continue continue
elif echo $USED_PORT | grep -E "(^|:)$PORT($|:)" > /dev/null; then elif echo "$USED_PORT" | grep -E "(^|:)$PORT($|:)" > /dev/null; then
echo "init:socat | Can't bind linked container ${NAME} to localhost, port ${PORT} already in use" 1>&2 echo "init:socat | Can't bind linked container ${NAME} to localhost, port ${PORT} already in use" 1>&2
else else
SERV_FOLDER=/app/gogs/docker/s6/SOCAT_${NAME}_${PORT} SERV_FOLDER=/app/gogs/docker/s6/SOCAT_${NAME}_${PORT}
@@ -79,5 +79,5 @@ fi
if [ $# -gt 0 ];then if [ $# -gt 0 ];then
exec "$@" exec "$@"
else else
exec /bin/s6-svscan /app/gogs/docker/s6/ exec /usr/bin/s6-svscan /app/gogs/docker/s6/
fi fi

26
docs/README.md Normal file
View File

@@ -0,0 +1,26 @@
## Development
Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally. To install, use the following command:
```
pnpm i -g mint
```
Run the following command at the root of your documentation, where your `docs.json` is located:
```
mint dev
```
View your local preview at `http://localhost:3000`.
## Need help?
### Troubleshooting
- If your dev environment isn't running: Run `mint update` to ensure you have the most recent version of the CLI.
- If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`.
### Resources
- [Mintlify documentation](https://mintlify.com/docs)

View File

@@ -1,21 +0,0 @@
# Configuring Git Large File Storage (LFS)
> NOTE: Git LFS is supported in Gogs starting with version 0.12.
Git LFS works out of box with default configuration for any supported versions.
## Known limitations
- Only local storage is supported (i.e. all LFS objects are stored on the same server where Gogs runs), support of Object Storage Service like Amazon S3 is being tracked in [#6065](https://github.com/gogs/gogs/issues/6065).
## Configuration
All configuration options for Git LFS are located in [`[lfs]` section](https://github.com/gogs/gogs/blob/44ea9604ed7440c2cf1105d965c2429ee225e8f6/conf/app.ini#L266-L270):
```ini
[lfs]
; The storage backend for uploading new objects.
STORAGE = local
; The root path to store LFS objects on local file system.
OBJECTS_PATH = data/lfs-objects
```

Some files were not shown because too many files have changed in this diff Show More