parent
							
								
									a47baa1b7a
								
							
						
					
					
						commit
						04be8c0de5
					
				
					 22 changed files with 100 additions and 60 deletions
				
			
		|  | @ -3,7 +3,7 @@ Gogs - Go Git Service [ | ||||
| 
 | ||||
| ##### Current version: 0.8.28 | ||||
| ##### Current version: 0.8.29 | ||||
| 
 | ||||
| | Web | UI  | Preview  | | ||||
| |:-------------:|:-------:|:-------:| | ||||
|  |  | |||
|  | @ -28,6 +28,7 @@ Juraj Bubniak <contact AT jbub DOT eu> | |||
| Lafriks <lafriks AT gmail DOT com> | ||||
| Lauri Ojansivu <x AT xet7 DOT org> | ||||
| Luc Stepniewski <luc AT stepniewski DOT fr> | ||||
| Luca Kröger <l DOT kroeger01 AT gmail DOT com> | ||||
| Marc Schiller <marc AT schiller DOT im> | ||||
| Miguel de la Cruz <miguel AT mcrx DOT me> | ||||
| Mikhail Burdin <xdshot9000 AT gmail DOT com> | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Името на хранилището вече се пол | |||
| org_name_been_taken=Името на организацията вече се ползва. | ||||
| team_name_been_taken=Името на екипа вече се ползва. | ||||
| email_been_used=Този адрес на ел. поща вече се ползва. | ||||
| illegal_team_name=Името на екипа съдържа недопустими знаци. | ||||
| username_password_incorrect=Потребителското име или паролата не са верни. | ||||
| enterred_invalid_repo_name=Моля уверете се, че въведеното име на хранилище е вярно. | ||||
| enterred_invalid_owner_name=Моля уверете се, че въведеното име на притежател е вярно. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Промяна на етикет | |||
| issues.label_deletion=Изтрий етикет | ||||
| issues.label_deletion_desc=При изтриване на този етикет ще се премахне информацията за него във всички свързани задачи. Желаете ли да продължите? | ||||
| issues.label_deletion_success=Етикетът е изтрит успешно! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Нова заявка за сливане | ||||
| pulls.compare_changes=Сравни промените | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Repository-Name ist bereits vergeben. | |||
| org_name_been_taken=Organisationsname ist bereits vergeben. | ||||
| team_name_been_taken=Teamname ist bereits vergeben. | ||||
| email_been_used=E-Mail-Adresse wird bereits verwendet. | ||||
| illegal_team_name=Teamname enthält ungültige Zeichen. | ||||
| username_password_incorrect=Benutzername oder Passwort ist nicht korrekt. | ||||
| enterred_invalid_repo_name=Bitte stelle sicher, dass der eingegebene Repository-Name richtig ist. | ||||
| enterred_invalid_owner_name=Bitte stelle sicher, dass der eingegebene Besitzername richtig ist. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Label Änderung | |||
| issues.label_deletion=Label Löschung | ||||
| issues.label_deletion_desc=Das Löschen eines Labels entfernt es von allen verknüpften Issues. Möchtest du fortfahren? | ||||
| issues.label_deletion_success=Label wurde erfolgreich gelöscht! | ||||
| issues.num_participants=%d Beteiligte | ||||
| 
 | ||||
| pulls.new=Neuer Pull-Request | ||||
| pulls.compare_changes=Änderungen vergleichen | ||||
|  |  | |||
|  | @ -818,6 +818,8 @@ dashboard.resync_all_sshkeys = Rewrite '.ssh/authorized_keys' file (caution: non | |||
| dashboard.resync_all_sshkeys_success = All public keys have been rewritten successfully. | ||||
| dashboard.resync_all_update_hooks = Rewrite all update hook of repositories (needed when custom config path is changed) | ||||
| dashboard.resync_all_update_hooks_success = All repositories' update hook have been rewritten successfully. | ||||
| dashboard.reinit_missing_repos = Reinitialize all repository records that lost Git files | ||||
| dashboard.reinit_missing_repos_success = All repository records that lost Git files have been reinitialized successfully. | ||||
| 
 | ||||
| dashboard.server_uptime = Server Uptime | ||||
| dashboard.current_goroutine = Current Goroutines | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Ya existe un repositorio con este nombre. | |||
| org_name_been_taken=Ya existe una organización con este nombre. | ||||
| team_name_been_taken=Ya existe un equipo con este nombre. | ||||
| email_been_used=Esta dirección de correo electrónico ya está en uso. | ||||
| illegal_team_name=El nombre del equipo contiene caracteres inválidos. | ||||
| username_password_incorrect=Nombre de usuario o contraseña incorrectos. | ||||
| enterred_invalid_repo_name=Por favor, asegúrate de que has introducido correctamente el nombre del repositorio. | ||||
| enterred_invalid_owner_name=Por favor, asegúrate de que has introducido correctamente el nombre del propietario. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Edición de Etiqueta | |||
| issues.label_deletion=Borrado de Etiqueta | ||||
| issues.label_deletion_desc=Al borrar la etiqueta su información será eliminada de todas las incidencias relacionadas. Desea continuar? | ||||
| issues.label_deletion_success=Etiqueta borrada con éxito! | ||||
| issues.num_participants=%d participantes | ||||
| 
 | ||||
| pulls.new=Nuevo Pull Request | ||||
| pulls.compare_changes=Comparar Cambios | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Nom de dépôt déjà utilisé. | |||
| org_name_been_taken=Nom d'organisation déjà pris. | ||||
| team_name_been_taken=Nom d'équipe déjà pris. | ||||
| email_been_used=Adresse e-mail déjà utilisée. | ||||
| illegal_team_name=Le nom de l'équipe contient des caractères interdits. | ||||
| username_password_incorrect=Nom d'utilisateur ou mot de passe incorrect. | ||||
| enterred_invalid_repo_name=Veuillez vérifier que le nom saisi du dépôt soit correct. | ||||
| enterred_invalid_owner_name=Veuillez vérifier que le nom du propriétaire saisi soit correct. | ||||
|  | @ -459,7 +458,7 @@ issues.filter_sort.recentupdate=Mis à jour récemment | |||
| issues.filter_sort.leastupdate=Moins récemment mis à jour | ||||
| issues.filter_sort.mostcomment=Les plus commentés | ||||
| issues.filter_sort.leastcomment=Les moins commentés | ||||
| issues.opened_by=Ouvrir %[1]s by <a href="%[2]s">%[3]s</a> | ||||
| issues.opened_by=Créé %[1]s par <a href="%[2]s">%[3]s</a> | ||||
| issues.opened_by_fake=ouvert %[1]s par %[2]s | ||||
| issues.previous=Page Précédente | ||||
| issues.next=Page Suivante | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Modification du Label | |||
| issues.label_deletion=Suppression du Label | ||||
| issues.label_deletion_desc=Cette opération supprimera également toutes les informations relatives aux problèmes. Voulez-vous continuer ? | ||||
| issues.label_deletion_success=Label supprimé avec succès ! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Nouvelle Pull Request | ||||
| pulls.compare_changes=Comparer les changements | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Il nome del Repository è già utilizzato. | |||
| org_name_been_taken=Il nome dell'Organizzazione è già utlizzato. | ||||
| team_name_been_taken=Il nome del Team è già utilizzato. | ||||
| email_been_used=L'indirizzo E-mail è già utilizzato. | ||||
| illegal_team_name=Il nome del Team contiene caratteri non validi. | ||||
| username_password_incorrect=Nome utente o password incorretti. | ||||
| enterred_invalid_repo_name=Si prega di assicurarsi che il nome del repository inserito sia corretto. | ||||
| enterred_invalid_owner_name=Si prega di assicurarsi che il nome del proprietario inserito sia corretto. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Modifica Etichetta | |||
| issues.label_deletion=Elimina Etichetta | ||||
| issues.label_deletion_desc=Eliminare l'etichetta rimuovera le sue informazioni in tutti i problemi correlati. Vuoi continuare? | ||||
| issues.label_deletion_success=Etichetta eliminata con successo! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Nuova Pull Request | ||||
| pulls.compare_changes=Confronta le modifiche | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=リポジトリ名は既に使用されています。 | |||
| org_name_been_taken=組織名は既に使用されています。 | ||||
| team_name_been_taken=チーム名は既に使用されています。 | ||||
| email_been_used=電子メール アドレスは既に使用されています。 | ||||
| illegal_team_name=チーム名に無効な文字が含まれています。 | ||||
| username_password_incorrect=ユーザー名またはパスワードが正しくありません。 | ||||
| enterred_invalid_repo_name=入力したリポジトリの名前が正しいかどうかを確認してください。 | ||||
| enterred_invalid_owner_name=入力された所有者名が正しいかどうかを確認してください。 | ||||
|  | @ -377,7 +376,7 @@ migrate.permission_denied=ローカル リポジトリをインポートする | |||
| migrate.invalid_local_path=ローカルパスが無効です。存在しないかディレクトリではありません。 | ||||
| migrate.failed=移行に失敗しました: %v | ||||
| 
 | ||||
| mirror_from=mirror from | ||||
| mirror_from=mirror of | ||||
| forked_from=フォーク元 | ||||
| fork_from_self=すでにあなたの所有しているリポジトリはフォークできません | ||||
| copy_link=コピー | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=ラベルの変更 | |||
| issues.label_deletion=ラベルの削除 | ||||
| issues.label_deletion_desc=ラベルを削除すると、関連するすべての問題の情報が削除されます。続行しますか。 | ||||
| issues.label_deletion_success=ラベルは正常に削除されました。 | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=新しいプルリクエスト | ||||
| pulls.compare_changes=変更を比較 | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Repozitorija vārds ir jau aizņemts. | |||
| org_name_been_taken=Organizācijas nosaukums ir jau aizņemts. | ||||
| team_name_been_taken=Komandas nosaukums ir jau aizņemts. | ||||
| email_been_used=E-pasta adrese jau tiek izmantota. | ||||
| illegal_team_name=Grupas nosaukums satur neatļautas rakstzīmes. | ||||
| username_password_incorrect=Lietotājvārds vai parole nav pareiza. | ||||
| enterred_invalid_repo_name=Lūdzu, pārliecinieties, vai ievadītā repozitorija nosaukums ir pareizs. | ||||
| enterred_invalid_owner_name=Lūdzu, pārliecinieties, vai ievadītā īpašnieka vārds ir pareizs. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Etiķetes labošana | |||
| issues.label_deletion=Etiķetes dzēšana | ||||
| issues.label_deletion_desc=Dzēšot šo etiķeti, tā tiks noņemta no visām saistītajām problēmām. Vai vēlaties turpināt? | ||||
| issues.label_deletion_success=Etiķete tika veiksmīgi izdzēsta! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Jauns izmaiņu pieprasījums | ||||
| pulls.compare_changes=Salīdzināt izmaiņas | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Repositorie naam is al in gebruik. | |||
| org_name_been_taken=Organisatie naam is al in gebruik. | ||||
| team_name_been_taken=Team naam is al in gebruik. | ||||
| email_been_used=e-mailadres is al in gebruik. | ||||
| illegal_team_name=Team naam bevat illegale karakters. | ||||
| username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct. | ||||
| enterred_invalid_repo_name=U heeft een onjuiste repositorie naam ingevoerd. | ||||
| enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Wijzig label | |||
| issues.label_deletion=Verwijder label | ||||
| issues.label_deletion_desc=Het verwijderen van dit label zal alle informatie in de gerelateerde problemen verwijderen. Wilt u doorgaan? | ||||
| issues.label_deletion_success=Label werd met succes verwijderd! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Nieuwe Pull aanvraag | ||||
| pulls.compare_changes=Vergelijk veranderingen | ||||
|  | @ -546,7 +546,7 @@ milestones.deletion_desc=Het verwijderen van dit label zal alle informatie in de | |||
| milestones.deletion_success=Mijlpaal is met succes verwijderd! | ||||
| 
 | ||||
| wiki=Wiki | ||||
| wiki.welcome=Welcome to Wiki! | ||||
| wiki.welcome=Welkom op de Wiki! | ||||
| wiki.welcome_desc=Wiki is the place where you would like to document your project together and make it better. | ||||
| wiki.create_first_page=Maak de eerste pagina | ||||
| wiki.page=Pagina | ||||
|  | @ -554,9 +554,9 @@ wiki.filter_page=Filter pagina | |||
| wiki.new_page=Maak nieuwe pagina | ||||
| wiki.default_commit_message=Schrijf een notitie over deze aanpassing (optioneel). | ||||
| wiki.save_page=Pagina opslaan | ||||
| wiki.last_commit_info=%s edited this page %s | ||||
| wiki.last_commit_info=%s heeft deze pagina aangepast %s | ||||
| wiki.edit_page_button=Bewerken | ||||
| wiki.new_page_button=New Page | ||||
| wiki.new_page_button=Nieuwe pagina | ||||
| wiki.page_already_exists=Wiki page with same name already exists. | ||||
| wiki.pages=Pages | ||||
| wiki.last_updated=Last updated %s | ||||
|  | @ -570,7 +570,7 @@ settings.basic_settings=Basis instellingen | |||
| settings.site=Officiële site | ||||
| settings.update_settings=Instellingen bewerken | ||||
| settings.change_reponame_prompt=This change will affect how links relate to the repository. | ||||
| settings.advanced_settings=Advanced Settings | ||||
| settings.advanced_settings=Geavanceerde opties | ||||
| settings.wiki_desc=Enable wiki to allow people write documents | ||||
| settings.use_external_wiki=Use external wiki | ||||
| settings.external_wiki_url=External Wiki URL | ||||
|  | @ -594,7 +594,7 @@ settings.delete_notices_2=- This operation will permanently delete the everythin | |||
| settings.delete_notices_fork_1=- If this repository is public, all forks will be became independent after deletion. | ||||
| settings.delete_notices_fork_2=- If this repository is private, all forks will be removed at the same time. | ||||
| settings.delete_notices_fork_3=- If you want to keep all forks after deletion, please change visibility of this repository to public first. | ||||
| settings.deletion_success=Repository has been deleted successfully! | ||||
| settings.deletion_success=Repository is succesvol verwijderd! | ||||
| settings.update_settings_success=Repositorie instellingen zijn succesvol bijgewerkt. | ||||
| settings.transfer_owner=Nieuwe eigenaar | ||||
| settings.make_transfer=Maak overdracht | ||||
|  | @ -603,7 +603,7 @@ settings.confirm_delete=Bevestig verwijdering | |||
| settings.add_collaborator=Nieuwe medewerker toevoegen | ||||
| settings.add_collaborator_success=medewerker is toegevoegd. | ||||
| settings.remove_collaborator_success=medewerker is verwijderd. | ||||
| settings.search_user_placeholder=Search user... | ||||
| settings.search_user_placeholder=Zoek gebruiker... | ||||
| settings.user_is_org_member=Gebruiker is lid van de organisatie die als een medewerker kan niet worden toegevoegd. | ||||
| settings.add_webhook=Webhook toevoegen | ||||
| settings.hooks_desc=Webhooks dat de externe diensten om kennisgevingen te ontvangen wanneer bepaalde gebeurtenissen op Gogs plaatsvinden. Wanneer de opgegeven gebeurtenissen plaatsvinden, sturen we een POST-aanvraag naar elk van de URL's die u opgeeft. Meer informatie vindt u in onze <a target="_blank" href="%s"> Webhooks gids</a>. | ||||
|  | @ -687,7 +687,7 @@ release.edit_subheader=Detailed change log can help users understand what has be | |||
| release.tag_name=Tagnaam | ||||
| release.target=Doel | ||||
| release.tag_helper=Kies een bestaande tag, of creëer een nieuwe tag bij publiceren. | ||||
| release.title=Title | ||||
| release.title=Titel | ||||
| release.content=Content | ||||
| release.write=Schrijf | ||||
| release.preview=Voorbeeld | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Nazwa repozytorium jest już zajęta. | |||
| org_name_been_taken=Nazwa organizacji jest już zajęta. | ||||
| team_name_been_taken=Nazwa zespołu jest już zajęta. | ||||
| email_been_used=Adres e-mail jest już zarejestrowany. | ||||
| illegal_team_name=Nazwa zespołu zawiera niedozwolone znaki. | ||||
| username_password_incorrect=Nazwa użytkownika lub hasło nie jest prawidłowe. | ||||
| enterred_invalid_repo_name=Upewnij się, że wprowadzona nazwa repozytorium jest poprawna. | ||||
| enterred_invalid_owner_name=Upewnij się, że nazwa właściciela repozytorium jest poprawna. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Modyfikacja etykiety | |||
| issues.label_deletion=Usunięcie etykiety | ||||
| issues.label_deletion_desc=Usunięcie tej etykiety spowoduje usuniecie jej ze wszystkich powiązanych problemów. Czy na pewno chcesz kontynuować? | ||||
| issues.label_deletion_success=Etykieta została usunięta pomyślnie! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Nowy pull request | ||||
| pulls.compare_changes=Porównaj zmiany | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Nome do repositório já foi tomado. | |||
| org_name_been_taken=Nome da organização já foi tomado. | ||||
| team_name_been_taken=Nome da equipe já foi tomado. | ||||
| email_been_used=Endereço de e-mail já foi usado. | ||||
| illegal_team_name=O nome da equipe contém caracteres não permitidos. | ||||
| username_password_incorrect=Usuário ou senha incorretos. | ||||
| enterred_invalid_repo_name=Por favor certifique-se que informou o nome do repositório corretamente. | ||||
| enterred_invalid_owner_name=Por favor, verifique se o nome do proprietário está correto. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Alteração de etiqueta | |||
| issues.label_deletion=Exclusão de etiqueta | ||||
| issues.label_deletion_desc=Excluir uma etiqueta a retirará de todos os problemas que ela estiver marcando. Quer mesmo continuar? | ||||
| issues.label_deletion_success=A etiqueta foi excluída com sucesso! | ||||
| issues.num_participants=%d participantes | ||||
| 
 | ||||
| pulls.new=Novo Pull Request | ||||
| pulls.compare_changes=Comparar mudanças | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=Имя репозитория уже принято. | |||
| org_name_been_taken=Название организации было уже принято. | ||||
| team_name_been_taken=Название команды было уже принято. | ||||
| email_been_used=Адрес электронной почты уже используется. | ||||
| illegal_team_name=Имя группы содержит недопустимые знаки. | ||||
| username_password_incorrect=Имя пользователя или пароль не правильный. | ||||
| enterred_invalid_repo_name=Пожалуйста, убедитесь, что введенно правильное имя хранилища. | ||||
| enterred_invalid_owner_name=Убедитесь, что введенное имя владельца верное. | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=Изменение метки | |||
| issues.label_deletion=Удаление метки | ||||
| issues.label_deletion_desc=Удаление ярлыка затронет все связанные задачи. Продолжить? | ||||
| issues.label_deletion_success=Метка была удалена успешно! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=Новый запрос на слияние | ||||
| pulls.compare_changes=Сравнить изменения | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=仓库名称已经被占用。 | |||
| org_name_been_taken=组织名称已经被占用。 | ||||
| team_name_been_taken=团队名称已经被占用。 | ||||
| email_been_used=邮箱地址已经被使用。 | ||||
| illegal_team_name=团队名称包含非法字符。 | ||||
| username_password_incorrect=用户名或密码不正确。 | ||||
| enterred_invalid_repo_name=请检查您输入的仓库名称是正确。 | ||||
| enterred_invalid_owner_name=请检查您输入的新所有者用户名是否正确。 | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=修改标签 | |||
| issues.label_deletion=删除标签操作 | ||||
| issues.label_deletion_desc=删除该标签将会移除所有工单中相关的信息。是否继续? | ||||
| issues.label_deletion_success=标签删除成功! | ||||
| issues.num_participants=%d 名参与者 | ||||
| 
 | ||||
| pulls.new=创建合并请求 | ||||
| pulls.compare_changes=对比文件变化 | ||||
|  |  | |||
|  | @ -203,7 +203,6 @@ repo_name_been_taken=倉庫名稱已經被佔用。 | |||
| org_name_been_taken=組織名稱已經被佔用。 | ||||
| team_name_been_taken=團隊名稱已經被佔用。 | ||||
| email_been_used=郵箱地址已經被使用。 | ||||
| illegal_team_name=團隊名稱包含不合法字符。 | ||||
| username_password_incorrect=用戶名或密碼不正確。 | ||||
| enterred_invalid_repo_name=請檢查您輸入的倉庫名稱是正確。 | ||||
| enterred_invalid_owner_name=請檢查您輸入的新所有者用戶名是否正確。 | ||||
|  | @ -494,6 +493,7 @@ issues.label_modify=修改標籤 | |||
| issues.label_deletion=刪除標籤 | ||||
| issues.label_deletion_desc=刪除該標籤將會移除所有問題中相關的訊息。是否繼續? | ||||
| issues.label_deletion_success=標籤刪除成功! | ||||
| issues.num_participants=%d Participants | ||||
| 
 | ||||
| pulls.new=創建合併請求 | ||||
| pulls.compare_changes=對比文件變化 | ||||
|  |  | |||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -17,7 +17,7 @@ import ( | |||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
| 
 | ||||
| const APP_VER = "0.8.28.0203" | ||||
| const APP_VER = "0.8.29.0204" | ||||
| 
 | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
|  |  | |||
|  | @ -1457,9 +1457,8 @@ func DeleteRepositoryArchives() error { | |||
| 		}) | ||||
| } | ||||
| 
 | ||||
| // DeleteMissingRepositories deletes all repository records that lost Git files.
 | ||||
| func DeleteMissingRepositories() error { | ||||
| 	repos := make([]*Repository, 0, 5) | ||||
| func gatherMissingRepoRecords() ([]*Repository, error) { | ||||
| 	repos := make([]*Repository, 0, 10) | ||||
| 	if err := x.Where("id > 0").Iterate(new(Repository), | ||||
| 		func(idx int, bean interface{}) error { | ||||
| 			repo := bean.(*Repository) | ||||
|  | @ -1468,10 +1467,18 @@ func DeleteMissingRepositories() error { | |||
| 			} | ||||
| 			return nil | ||||
| 		}); err != nil { | ||||
| 		if err2 := CreateRepositoryNotice(fmt.Sprintf("DeleteMissingRepositories: %v", err)); err2 != nil { | ||||
| 			log.Error(4, "CreateRepositoryNotice: %v", err2) | ||||
| 		if err2 := CreateRepositoryNotice(fmt.Sprintf("gatherMissingRepoRecords: %v", err)); err2 != nil { | ||||
| 			return nil, fmt.Errorf("CreateRepositoryNotice: %v", err) | ||||
| 		} | ||||
| 		return nil | ||||
| 	} | ||||
| 	return repos, nil | ||||
| } | ||||
| 
 | ||||
| // DeleteMissingRepositories deletes all repository records that lost Git files.
 | ||||
| func DeleteMissingRepositories() error { | ||||
| 	repos, err := gatherMissingRepoRecords() | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("gatherMissingRepoRecords: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	if len(repos) == 0 { | ||||
|  | @ -1482,7 +1489,29 @@ func DeleteMissingRepositories() error { | |||
| 		log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID) | ||||
| 		if err := DeleteRepository(repo.OwnerID, repo.ID); err != nil { | ||||
| 			if err2 := CreateRepositoryNotice(fmt.Sprintf("DeleteRepository [%d]: %v", repo.ID, err)); err2 != nil { | ||||
| 				log.Error(4, "CreateRepositoryNotice: %v", err2) | ||||
| 				return fmt.Errorf("CreateRepositoryNotice: %v", err) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // ReinitMissingRepositories reinitializes all repository records that lost Git files.
 | ||||
| func ReinitMissingRepositories() error { | ||||
| 	repos, err := gatherMissingRepoRecords() | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("gatherMissingRepoRecords: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	if len(repos) == 0 { | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
| 	for _, repo := range repos { | ||||
| 		log.Trace("Initializing %d/%d...", repo.OwnerID, repo.ID) | ||||
| 		if err := git.InitRepository(repo.RepoPath(), true); err != nil { | ||||
| 			if err2 := CreateRepositoryNotice(fmt.Sprintf("InitRepository [%d]: %v", repo.ID, err)); err2 != nil { | ||||
| 				return fmt.Errorf("CreateRepositoryNotice: %v", err) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -120,6 +120,7 @@ const ( | |||
| 	GIT_GC_REPOS | ||||
| 	SYNC_SSH_AUTHORIZED_KEY | ||||
| 	SYNC_REPOSITORY_UPDATE_HOOK | ||||
| 	REINIT_MISSING_REPOSITORY | ||||
| ) | ||||
| 
 | ||||
| func Dashboard(ctx *middleware.Context) { | ||||
|  | @ -152,6 +153,9 @@ func Dashboard(ctx *middleware.Context) { | |||
| 		case SYNC_REPOSITORY_UPDATE_HOOK: | ||||
| 			success = ctx.Tr("admin.dashboard.resync_all_update_hooks_success") | ||||
| 			err = models.RewriteRepositoryUpdateHook() | ||||
| 		case REINIT_MISSING_REPOSITORY: | ||||
| 			success = ctx.Tr("admin.dashboard.reinit_missing_repos_success") | ||||
| 			err = models.ReinitMissingRepositories() | ||||
| 		} | ||||
| 
 | ||||
| 		if err != nil { | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| 0.8.28.0203 | ||||
| 0.8.29.0204 | ||||
|  | @ -43,6 +43,10 @@ | |||
| 								<td>{{.i18n.Tr "admin.dashboard.resync_all_update_hooks"}}</td> | ||||
| 								<td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=6">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> | ||||
| 							</tr> | ||||
| 							<tr> | ||||
| 								<td>{{.i18n.Tr "admin.dashboard.reinit_missing_repos"}}</td> | ||||
| 								<td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=7">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td> | ||||
| 							</tr> | ||||
| 						</tbody> | ||||
| 					</table> | ||||
| 				</div> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue