Merge branch 'master' into feature_AllowPrivateOrganization

This commit is contained in:
techknowlogick 2018-06-11 14:58:19 -04:00 committed by GitHub
commit c0fa0de70e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 50 additions and 7 deletions

View File

@ -201,6 +201,10 @@ an advisor has time to code review, we will gladly welcome them back
to the maintainers team. If a maintainer is inactive for more than 3 to the maintainers team. If a maintainer is inactive for more than 3
months and forgets to leave the maintainers team, the owners may move months and forgets to leave the maintainers team, the owners may move
him or her from the maintainers team to the advisors team. him or her from the maintainers team to the advisors team.
For security reasons, Maintainers should use 2FA for their accounts and
if possible provide gpg signed commits.
https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/
https://help.github.com/articles/signing-commits-with-gpg/
## Owners ## Owners
@ -211,6 +215,9 @@ be the main owner, and the other two the assistant owners. When the new
owners have been elected, the old owners will give up ownership to the owners have been elected, the old owners will give up ownership to the
newly elected owners. If an owner is unable to do so, the other owners newly elected owners. If an owner is unable to do so, the other owners
will assist in ceding ownership to the newly elected owners. will assist in ceding ownership to the newly elected owners.
For security reasons, Owners or any account with write access (like a bot)
must use 2FA.
https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/
After the election, the new owners should proactively agree After the election, the new owners should proactively agree
with our [CONTRIBUTING](CONTRIBUTING.md) requirements in the with our [CONTRIBUTING](CONTRIBUTING.md) requirements in the

View File

@ -73,6 +73,11 @@ var (
Value: "", Value: "",
Usage: "New password to set for user", Usage: "New password to set for user",
}, },
cli.StringFlag{
Name: "config, c",
Value: "custom/conf/app.ini",
Usage: "Custom configuration file path",
},
}, },
} }
@ -123,6 +128,10 @@ func runChangePassword(c *cli.Context) error {
return err return err
} }
if c.IsSet("config") {
setting.CustomConf = c.String("config")
}
if err := initDB(); err != nil { if err := initDB(); err != nil {
return err return err
} }

View File

@ -20,7 +20,7 @@ file can be unpacked and used to restore an instance.
## Backup Command (`dump`) ## Backup Command (`dump`)
Switch to the user running gitea: `su git`. Run `./gitea dump` in the gitea installation Switch to the user running gitea: `su git`. Run `./gitea dump -c /path/to/app.ini` in the gitea installation
directory. There should be some output similar to the following: directory. There should be some output similar to the following:
``` ```

View File

