Skip to content

Commit ceae9c4

Browse files
committed
Merge remote-tracking branch 'giteaofficial/main'
* giteaofficial/main: [skip ci] Updated translations via Crowdin Fix some broken route handlers (go-gitea#33268) Add a confirm dialog for "sync fork" (go-gitea#33270) Fix sidebar milestone link (go-gitea#33269) Refactor ref type (go-gitea#33242) Fix 500 error when error occurred in migration page (go-gitea#33256) Fix missing license when sync mirror (go-gitea#33255)
2 parents 589d5fc + cbf933e commit ceae9c4

32 files changed

+176
-178
lines changed

models/repo/license.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ func UpdateRepoLicenses(ctx context.Context, repo *Repository, commitID string,
5454
for _, o := range oldLicenses {
5555
// Update already existing license
5656
if o.License == license {
57+
o.CommitID = commitID
5758
if _, err := db.GetEngine(ctx).ID(o.ID).Cols("`commit_id`").Update(o); err != nil {
5859
return err
5960
}

models/unittest/fscopy.go

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,13 @@ import (
1111
"code.gitea.io/gitea/modules/util"
1212
)
1313

14-
// Copy copies file from source to target path.
15-
func Copy(src, dest string) error {
16-
// Gather file information to set back later.
17-
si, err := os.Lstat(src)
18-
if err != nil {
19-
return err
20-
}
21-
22-
// Handle symbolic link.
23-
if si.Mode()&os.ModeSymlink != 0 {
24-
target, err := os.Readlink(src)
25-
if err != nil {
26-
return err
27-
}
28-
// NOTE: os.Chmod and os.Chtimes don't recognize symbolic link,
29-
// which will lead "no such file or directory" error.
30-
return os.Symlink(target, dest)
31-
}
32-
33-
return util.CopyFile(src, dest)
34-
}
35-
36-
// Sync synchronizes the two files. This is skipped if both files
14+
// SyncFile synchronizes the two files. This is skipped if both files
3715
// exist and the size, modtime, and mode match.
38-
func Sync(srcPath, destPath string) error {
16+
func SyncFile(srcPath, destPath string) error {
3917
dest, err := os.Stat(destPath)
4018
if err != nil {
4119
if os.IsNotExist(err) {
42-
return Copy(srcPath, destPath)
20+
return util.CopyFile(srcPath, destPath)
4321
}
4422
return err
4523
}
@@ -55,7 +33,7 @@ func Sync(srcPath, destPath string) error {
5533
return nil
5634
}
5735

58-
return Copy(srcPath, destPath)
36+
return util.CopyFile(srcPath, destPath)
5937
}
6038

6139
// SyncDirs synchronizes files recursively from source to target directory.
@@ -66,23 +44,31 @@ func SyncDirs(srcPath, destPath string) error {
6644
return err
6745
}
6846

47+
// the keep file is used to keep the directory in a git repository, it doesn't need to be synced
48+
// and go-git doesn't work with the ".keep" file (it would report errors like "ref is empty")
49+
const keepFile = ".keep"
50+
6951
// find and delete all untracked files
7052
destFiles, err := util.ListDirRecursively(destPath, &util.ListDirOptions{IncludeDir: true})
7153
if err != nil {
7254
return err
7355
}
7456
for _, destFile := range destFiles {
7557
destFilePath := filepath.Join(destPath, destFile)
58+
shouldRemove := filepath.Base(destFilePath) == keepFile
7659
if _, err = os.Stat(filepath.Join(srcPath, destFile)); err != nil {
7760
if os.IsNotExist(err) {
78-
// if src file does not exist, remove dest file
79-
if err = os.RemoveAll(destFilePath); err != nil {
80-
return err
81-
}
61+
shouldRemove = true
8262
} else {
8363
return err
8464
}
8565
}
66+
// if src file does not exist, remove dest file
67+
if shouldRemove {
68+
if err = os.RemoveAll(destFilePath); err != nil {
69+
return err
70+
}
71+
}
8672
}
8773

8874
// sync src files to dest
@@ -95,8 +81,8 @@ func SyncDirs(srcPath, destPath string) error {
9581
// util.ListDirRecursively appends a slash to the directory name
9682
if strings.HasSuffix(srcFile, "/") {
9783
err = os.MkdirAll(destFilePath, os.ModePerm)
98-
} else {
99-
err = Sync(filepath.Join(srcPath, srcFile), destFilePath)
84+
} else if filepath.Base(destFilePath) != keepFile {
85+
err = SyncFile(filepath.Join(srcPath, srcFile), destFilePath)
10086
}
10187
if err != nil {
10288
return err

options/locale/locale_cs-CZ.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2155,7 +2155,6 @@ settings.advanced_settings=Pokročilá nastavení
21552155
settings.wiki_desc=Povolit Wiki repozitáře
21562156
settings.use_internal_wiki=Používat vestavěnou Wiki
21572157
settings.default_wiki_branch_name=Výchozí název větve Wiki
2158-
settings.default_wiki_everyone_access=Výchozí přístupová práva pro přihlášené uživatele:
21592158
settings.failed_to_change_default_wiki_branch=Změna výchozí větve wiki se nezdařila.
21602159
settings.use_external_wiki=Používat externí Wiki
21612160
settings.external_wiki_url=URL externí Wiki

options/locale/locale_de-DE.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2151,7 +2151,6 @@ settings.advanced_settings=Erweiterte Einstellungen
21512151
settings.wiki_desc=Repository-Wiki aktivieren
21522152
settings.use_internal_wiki=Eingebautes Wiki verwenden
21532153
settings.default_wiki_branch_name=Standardbezeichnung für Wiki-Branch
2154-
settings.default_wiki_everyone_access=Standard-Zugriffsberechtigung für angemeldete Benutzer:
21552154
settings.failed_to_change_default_wiki_branch=Das Ändern des Standard-Wiki-Branches ist fehlgeschlagen.
21562155
settings.use_external_wiki=Externes Wiki verwenden
21572156
settings.external_wiki_url=Externe Wiki-URL

options/locale/locale_en-US.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,6 +1953,7 @@ pulls.upstream_diverging_prompt_behind_1 = This branch is %[1]d commit behind %[
19531953
pulls.upstream_diverging_prompt_behind_n = This branch is %[1]d commits behind %[2]s
19541954
pulls.upstream_diverging_prompt_base_newer = The base branch %s has new changes
19551955
pulls.upstream_diverging_merge = Sync fork
1956+
pulls.upstream_diverging_merge_confirm = Would you like to merge base repository's default branch onto this repository's branch %s?
19561957

19571958
pull.deleted_branch = (deleted):%s
19581959
pull.agit_documentation = Review documentation about AGit

options/locale/locale_fr-FR.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2156,7 +2156,6 @@ settings.advanced_settings=Paramètres avancés
21562156
settings.wiki_desc=Activer le wiki du dépôt
21572157
settings.use_internal_wiki=Utiliser le wiki interne
21582158
settings.default_wiki_branch_name=Nom de la branche du Wiki par défaut
2159-
settings.default_wiki_everyone_access=Autorisation d’accès par défaut pour les utilisateurs connectés :
21602159
settings.failed_to_change_default_wiki_branch=Impossible de modifier la branche du wiki par défaut.
21612160
settings.use_external_wiki=Utiliser un wiki externe
21622161
settings.external_wiki_url=URL Wiki externe

options/locale/locale_ga-IE.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1115,6 +1115,7 @@ blame.ignore_revs=Ag déanamh neamhairde de leasuithe i <a href="%s">.git-blame-
11151115
blame.ignore_revs.failed=Theip ar neamhaird a dhéanamh ar leasuithe i <a href="%s">.git-blame-ignore-revs</a>.
11161116
user_search_tooltip=Taispeáint uasmhéid de 30 úsáideoir
11171117
1118+
tree_path_not_found=Níl cosán %[1]s ann i %[2]s
11181119
11191120
transfer.accept=Glac le hAistriú
11201121
transfer.accept_desc=Aistriú chuig “%s”
@@ -2156,7 +2157,6 @@ settings.advanced_settings=Ardsocruithe
21562157
settings.wiki_desc=Cumasaigh Stór Vicí
21572158
settings.use_internal_wiki=Úsáid Vicí Insuite
21582159
settings.default_wiki_branch_name=Ainm Brainse Réamhshocraithe Vicí
2159-
settings.default_wiki_everyone_access=Cead Rochtana Réamhshocraithe d'úsáideoirí sínithe isteach:
21602160
settings.failed_to_change_default_wiki_branch=Theip ar an brainse réamhshocraithe vicí a athrú.
21612161
settings.use_external_wiki=Úsáid Vicí Seachtrach
21622162
settings.external_wiki_url=URL Vicí Seachtrach

options/locale/locale_ja-JP.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2145,7 +2145,6 @@ settings.advanced_settings=拡張設定
21452145
settings.wiki_desc=Wikiを有効にする
21462146
settings.use_internal_wiki=ビルトインのWikiを使用する
21472147
settings.default_wiki_branch_name=デフォルトのWikiブランチ名
2148-
settings.default_wiki_everyone_access=サインインユーザーのデフォルトのアクセス権限:
21492148
settings.failed_to_change_default_wiki_branch=デフォルトのWikiブランチを変更できませんでした。
21502149
settings.use_external_wiki=外部のWikiを使用する
21512150
settings.external_wiki_url=外部WikiのURL

options/locale/locale_pt-PT.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ path=Localização
261261
sqlite_helper=Localização do ficheiro da base de dados em SQLite3.<br>Insira um caminho absoluto se corre o Gitea como um serviço.
262262
reinstall_error=Está a tentar instalar numa base de dados do Gitea já existente
263263
reinstall_confirm_message=Reinstalar com uma base de dados do Gitea já existente pode causar múltiplos problemas. Na maioria dos casos deve usar o seu "app.ini" existente para correr o Gitea. Se souber o que está a fazer, confirme o seguinte:
264-
reinstall_confirm_check_1=Os dados encriptados pela chave secreta (SECRET_KEY) no ficheiro app.ini poderão ser perdidos: utilizadores poderão não ser capazes de iniciar a sessão com autenticação em dois passos (2FA) ou com chaves de utilização única (OTP) e as réplicas poderão deixar de funcionar em condições. Ao marcar esta opção estará a confirmar que o ficheiro app.ini vigente contém a SECRET_KEY certa.
264+
reinstall_confirm_check_1=Os dados encriptados pela chave secreta (SECRET_KEY) no ficheiro app.ini poderão ser perdidos: utilizadores poderão não ser capazes de iniciar a sessão com autenticação em dois passos (2FA) ou com chaves de utilização única (OTP) e as réplicas poderão deixar de funcionar em boas condições. Ao marcar esta opção estará a confirmar que o ficheiro app.ini vigente contém a SECRET_KEY certa.
265265
reinstall_confirm_check_2=Os repositórios e as configurações poderão ter de voltar a ser sincronizados. Ao marcar esta opção estará a confirmar que vai voltar a sincronizar manualmente os automatismos para os repositórios e o ficheiro authorized_keys. Estará também a confirmar que vai assegurar que as configurações do repositório e das réplicas estão em condições.
266266
reinstall_confirm_check_3=Você confirma que tem a certeza absoluta de que este Gitea está a correr com a localização certa do ficheiro app.ini e que tem a certeza de que tem de voltar a instalar. Você confirma que tomou conhecimento dos riscos acima descritos.
267267
err_empty_db_path=A localização da base de dados SQLite3 não pode estar vazia.
@@ -1051,7 +1051,7 @@ generate_from=Gerar a partir de
10511051
repo_desc=Descrição
10521052
repo_desc_helper=Insira uma descrição curta (opcional)
10531053
repo_no_desc=Descrição não fornecida
1054-
repo_lang=Idiomas
1054+
repo_lang=Linguagens
10551055
repo_gitignore_helper=Escolher modelos .gitignore.
10561056
repo_gitignore_helper_desc=Escolha os ficheiros que não são para rastrear, a partir de uma lista de modelos de linguagens comuns. Serão incluídos no ficheiro .gitignore, logo à partida, artefactos típicos gerados pelas ferramentas de construção de cada uma das linguagens.
10571057
issue_labels=Rótulos para as questões
@@ -1115,6 +1115,7 @@ blame.ignore_revs=Ignorando as revisões em <a href="%s">.git-blame-ignore-revs<
11151115
blame.ignore_revs.failed=Falhou ao ignorar as revisões em <a href="%s">.git-blame-ignore-revs</a>.
11161116
user_search_tooltip=Mostra um máximo de 30 utilizadores
11171117

1118+
tree_path_not_found=A localização %[1]s não existe em %[2]s
11181119

11191120
transfer.accept=Aceitar transferência
11201121
transfer.accept_desc=`Transferir para "%s"`
@@ -2156,7 +2157,6 @@ settings.advanced_settings=Configurações avançadas
21562157
settings.wiki_desc=Habilitar wiki do repositório
21572158
settings.use_internal_wiki=Usar o wiki integrado
21582159
settings.default_wiki_branch_name=Nome do ramo predefinido do wiki
2159-
settings.default_wiki_everyone_access=Permissão de acesso predefinida para utilizadores registados:
21602160
settings.failed_to_change_default_wiki_branch=Falhou ao mudar o nome do ramo predefinido do wiki.
21612161
settings.use_external_wiki=Usar um wiki externo
21622162
settings.external_wiki_url=URL do wiki externo

options/locale/locale_tr-TR.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2080,7 +2080,6 @@ settings.advanced_settings=Gelişmiş Ayarlar
20802080
settings.wiki_desc=Depo Wiki'sini Etkinkleştir
20812081
settings.use_internal_wiki=Dahili Wiki Kullan
20822082
settings.default_wiki_branch_name=Varsayılan Viki Dal Adı
2083-
settings.default_wiki_everyone_access=Oturum açmış kullanıcılar için Varsayılan Erişim İzinleri:
20842083
settings.failed_to_change_default_wiki_branch=Varsayılan viki dalı değiştirilemedi.
20852084
settings.use_external_wiki=Harici Wiki Kullan
20862085
settings.external_wiki_url=Harici Wiki bağlantısı

options/locale/locale_zh-CN.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2151,7 +2151,6 @@ settings.advanced_settings=高级设置
21512151
settings.wiki_desc=启用仓库百科
21522152
settings.use_internal_wiki=使用内置百科
21532153
settings.default_wiki_branch_name=默认百科分支名称
2154-
settings.default_wiki_everyone_access=登录用户的默认访问权限:
21552154
settings.failed_to_change_default_wiki_branch=更改百科默认分支失败。
21562155
settings.use_external_wiki=使用外部百科
21572156
settings.external_wiki_url=外部 Wiki 链接

options/locale/locale_zh-TW.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2142,7 +2142,6 @@ settings.advanced_settings=進階設定
21422142
settings.wiki_desc=啟用儲存庫 Wiki
21432143
settings.use_internal_wiki=使用內建 Wiki
21442144
settings.default_wiki_branch_name=預設 Wiki 分支名稱
2145-
settings.default_wiki_everyone_access=登入使用者的預設存取權限:
21462145
settings.failed_to_change_default_wiki_branch=更改預設 Wiki 分支失敗。
21472146
settings.use_external_wiki=使用外部 Wiki
21482147
settings.external_wiki_url=外部 Wiki 連結

routers/web/repo/repo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func MustBeNotEmpty(ctx *context.Context) {
5151

5252
// MustBeEditable check that repo can be edited
5353
func MustBeEditable(ctx *context.Context) {
54-
if !ctx.Repo.Repository.CanEnableEditor() || ctx.Repo.IsViewCommit {
54+
if !ctx.Repo.Repository.CanEnableEditor() {
5555
ctx.NotFound("", nil)
5656
return
5757
}

routers/web/repo/view_home.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ func handleRepoEmptyOrBroken(ctx *context.Context) {
249249
} else if reallyEmpty {
250250
showEmpty = true // the repo is really empty
251251
updateContextRepoEmptyAndStatus(ctx, true, repo_model.RepositoryReady)
252-
} else if ctx.Repo.Commit == nil {
252+
} else if branches, _, _ := ctx.Repo.GitRepo.GetBranches(0, 1); len(branches) == 0 {
253253
showEmpty = true // it is not really empty, but there is no branch
254254
// at the moment, other repo units like "actions" are not able to handle such case,
255255
// so we just mark the repo as empty to prevent from displaying these units.

0 commit comments

Comments
 (0)