@ -62,6 +62,7 @@ Admin operations:
- Options: - Options:
- `--username value`, `-u value`: Username. Required. - `--username value`, `-u value`: Username. Required.
- `--password value`, `-p value`: New password. Required. - `--password value`, `-p value`: New password. Required.
- `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
- Examples: - Examples:
- `gitea admin change-password --username myname --password asecurepassword` - `gitea admin change-password --username myname --password asecurepassword`
- `regenerate` - `regenerate`

View File

@ -213,7 +213,7 @@ send_reset_mail = Click here to resend your password reset email
reset_password = Reset Your Password reset_password = Reset Your Password
invalid_code = Your confirmation code is invalid or has expired. invalid_code = Your confirmation code is invalid or has expired.
reset_password_helper = Click here to reset your password reset_password_helper = Click here to reset your password
password_too_short = Password length cannot be less then %d. password_too_short = Password length cannot be less than %d characters.
non_local_account = Non-local users can not update their password through the Gitea web interface. non_local_account = Non-local users can not update their password through the Gitea web interface.
verify = Verify verify = Verify
scratch_code = Scratch code scratch_code = Scratch code

View File

@ -266,6 +266,8 @@ email_been_used=Ця електронна адреса вже використо
openid_been_used=OpenID адреса '%s' вже використовується. openid_been_used=OpenID адреса '%s' вже використовується.
username_password_incorrect=Неправильне ім'я користувача або пароль. username_password_incorrect=Неправильне ім'я користувача або пароль.
enterred_invalid_repo_name=Невірно введено ім'я репозиторію. enterred_invalid_repo_name=Невірно введено ім'я репозиторію.
enterred_invalid_owner_name=Ім'я нового власника не є дійсним.
enterred_invalid_password=Введений вами пароль некоректний.
user_not_exist=Даний користувач не існує. user_not_exist=Даний користувач не існує.
cannot_add_org_to_team=Організацію неможливо додати як учасника команди. cannot_add_org_to_team=Організацію неможливо додати як учасника команди.
@ -343,9 +345,13 @@ primary=Основний
primary_email=Зробити основним primary_email=Зробити основним
delete_email=Видалити delete_email=Видалити
email_deletion=Видалити адресу електронної пошти email_deletion=Видалити адресу електронної пошти
openid_deletion=Видалити адресу OpenID
add_new_email=Додати нову адресу електронної пошти add_new_email=Додати нову адресу електронної пошти
add_new_openid=Додати новий OpenID URI
add_email=Додати адресу електронної пошти add_email=Додати адресу електронної пошти
add_openid=Додати OpenID URI
add_email_confirmation_sent=Електронний лист із підтвердженням було відправлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %s, щоб підтвердити адресу. add_email_confirmation_sent=Електронний лист із підтвердженням було відправлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %s, щоб підтвердити адресу.
add_email_success=Додано нову адресу електронної пошти.
keep_email_private=Приховати адресу електронної пошти keep_email_private=Приховати адресу електронної пошти
keep_email_private_popup=Вашу адресу електронної пошти буде приховано від інших користувачів. keep_email_private_popup=Вашу адресу електронної пошти буде приховано від інших користувачів.
@ -361,6 +367,7 @@ key_id=ID ключа
key_name=Ім'я ключа key_name=Ім'я ключа
key_content=Зміст key_content=Зміст
add_key_success=SSH ключ '%s' додано. add_key_success=SSH ключ '%s' додано.
add_gpg_key_success=GPG ключ '%s' додано.
delete_key=Видалити delete_key=Видалити
ssh_key_deletion=Видалити SSH ключ ssh_key_deletion=Видалити SSH ключ
gpg_key_deletion=Видалити GPG ключ gpg_key_deletion=Видалити GPG ключ
@ -394,6 +401,7 @@ access_token_deletion=Видалити токен доступу
twofa_disable=Вимкнути двофакторну автентифікацію twofa_disable=Вимкнути двофакторну автентифікацію
or_enter_secret=Або введіть секрет: %s or_enter_secret=Або введіть секрет: %s
passcode_invalid=Некоректний пароль. Спробуй ще раз.
u2f_register_key=Додати ключ безпеки u2f_register_key=Додати ключ безпеки
u2f_nickname=Псевдонім u2f_nickname=Псевдонім
@ -403,8 +411,10 @@ manage_account_links=Керування обліковими записами
remove_account_link=Видалити облікові записи remove_account_link=Видалити облікові записи
orgs_none=Ви не є учасником будь-якої організації. orgs_none=Ви не є учасником будь-якої організації.
repos_none=У вас немає власних репозиторіїв
delete_account=Видалити ваш обліковий запис delete_account=Видалити ваш обліковий запис
delete_prompt=Ця операція остаточно видалить обліковий запис користувача. Це <strong>НЕ МОЖЛИВО</strong> відмінити.
confirm_delete_account=Підтвердження видалення confirm_delete_account=Підтвердження видалення
delete_account_title=Видалити цей обліковий запис delete_account_title=Видалити цей обліковий запис
@ -490,6 +500,7 @@ file_history=Історія
file_view_raw=Перегляд Raw file_view_raw=Перегляд Raw
file_permalink=Постійне посилання file_permalink=Постійне посилання
file_too_large=Цей файл завеликий щоб бути показаним. file_too_large=Цей файл завеликий щоб бути показаним.
video_not_supported_in_browser=Ваш браузер не підтримує тег 'video' HTML5.
stored_lfs=Збережено з Git LFS stored_lfs=Збережено з Git LFS
commit_graph=Графік комітів commit_graph=Графік комітів
@ -497,6 +508,7 @@ editor.new_file=Новий файл
editor.upload_file=Завантажити файл editor.upload_file=Завантажити файл
editor.edit_file=Редагування файлу editor.edit_file=Редагування файлу
editor.preview_changes=Попередній перегляд змін editor.preview_changes=Попередній перегляд змін
editor.cannot_edit_non_text_files=Бінарні файли не можливо редагувати у веб-інтерфейсі.
editor.edit_this_file=Редагувати файл editor.edit_this_file=Редагувати файл
editor.must_be_on_a_branch=Ви повинні бути у гілці щоб зробити, або запропонувати зміни до цього файлу. editor.must_be_on_a_branch=Ви повинні бути у гілці щоб зробити, або запропонувати зміни до цього файлу.
editor.fork_before_edit=Необхідно зробити форк цього репозиторій, щоб внести або запропонувати зміни в цей файл. editor.fork_before_edit=Необхідно зробити форк цього репозиторій, щоб внести або запропонувати зміни в цей файл.
@ -963,6 +975,7 @@ org_desc=Опис
team_name=Назва команди team_name=Назва команди
team_desc=Опис team_desc=Опис
team_name_helper=Назва команди має бути простою та зрозумілою. team_name_helper=Назва команди має бути простою та зрозумілою.
team_desc_helper=Опишіть мету або роль команди.
team_permission_desc=Права доступу team_permission_desc=Права доступу
team_unit_desc=Дозволити доступ до розділів репозиторію team_unit_desc=Дозволити доступ до розділів репозиторію
@ -975,6 +988,8 @@ settings.website=Веб-сайт
settings.location=Розташування settings.location=Розташування
settings.update_settings=Оновити налаштування settings.update_settings=Оновити налаштування
settings.update_setting_success=Налаштування організації оновлені. settings.update_setting_success=Налаштування організації оновлені.
settings.change_orgname_prompt=Ця зміна змінить посилання на організацію.
settings.update_avatar_success=Аватар організації оновлений.
settings.delete=Видалити організацію settings.delete=Видалити організацію
settings.delete_account=Видалити цю організацію settings.delete_account=Видалити цю організацію
settings.confirm_delete_account=Підтвердіть видалення settings.confirm_delete_account=Підтвердіть видалення
@ -1040,9 +1055,11 @@ dashboard.delete_inactivate_accounts_success=Усі неактивні облі
dashboard.delete_repo_archives=Видалити всі архіви репозиторіїв dashboard.delete_repo_archives=Видалити всі архіви репозиторіїв
dashboard.git_gc_repos_success=Всі репозиторії завершили збирання сміття. dashboard.git_gc_repos_success=Всі репозиторії завершили збирання сміття.
dashboard.server_uptime=Uptime серверу dashboard.server_uptime=Uptime серверу
dashboard.current_goroutine=Поточна кількість Goroutines
dashboard.current_memory_usage=Поточне використання пам'яті dashboard.current_memory_usage=Поточне використання пам'яті
dashboard.total_memory_allocated=Виділено пам'яті загалом dashboard.total_memory_allocated=Виділено пам'яті загалом
dashboard.memory_obtained=Отримано пам'яті dashboard.memory_obtained=Отримано пам'яті
dashboard.pointer_lookup_times=Пошуків вказівника
dashboard.memory_allocate_times=Виділення пам'яті dashboard.memory_allocate_times=Виділення пам'яті
dashboard.current_heap_usage=Поточне використання динамічної пам'яті dashboard.current_heap_usage=Поточне використання динамічної пам'яті
dashboard.heap_memory_obtained=Отримано динамічної пам'яті dashboard.heap_memory_obtained=Отримано динамічної пам'яті
@ -1050,6 +1067,7 @@ dashboard.heap_memory_idle=Не використовується динаміч
dashboard.heap_memory_in_use=Використовується динамічною пам'яттю dashboard.heap_memory_in_use=Використовується динамічною пам'яттю
dashboard.heap_memory_released=Звільнено динамічної пам'яті dashboard.heap_memory_released=Звільнено динамічної пам'яті
dashboard.heap_objects=Об'єктів динамічної пам'яті dashboard.heap_objects=Об'єктів динамічної пам'яті
dashboard.bootstrap_stack_usage=Використання стеку Bootstrap
dashboard.stack_memory_obtained=Зайнято пам'яті стеком dashboard.stack_memory_obtained=Зайнято пам'яті стеком
dashboard.mspan_structures_usage=Використання структур MSpan dashboard.mspan_structures_usage=Використання структур MSpan
dashboard.mspan_structures_obtained=Отримано структур MSpan dashboard.mspan_structures_obtained=Отримано структур MSpan
@ -1124,6 +1142,7 @@ auths.bind_dn=Прив'язати DN
auths.bind_password=Прив'язати пароль auths.bind_password=Прив'язати пароль
auths.user_base=База пошуку користувачів auths.user_base=База пошуку користувачів
auths.user_dn=DN користувача auths.user_dn=DN користувача
auths.attribute_username=Атрибут імені користувача
auths.search_page_size=Розмір сторінки auths.search_page_size=Розмір сторінки
auths.filter=Користувацький фільтр auths.filter=Користувацький фільтр
auths.admin_filter=Фільтр адміністратора auths.admin_filter=Фільтр адміністратора
@ -1267,12 +1286,14 @@ monitor.name=Ім'я
monitor.schedule=Розклад monitor.schedule=Розклад
monitor.next=Наступного разу monitor.next=Наступного разу
monitor.previous=Попереднього разу monitor.previous=Попереднього разу
monitor.execute_times=Кількість виконань
monitor.process=Запущені процеси monitor.process=Запущені процеси
monitor.desc=Опис monitor.desc=Опис
monitor.start=Час початку monitor.start=Час початку
monitor.execute_time=Час виконання monitor.execute_time=Час виконання
notices.system_notice_list=Сповіщення системи notices.system_notice_list=Сповіщення системи
notices.view_detail_header=Переглянути деталі повідомлення
notices.actions=Дії notices.actions=Дії
notices.select_all=Вибрати все notices.select_all=Вибрати все
notices.deselect_all=Скасувати виділення notices.deselect_all=Скасувати виділення
@ -1327,6 +1348,7 @@ raw_minutes=хвилини
[dropzone] [dropzone]
default_message=Перетягніть файли або натисніть тут, щоб завантажити. default_message=Перетягніть файли або натисніть тут, щоб завантажити.
invalid_input_type=Ви не можете завантажувати файли цього типу.
file_too_big=Розмір файлу ({{filesize}} MB), що більше ніж максимальний розмір: ({{maxFilesize}} MB). file_too_big=Розмір файлу ({{filesize}} MB), що більше ніж максимальний розмір: ({{maxFilesize}} MB).
remove_file=Видалити файл remove_file=Видалити файл

View File

@ -105,7 +105,9 @@ func renderDirectory(ctx *context.Context, treeLink string) {
ctx.Data["FileContent"] = string(markup.Render(readmeFile.Name(), buf, treeLink, ctx.Repo.Repository.ComposeMetas())) ctx.Data["FileContent"] = string(markup.Render(readmeFile.Name(), buf, treeLink, ctx.Repo.Repository.ComposeMetas()))
} else { } else {
ctx.Data["IsRenderedHTML"] = true ctx.Data["IsRenderedHTML"] = true
ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`<br>`), -1)) ctx.Data["FileContent"] = strings.Replace(
gotemplate.HTMLEscapeString(string(buf)), "\n", `<br>`, -1,
)
} }
} }
} }
@ -208,7 +210,9 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas())) ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
} else if readmeExist { } else if readmeExist {
ctx.Data["IsRenderedHTML"] = true ctx.Data["IsRenderedHTML"] = true
ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`<br>`), -1)) ctx.Data["FileContent"] = strings.Replace(
gotemplate.HTMLEscapeString(string(buf)), "\n", `<br>`, -1,
)
} else { } else {
// Building code view blocks with line number on server side. // Building code view blocks with line number on server side.
var fileContent string var fileContent string

View File

@ -49,8 +49,8 @@
<tr> <tr>
<td>{{.PID}}</td> <td>{{.PID}}</td>
<td>{{.Description}}</td> <td>{{.Description}}</td>
<td>{{.Start.FormatLong}}</td> <td>{{DateFmtLong .Start}}</td>
<td>{{TimeSinceUnix .Start $.Lang}}</td> <td>{{TimeSince .Start $.Lang}}</td>
</tr> </tr>
{{end}} {{end}}
</tbody> </tbody>

View File

@ -32,7 +32,7 @@
</div> </div>
{{if .CanBeForked}} {{if .CanBeForked}}
<div class="ui compact labeled button" tabindex="0"> <div class="ui compact labeled button" tabindex="0">
<a class="ui compact button {{if not $.CanSignedUserFork}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}> <a class="ui compact button {{if not $.CanSignedUserFork}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}>
<i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}} <i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
</a> </a>
<a class="ui basic label" href="{{.Link}}/forks"> <a class="ui basic label" href="{{.Link}}/forks">