Browse Source

Reopen PR need retest patch

tags/v0.9.99
Unknwon 8 years ago
parent
commit
c3ba5590c9
10 changed files with 171 additions and 135 deletions
  1. 3
    3
      README.md
  2. 3
    3
      README_ZH.md
  3. 67
    66
      conf/locale/locale_lv-LV.ini
  4. 2
    1
      conf/locale/locale_pt-BR.ini
  5. 1
    1
      gogs.go
  6. 9
    9
      models/issue.go
  7. 59
    50
      models/pull.go
  8. 22
    0
      routers/repo/issue.go
  9. 4
    1
      routers/repo/pull.go
  10. 1
    1
      templates/.VERSION

+ 3
- 3
README.md View File



## Installation ## Installation


Make sure you install the [prerequisites](http://gogs.io/docs/installation/) first.
Make sure you install the [prerequisites](http://gogs.io/docs/installation) first.


There are 5 ways to install Gogs: There are 5 ways to install Gogs:




## Acknowledgments ## Acknowledgments


- Router and middleware mechanism of [Macaron](https://github.com/Unknwon/macaron).
- Mail Service, modules design is inspired by [WeTalk](https://github.com/beego/wetalk).
- Router and middleware mechanism of [Macaron](https://github.com/go-macaron/macaron).
- Modules design is inspired by [WeTalk](https://github.com/beego/wetalk).
- System Monitor Status is inspired by [GoBlog](https://github.com/fuxiaohei/goblog). - System Monitor Status is inspired by [GoBlog](https://github.com/fuxiaohei/goblog).
- Thanks [lavachen](http://www.lavachen.cn/) and [Rocker](http://weibo.com/rocker1989) for designing Logo. - Thanks [lavachen](http://www.lavachen.cn/) and [Rocker](http://weibo.com/rocker1989) for designing Logo.
- Thanks [Crowdin](https://crowdin.com/project/gogs) for providing open source translation plan. - Thanks [Crowdin](https://crowdin.com/project/gogs) for providing open source translation plan.

+ 3
- 3
README_ZH.md View File



## 安装部署 ## 安装部署


在安装 Gogs 之前,您需要先安装 [基本环境](http://gogs.io/docs/installation/)。
在安装 Gogs 之前,您需要先安装 [基本环境](http://gogs.io/docs/installation)。


然后,您可以通过以下 5 种方式来安装 Gogs: 然后,您可以通过以下 5 种方式来安装 Gogs:




## 特别鸣谢 ## 特别鸣谢


- 基于 [Macaron](https://github.com/Unknwon/macaron) 的路由与中间件机制。
- 基于 [WeTalk](https://github.com/beego/wetalk) 修改的邮件服务和模块设计。
- 基于 [Macaron](https://github.com/go-macaron/macaron) 的路由与中间件机制。
- 基于 [WeTalk](https://github.com/beego/wetalk) 修改的模块设计。
- 基于 [GoBlog](https://github.com/fuxiaohei/goblog) 修改的系统监视状态。 - 基于 [GoBlog](https://github.com/fuxiaohei/goblog) 修改的系统监视状态。
- 感谢 [lavachen](http://www.lavachen.cn/) 和 [Rocker](http://weibo.com/rocker1989) 设计的 Logo。 - 感谢 [lavachen](http://www.lavachen.cn/) 和 [Rocker](http://weibo.com/rocker1989) 设计的 Logo。
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。 - 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。

+ 67
- 66
conf/locale/locale_lv-LV.ini View File

issues.filter_sort.leastupdate=Vissenāk atjaunotās issues.filter_sort.leastupdate=Vissenāk atjaunotās
issues.filter_sort.mostcomment=Visvairāk komentētās issues.filter_sort.mostcomment=Visvairāk komentētās
issues.filter_sort.leastcomment=Vismazāk komentētās issues.filter_sort.leastcomment=Vismazāk komentētās
issues.opened_by=opened %[1]s by <a href="%[2]s">%[3]s</a>
issues.opened_by_fake=opened %[1]s by %[2]s
issues.opened_by=<a href="%[2]s">%[3]s</a> atvēra %[1]s
issues.opened_by_fake=%[2]s atvēra %[1]s
issues.previous=Iepriekšējā issues.previous=Iepriekšējā
issues.next=Nākamā issues.next=Nākamā
issues.open_title=Atvērta issues.open_title=Atvērta
issues.closed_title=Slēgta issues.closed_title=Slēgta
issues.num_comments=%d komentāri issues.num_comments=%d komentāri
issues.commented_at=`commented <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commented_at=`komentēja <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.no_content=Vēl nav satura. issues.no_content=Vēl nav satura.
issues.close_issue=Aizvērt issues.close_issue=Aizvērt
issues.close_comment_issue=Komentēt un aizvērt issues.close_comment_issue=Komentēt un aizvērt
pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari ir vienādi. pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari ir vienādi.
pulls.has_pull_request=`Jau eksistē izmaiņu pieprasījums starp šiem diviem atzariem: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>` pulls.has_pull_request=`Jau eksistē izmaiņu pieprasījums starp šiem diviem atzariem: <a href="%[1]s/pulls/%[3]d">%[2]s#%[3]d</a>`
pulls.create=Izveidot izmaiņu pieprasījumu pulls.create=Izveidot izmaiņu pieprasījumu
pulls.title_desc=wants to merge %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code>
pulls.merged_title_desc=merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s
pulls.title_desc=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code>
pulls.merged_title_desc=sapludināja %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code> %[4]s
pulls.tab_conversation=Saruna pulls.tab_conversation=Saruna
pulls.tab_commits=Revīzijas pulls.tab_commits=Revīzijas
pulls.tab_files=Izmainītie faili pulls.tab_files=Izmainītie faili
pulls.reopen_to_merge=Lūdzu, atkārtoti atveriet šo izmaiņu pieprasījumu, lai veiktu sapludināšanu. pulls.reopen_to_merge=Lūdzu, atkārtoti atveriet šo izmaiņu pieprasījumu, lai veiktu sapludināšanu.
pulls.merged=Sapludināts pulls.merged=Sapludināts
pulls.has_merged=Šo izmaiņu pieprasījums tika veiksmīgi sapludināts! pulls.has_merged=Šo izmaiņu pieprasījums tika veiksmīgi sapludināts!
pulls.data_broken=Data of this pull request has been broken due to deletion of fork information.
pulls.can_auto_merge_desc=You can perform auto-merge operation on this pull request.
pulls.cannot_auto_merge_desc=You can't perform auto-merge operation because there are conflicts between commits.
pulls.data_broken=Nepieejami izmaiņu pieprasījuma dati, jo dzēsta informācija no atdalītā repozitorija.
pulls.is_checking=Notiek konfliktu pārbaude, mirkli uzgaidiet un atjaunojiet lapu.
pulls.can_auto_merge_desc=Ir iespējams veikt automātisko sapludināšanas darbību šim izmaiņu pieprasījumam.
pulls.cannot_auto_merge_desc=Nav iespējams veikt automātisko sapludināšanas darbību, jo starp revīzijām ir konflikti.
pulls.cannot_auto_merge_helper=Lūdzu, izmantojiet komandrindas rīku, lai to atrisinātu. pulls.cannot_auto_merge_helper=Lūdzu, izmantojiet komandrindas rīku, lai to atrisinātu.
pulls.merge_pull_request=Izmaiņu pieprasījuma sapludināšana pulls.merge_pull_request=Izmaiņu pieprasījuma sapludināšana
pulls.open_unmerged_pull_exists=`You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
pulls.open_unmerged_pull_exists=`Jūs nevarat veikt atkārtotas atvēršanas darbību, jo jau eksistē izmaiņu pieprasījums (#%d) no šī repozitorija ar tādu pašu sapludināšanas informāciju un gaida sapludināšanu.`
milestones.new=New Milestone
milestones.new=Jauns atskaites punkts
milestones.open_tab=%d atvērti milestones.open_tab=%d atvērti
milestones.close_tab=%d aizvērti milestones.close_tab=%d aizvērti
milestones.closed=Aizvērts %s milestones.closed=Aizvērts %s
milestones.no_due_date=No due date
milestones.no_due_date=Bez termiņa
milestones.open=Atvērt milestones.open=Atvērt
milestones.close=Aizvērt milestones.close=Aizvērt
milestones.new_subheader=Izveidojiet atskaites punktus, lai organizētu problēmas. milestones.new_subheader=Izveidojiet atskaites punktus, lai organizētu problēmas.
milestones.create=Izveidot atskaites punktu milestones.create=Izveidot atskaites punktu
milestones.title=Virsraksts milestones.title=Virsraksts
milestones.desc=Apraksts milestones.desc=Apraksts
milestones.due_date=Due Date (optional)
milestones.due_date=Termiņš (neobligāts)
milestones.clear=Notīrīt milestones.clear=Notīrīt
milestones.invalid_due_date_format=Due date format is invalid, must be 'year-mm-dd'.
milestones.create_success=Milestone '%s' has been created successfully!
milestones.edit=Edit Milestone
milestones.edit_subheader=Use better description for milestones so people won't be confused.
milestones.invalid_due_date_format=Termiņa datuma formāts ir nekorekts, jābūt formātā 'gggg-mm-dd'.
milestones.create_success=Atskaites punkts '%s' tika veiksmīgi izveidots!
milestones.edit=Labot atskaites punktu
milestones.edit_subheader=Izmantojiet pēc iespējas labāku aprakstu atskaites punktiem, lai citiem tas būtu saprotamāks.
milestones.cancel=Atcelt milestones.cancel=Atcelt
milestones.modify=Modify Milestone
milestones.edit_success=Changes of milestone '%s' has been saved successfully!
milestones.deletion=Milestone Deletion
milestones.deletion_desc=Delete this milestone will remove its information in all related issues. Do you want to continue?
milestones.deletion_success=Milestone has been deleted successfully!
milestones.modify=Mainīt atskaites punktu
milestones.edit_success=Izmaiņas atskaites punktā '%s' tika veiksmīgi saglabātas!
milestones.deletion=Atskaites punkta dzēšana
milestones.deletion_desc=Dzēšot šo atskaites punktu tiks noņemta arī saistītā informācija no problēmu ziņojumiem. Vai vēlaties turpināt?
milestones.deletion_success=Atskaites punkts tika veiksmīgi izdzēsts!
settings=Iestatījumi settings=Iestatījumi
settings.options=Opcijas settings.options=Opcijas
settings.danger_zone=Bīstamā zona settings.danger_zone=Bīstamā zona
settings.site=Oficiālā mājas lapa settings.site=Oficiālā mājas lapa
settings.update_settings=Mainīt iestatījumus settings.update_settings=Mainīt iestatījumus
settings.change_reponame_prompt=This change will affect how links relate to the repository.
settings.change_reponame_prompt=Šī izmaiņa ietekmēs saites, kas ir saistītas ar šo repozitoriju.
settings.transfer=Mainīt īpašnieku settings.transfer=Mainīt īpašnieku
settings.transfer_desc=Mainīt šī repozitorija īpašnieku uz citu lietotāju vai organizāciju, kurai Jums ir administratora tiesībs. settings.transfer_desc=Mainīt šī repozitorija īpašnieku uz citu lietotāju vai organizāciju, kurai Jums ir administratora tiesībs.
settings.new_owner_has_same_repo=Jaunajam īpašniekam jau ir repozitorijs ar šādu nosaukumu. settings.new_owner_has_same_repo=Jaunajam īpašniekam jau ir repozitorijs ar šādu nosaukumu.
settings.delete=Dzēst šo repozitoriju settings.delete=Dzēst šo repozitoriju
settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieites vai patiešām vēlaties to darīt. settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieites vai patiešām vēlaties to darīt.
settings.transfer_notices_1=- You will lose access if new owner is a individual user.
settings.transfer_notices_2=- You will conserve access if new owner is an organization and if you're one of the owners.
settings.transfer_form_title=Please enter following information to confirm your operation:
settings.delete_notices_1=- This operation <strong>CANNOT</strong> be undone.
settings.delete_notices_2=- This operation will permanently delete the everything of this repository, including Git data, issues, comments and accesses of collaborators.
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.transfer_notices_1=- Jūs pazaudēsiet piekļuvi, ja jaunais īpašnieks ir lietotājs.
settings.transfer_notices_2=- Jūs saglabāsiet piekļuvi, ja jaunais īpašnieks ir organizācija un Jūs esat viens no tās īpašniekiem.
settings.transfer_form_title=Lūdzu, ievadiet sekojošu informāciju, lai apstiprinātu šo darbību:
settings.delete_notices_1=- Šī darbība ir <strong>NEATGRIEZENISKA</strong>.
settings.delete_notices_2=- Šī darbība neatgriezeniski izdzēsīs visus šī repozitorija datus, tai skaitā Git datus, problēmu ziņojumus, komentārus un definētās piekļuves tiesības.
settings.delete_notices_fork_1=- Ja repozitorijs ir publisks, visi atdalītie repozitoriji kļūs neatkarīgi.
settings.delete_notices_fork_2=- Ja repozitorijs ir privāts, tiks dzēsti arī visi atdalītie repozitoriji.
settings.delete_notices_fork_3=- Ja vēlaties saglabāt atdalīts repozitorijus pēc dzēšanas, sākumā nomainiet repozitorija redzamību uz publisku.
settings.update_settings_success=Repozitorija opcijas ir veiksmīgi saglabātas. settings.update_settings_success=Repozitorija opcijas ir veiksmīgi saglabātas.
settings.transfer_owner=Jaunais īpašnieks settings.transfer_owner=Jaunais īpašnieks
settings.make_transfer=Mainīt settings.make_transfer=Mainīt
settings.user_is_org_member=Lietotājs ir organizācijas biedrs, kas nevar tikt pievienots kā līdzstrādnieks. settings.user_is_org_member=Lietotājs ir organizācijas biedrs, kas nevar tikt pievienots kā līdzstrādnieks.
settings.add_webhook=Pievienot tīmekļa āķi settings.add_webhook=Pievienot tīmekļa āķi
settings.hooks_desc=Tīmekļa āķi ļauj paziņot ārējiem servisiem par noteiktiem notikomiem, kas notiek Git servisā. Kad iestāsies kāds notikums, katram ārējā servisa URL tiks nosūtīts POST pieprasījums. Lai uzzinātu sīkāk skatieties <a target="_blank" href="%s">Tīmekļa āķu rokasgrāmatā</a>. settings.hooks_desc=Tīmekļa āķi ļauj paziņot ārējiem servisiem par noteiktiem notikomiem, kas notiek Git servisā. Kad iestāsies kāds notikums, katram ārējā servisa URL tiks nosūtīts POST pieprasījums. Lai uzzinātu sīkāk skatieties <a target="_blank" href="%s">Tīmekļa āķu rokasgrāmatā</a>.
settings.webhook_deletion=Delete Webhook
settings.webhook_deletion_desc=Delete this webhook will remove its information and all delivery history. Do you want to continue?
settings.webhook_deletion_success=Webhook has been deleted successfully!
settings.webhook_deletion=Dzēst tīmekļa āķi
settings.webhook_deletion_desc=Dzēšot tīmekļa āķi tiks dzēsta visa ar to saistītā informācija un izpildes vēsture. Vai vēlaties turpināt?
settings.webhook_deletion_success=Tīmekļa āķis tika veiksmīgi izdzēsts!
settings.webhook.request=Pieprasījums settings.webhook.request=Pieprasījums
settings.webhook.response=Atbilde settings.webhook.response=Atbilde
settings.webhook.headers=Galvenes settings.webhook.headers=Galvenes
settings.event_send_everything=Vēlos saņemt <strong>visu</strong>. settings.event_send_everything=Vēlos saņemt <strong>visu</strong>.
settings.event_choose=Atzīmēt, ko vēlos saņemt. settings.event_choose=Atzīmēt, ko vēlos saņemt.
settings.event_create=Izveidot settings.event_create=Izveidot
settings.event_create_desc=Branch, or tag created
settings.event_push=Push
settings.event_push_desc=Git push to a repository
settings.event_create_desc=Atzara vai taga izveidošana
settings.event_push=Izmaiņu nosūtīšana
settings.event_push_desc=Git izmaiņu nosūtīšana uz repozitoriju
settings.active=Aktīvs settings.active=Aktīvs
settings.active_helper=Tiks nosūtīti notikuma dati, kad nostrādās šis āķis. settings.active_helper=Tiks nosūtīti notikuma dati, kad nostrādās šis āķis.
settings.add_hook_success=Jauns tīmekļa āķis tika veiksmīgi pievienots. settings.add_hook_success=Jauns tīmekļa āķis tika veiksmīgi pievienots.
settings.slack_channel=Kanāls settings.slack_channel=Kanāls
settings.deploy_keys=Izvietot atslēgas settings.deploy_keys=Izvietot atslēgas
settings.add_deploy_key=Pievienot izvietošanas atslēgu settings.add_deploy_key=Pievienot izvietošanas atslēgu
settings.no_deploy_keys=You haven't added any deploy key.
settings.no_deploy_keys=Nav pievienota neviena izvietošanas atslēga.
settings.title=Virsraksts settings.title=Virsraksts
settings.deploy_key_content=Saturs settings.deploy_key_content=Saturs
settings.key_been_used=Deploy key content has been used.
settings.key_name_used=Deploy key with same name has already existed.
settings.add_key_success=New deploy key '%s' has been added successfully!
settings.key_been_used=Šāda izvietošanas atslēga jau eksistē.
settings.key_name_used=Izvietošanas atslēga ar šādu nosaukumu jau eksistē.
settings.add_key_success=Izvietošanas atslēga '%s' tik veiksmīgi pievienota!
settings.deploy_key_deletion=Dzēst izvietošanas atslēgu settings.deploy_key_deletion=Dzēst izvietošanas atslēgu
settings.deploy_key_deletion_desc=Delete this deploy key will remove all related accesses for this repository. Do you want to continue?
settings.deploy_key_deletion_success=Deploy key has been deleted successfully!
settings.deploy_key_deletion_desc=Dzēšot šo izvietošanas atslēgu tiks noņemta arī ar to saistītā piekļuve šim repozitorijam. Vai vēlaties turpināt?
settings.deploy_key_deletion_success=Izvietošanas atslēga tika veiksmīgi izdzēsta!
diff.browse_source=Pārlūkot izejas kodu diff.browse_source=Pārlūkot izejas kodu
diff.parent=vecāks diff.parent=vecāks
team_desc_helper=Komandas apraksts team_desc_helper=Komandas apraksts
team_permission_desc=Kādām tiesībām šai komandai būtu jābūt? team_permission_desc=Kādām tiesībām šai komandai būtu jābūt?
form.name_reserved=Organization name '%s' is reserved.
form.name_pattern_not_allowed=Organization name pattern '%s' is not allowed.
form.name_reserved=Organizācijas nosaukums '%s' ir rezervēts.
form.name_pattern_not_allowed=Organizācijas nosaukums '%s' nav atļauts.
settings=Iestatījumi settings=Iestatījumi
settings.options=Opcijas settings.options=Opcijas
settings.location=Atrašanās vieta settings.location=Atrašanās vieta
settings.update_settings=Mainīt iestatījumus settings.update_settings=Mainīt iestatījumus
settings.update_setting_success=Organizācijas iestatījumi tika veiksmīgi saglabāti. settings.update_setting_success=Organizācijas iestatījumi tika veiksmīgi saglabāti.
settings.change_orgname_prompt=This change will affect how links relate to the organization.
settings.update_avatar_success=Organization avatar setting has been updated successfully.
settings.change_orgname_prompt=Šī izmaiņa ietekmēs saites, kas ir saistītas ar šo organizāciju.
settings.update_avatar_success=Organizācijas avatara iestatījumi tika veiksmīgi saglabāti.
settings.delete=Dzēst organizāciju settings.delete=Dzēst organizāciju
settings.delete_account=Dzēst šo organizāciju settings.delete_account=Dzēst šo organizāciju
settings.delete_prompt=Šī darbība pilnībā dzēsīs šo organizāciju, kā arī tā ir <strong>NEATGRIEZENISKA</strong>! settings.delete_prompt=Šī darbība pilnībā dzēsīs šo organizāciju, kā arī tā ir <strong>NEATGRIEZENISKA</strong>!
config=Konfigurācija config=Konfigurācija
notices=Sistēmas paziņojumi notices=Sistēmas paziņojumi
monitor=Uzraudzība monitor=Uzraudzība
first_page=First
last_page=Last
first_page=Pirmā
last_page=Pēdējā
total=Kopā: %d total=Kopā: %d
dashboard.statistic=Statistika dashboard.statistic=Statistika
users.admin=Administrators users.admin=Administrators
users.repos=Repozitoriji users.repos=Repozitoriji
users.created=Izveidots users.created=Izveidots
users.send_register_notify=Send Registration Notification To User
users.new_success=New account '%s' has been created successfully.
users.send_register_notify=Nosūtīt lietotājam reģistrācijas paziņojumu
users.new_success=Jauns konts '%s' tika veiksmīgi izveidots.
users.edit=Labot users.edit=Labot
users.auth_source=Authentication Source
users.auth_source=Autentificēšanas avots
users.local=Iebūvētā users.local=Iebūvētā
users.auth_login_name=Authentication Login Name
users.password_helper=Leave it empty to remain unchanged.
users.auth_login_name=Autentifikācijas pieteikšanās vārds
users.password_helper=Atstājiet tukšu, ja nevēlaties mainīt.
users.update_profile_success=Konta profils tika veiksmīgi saglabāts. users.update_profile_success=Konta profils tika veiksmīgi saglabāts.
users.edit_account=Labot kontu users.edit_account=Labot kontu
users.is_activated=Konts ir aktivizēts users.is_activated=Konts ir aktivizēts
users.delete_account=Dzēst šo kontu users.delete_account=Dzēst šo kontu
users.still_own_repo=Šis konts ir vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai nomainīt to īpašnieku. users.still_own_repo=Šis konts ir vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai nomainīt to īpašnieku.
users.still_has_org=Šis konts ir vismaz vienas organizācijas biedrs, sākumā nepieciešams pamest vai izdzēst šo organizāciju. users.still_has_org=Šis konts ir vismaz vienas organizācijas biedrs, sākumā nepieciešams pamest vai izdzēst šo organizāciju.
users.deletion_success=Account has been deleted successfully!
users.deletion_success=Konts tika veiksmīgi izdzēsts!
orgs.org_manage_panel=Organizāciju pārvaldības panelis orgs.org_manage_panel=Organizāciju pārvaldības panelis
orgs.name=Nosaukums orgs.name=Nosaukums
repos.stars=Atzīmētās zvaigznītes repos.stars=Atzīmētās zvaigznītes
repos.issues=Problēmas repos.issues=Problēmas
auths.auth_manage_panel=Authentication Manage Panel
auths.new=Add New Source
auths.auth_manage_panel=Autentifikācijas pārvaldības panelis
auths.new=Pievienot jaunu avotu
auths.name=Nosaukums auths.name=Nosaukums
auths.type=Veids auths.type=Veids
auths.enabled=Iespējota auths.enabled=Iespējota
auths.smtphost=SMTP resursdators auths.smtphost=SMTP resursdators
auths.smtpport=SMTP ports auths.smtpport=SMTP ports
auths.allowed_domains=Atļautie domēni auths.allowed_domains=Atļautie domēni
auths.allowed_domains_helper=Leave it empty to not restrict any domains. Multiple domains should be separated by comma ','.
auths.allowed_domains_helper=Atstājiet tukšu, ja nevēlaties ierobežot domēnu vārdus. Domēna vārdus nepieciešams atdalīt ar komatu ','.
auths.enable_tls=Iespējot TLS šifrēšanu auths.enable_tls=Iespējot TLS šifrēšanu
auths.skip_tls_verify=Izlaist TLS verifikāciju auths.skip_tls_verify=Izlaist TLS verifikāciju
auths.pam_service_name=PAM servisa nosaukums auths.pam_service_name=PAM servisa nosaukums
auths.enable_auto_register=Iespējot automātisko reģistrāciju auths.enable_auto_register=Iespējot automātisko reģistrāciju
auths.tips=Padomi auths.tips=Padomi
auths.edit=Edit Authentication Setting
auths.edit=Labot autentifikācijas iestatījumus
auths.activated=Autentifikācija ir aktivizēta auths.activated=Autentifikācija ir aktivizēta
auths.new_success=New authentication '%s' has been added successfully.
auths.update_success=Authentication setting has been updated successfully.
auths.update=Update Authentication Setting
auths.new_success=Jauna autentifikācija '%s' tika veiksmīgi pievienota.
auths.update_success=Autentifikācijas iestatījumi tika veiksmīgi saglabāti.
auths.update=Mainīt autentifikācijas iestatījumus
auths.delete=Dzēst šo autentifikāciju auths.delete=Dzēst šo autentifikāciju
auths.delete_auth_title=Autentifikācijas dzēšana auths.delete_auth_title=Autentifikācijas dzēšana
auths.delete_auth_desc=Šī autentifikācija tiks dzēsta, vai vēlaties turpināt? auths.delete_auth_desc=Šī autentifikācija tiks dzēsta, vai vēlaties turpināt?
config.require_sign_in_view=Nepieciešama autorizācija config.require_sign_in_view=Nepieciešama autorizācija
config.enable_cache_avatar=Glabāt profila attēlus kešatmiņā config.enable_cache_avatar=Glabāt profila attēlus kešatmiņā
config.mail_notify=Pasta paziņojumi config.mail_notify=Pasta paziņojumi
config.disable_key_size_check=Disable Minimum Key Size Check
config.enable_captcha=Enable Captcha
config.disable_key_size_check=Atspējot atslēgas minimālā garuma pārbaudi
config.enable_captcha=Iespējot drošības kodu
config.active_code_lives=Aktīvā koda ilgums config.active_code_lives=Aktīvā koda ilgums
config.reset_password_code_lives=Paroles atiestatīšanas koda ilgums config.reset_password_code_lives=Paroles atiestatīšanas koda ilgums
config.webhook_config=Tīkla āķu konfigurācija config.webhook_config=Tīkla āķu konfigurācija
[action] [action]
create_repo=izveidoja repozitoriju <a href="%s">%s</a> create_repo=izveidoja repozitoriju <a href="%s">%s</a>
rename_repo=renamed repository from <code>%[1]s</code> to <a href="%[2]s">%[3]s</a>
rename_repo=pārsauca repozitoriju no <code>%[1]s</code> uz <a href="%[2]s">%[3]s</a>
commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%s/src/%s">%[2]s</a> repozitorijā <a href="%[1]s">%[3]s</a> commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%s/src/%s">%[2]s</a> repozitorijā <a href="%[1]s">%[3]s</a>
create_issue=`reģistrēja problēmu <a href="%s/issues/%s">%s#%[2]s</a>` create_issue=`reģistrēja problēmu <a href="%s/issues/%s">%s#%[2]s</a>`
create_pull_request=`created pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
create_pull_request=`izveidoja izmaiņu pieprasījumu <a href="%s/pulls/%s">%s#%[2]s</a>`
comment_issue=`pievienoja komentāru problēmai <a href="%s/issues/%s">%s#%[2]s</a>` comment_issue=`pievienoja komentāru problēmai <a href="%s/issues/%s">%s#%[2]s</a>`
merge_pull_request=`merged pull request <a href="%s/pulls/%s">%s#%[2]s</a>`
merge_pull_request=`sapludināja izmaiņu pieprasījumu <a href="%s/pulls/%s">%s#%[2]s</a>`
transfer_repo=mainīja repozitorija <code>%s</code> īpašnieku uz <a href="%s">%s</a> transfer_repo=mainīja repozitorija <code>%s</code> īpašnieku uz <a href="%s">%s</a>
push_tag=pievienoja tagu <a href="%s/src/%s">%[2]s</a> repozitorijam <a href="%[1]s">%[3]s</a> push_tag=pievienoja tagu <a href="%s/src/%s">%[2]s</a> repozitorijam <a href="%[1]s">%[3]s</a>
compare_2_commits=Veikt salīdzināšanu starp šīm 2 revīzijām compare_2_commits=Veikt salīdzināšanu starp šīm 2 revīzijām

+ 2
- 1
conf/locale/locale_pt-BR.ini View File

issues.filter_sort.leastupdate=Menos recentemente atualizados issues.filter_sort.leastupdate=Menos recentemente atualizados
issues.filter_sort.mostcomment=Mais comentados issues.filter_sort.mostcomment=Mais comentados
issues.filter_sort.leastcomment=Menos comentados issues.filter_sort.leastcomment=Menos comentados
issues.opened_by=%[1]s foi aberto por <a href="/%[2]s">%[3]s</a>
issues.opened_by=%[1]s foi aberto por <a href="%[2]s">%[3]s</a>
issues.opened_by_fake=aberto %[1]s por %[2]s issues.opened_by_fake=aberto %[1]s por %[2]s
issues.previous=Página anterior issues.previous=Página anterior
issues.next=Próxima página issues.next=Próxima página
pulls.merged=Merge realizado pulls.merged=Merge realizado
pulls.has_merged=Este pull request foi mesclado com sucesso! pulls.has_merged=Este pull request foi mesclado com sucesso!
pulls.data_broken=Dados deste pull request foram quebrados devido à deleção de informação do fork. pulls.data_broken=Dados deste pull request foram quebrados devido à deleção de informação do fork.
pulls.is_checking=The conflict checking is still in progress, please refresh page in few moments.
pulls.can_auto_merge_desc=Você pode realizar uma auto-mescla neste pull request. pulls.can_auto_merge_desc=Você pode realizar uma auto-mescla neste pull request.
pulls.cannot_auto_merge_desc=Você não pode realizar uma auto-mescla porque há conflitos entre os commits. pulls.cannot_auto_merge_desc=Você não pode realizar uma auto-mescla porque há conflitos entre os commits.
pulls.cannot_auto_merge_helper=Por favor, utilize linha de comando para solucionar isto. pulls.cannot_auto_merge_helper=Por favor, utilize linha de comando para solucionar isto.

+ 1
- 1
gogs.go View File

"github.com/gogits/gogs/modules/setting" "github.com/gogits/gogs/modules/setting"
) )


const APP_VER = "0.6.17.1024 Beta"
const APP_VER = "0.6.17.1025 Beta"


func init() { func init() {
runtime.GOMAXPROCS(runtime.NumCPU()) runtime.GOMAXPROCS(runtime.NumCPU())

+ 9
- 9
models/issue.go View File

if err != nil { if err != nil {
log.Error(3, "GetUserByID[%d]: %v", i.ID, err) log.Error(3, "GetUserByID[%d]: %v", i.ID, err)
} }
case "is_pull":
if !i.IsPull {
return
}

i.PullRequest, err = GetPullRequestByIssueID(i.ID)
if err != nil {
log.Error(3, "GetPullRequestByIssueID[%d]: %v", i.ID, err)
}
case "created": case "created":
i.Created = regulateTimeZone(i.Created) i.Created = regulateTimeZone(i.Created)
} }
return sess.Commit() return sess.Commit()
} }


func (i *Issue) GetPullRequest() (err error) {
if i.PullRequest != nil {
return nil
}

i.PullRequest, err = GetPullRequestByIssueID(i.ID)
return err
}

// It's caller's responsibility to create action. // It's caller's responsibility to create action.
func newIssue(e *xorm.Session, repo *Repository, issue *Issue, labelIDs []int64, uuids []string, isPull bool) (err error) { func newIssue(e *xorm.Session, repo *Repository, issue *Issue, labelIDs []int64, uuids []string, isPull bool) (err error) {
if _, err = e.Insert(issue); err != nil { if _, err = e.Insert(issue); err != nil {

+ 59
- 50
models/pull.go View File

return fmt.Errorf("BaseRepo.PatchPath: %v", err) return fmt.Errorf("BaseRepo.PatchPath: %v", err)
} }


// Fast fail if patch does not exist, this assumes data is cruppted.
if !com.IsFile(patchPath) {
log.Trace("PullRequest[%d].testPatch: ignored cruppted data", pr.ID)
return nil
}

log.Trace("PullRequest[%d].testPatch(patchPath): %s", pr.ID, patchPath) log.Trace("PullRequest[%d].testPatch(patchPath): %s", pr.ID, patchPath)


if err := pr.BaseRepo.UpdateLocalCopy(); err != nil { if err := pr.BaseRepo.UpdateLocalCopy(); err != nil {


var PullRequestQueue = NewUniqueQueue(setting.Repository.PullRequestQueueLength) var PullRequestQueue = NewUniqueQueue(setting.Repository.PullRequestQueueLength)


// checkAndUpdateStatus checks if pull request is possible to levaing checking status,
// and set to be either conflict or mergeable.
func (pr *PullRequest) checkAndUpdateStatus() {
// Status is not changed to conflict means mergeable.
if pr.Status == PULL_REQUEST_STATUS_CHECKING {
pr.Status = PULL_REQUEST_STATUS_MERGEABLE
// UpdatePatch generates and saves a new patch.
func (pr *PullRequest) UpdatePatch() error {
if err := pr.GetHeadRepo(); err != nil {
return fmt.Errorf("GetHeadRepo: %v", err)
} else if pr.HeadRepo == nil {
log.Trace("PullRequest[%d].UpdatePatch: ignored cruppted data", pr.ID)
return nil
} }


// Make sure there is no waiting test to process before levaing the checking status.
if !PullRequestQueue.Exist(pr.ID) {
if err := pr.UpdateCols("status"); err != nil {
log.Error(4, "Update[%d]: %v", pr.ID, err)
}
if err := pr.GetBaseRepo(); err != nil {
return fmt.Errorf("GetBaseRepo: %v", err)
} }

headRepoPath, err := pr.HeadRepo.RepoPath()
if err != nil {
return fmt.Errorf("HeadRepo.RepoPath: %v", err)
}

headGitRepo, err := git.OpenRepository(headRepoPath)
if err != nil {
return fmt.Errorf("OpenRepository: %v", err)
}

patch, err := headGitRepo.GetPatch(pr.MergeBase, pr.HeadBranch)
if err != nil {
return fmt.Errorf("GetPatch: %v", err)
}

if err = pr.BaseRepo.SavePatch(pr.Index, patch); err != nil {
return fmt.Errorf("BaseRepo.SavePatch: %v", err)
}

return nil
} }


// addToTaskQueue adds itself to pull request test task queue.
func (pr *PullRequest) addToTaskQueue() {
// AddToTaskQueue adds itself to pull request test task queue.
func (pr *PullRequest) AddToTaskQueue() {
go PullRequestQueue.AddFunc(pr.ID, func() { go PullRequestQueue.AddFunc(pr.ID, func() {
pr.Status = PULL_REQUEST_STATUS_CHECKING pr.Status = PULL_REQUEST_STATUS_CHECKING
if err := pr.UpdateCols("status"); err != nil { if err := pr.UpdateCols("status"); err != nil {
log.Error(5, "addToTaskQueue.UpdateCols[%d].(add to queue): %v", pr.ID, err)
log.Error(5, "AddToTaskQueue.UpdateCols[%d].(add to queue): %v", pr.ID, err)
} }
}) })
} }
func addHeadRepoTasks(prs []*PullRequest) { func addHeadRepoTasks(prs []*PullRequest) {
for _, pr := range prs { for _, pr := range prs {
log.Trace("addHeadRepoTasks[%d]: composing new test task", pr.ID) log.Trace("addHeadRepoTasks[%d]: composing new test task", pr.ID)
if err := pr.GetHeadRepo(); err != nil {
log.Error(4, "GetHeadRepo[%d]: %v", pr.ID, err)
continue
} else if pr.HeadRepo == nil {
log.Trace("addHeadRepoTasks[%d]: ignored cruppted data", pr.ID)
continue
}

if err := pr.GetBaseRepo(); err != nil {
log.Error(4, "GetBaseRepo[%d]: %v", pr.ID, err)
continue
}

headRepoPath, err := pr.HeadRepo.RepoPath()
if err != nil {
log.Error(4, "HeadRepo.RepoPath[%d]: %v", pr.ID, err)
continue
}

headGitRepo, err := git.OpenRepository(headRepoPath)
if err != nil {
log.Error(4, "OpenRepository[%d]: %v", pr.ID, err)
continue
}

// Generate patch.
patch, err := headGitRepo.GetPatch(pr.MergeBase, pr.HeadBranch)
if err != nil {
log.Error(4, "GetPatch[%d]: %v", pr.ID, err)
continue
}

if err = pr.BaseRepo.SavePatch(pr.Index, patch); err != nil {
log.Error(4, "BaseRepo.SavePatch[%d]: %v", pr.ID, err)
if err := pr.UpdatePatch(); err != nil {
log.Error(4, "UpdatePatch: %v", err)
continue continue
} }


pr.addToTaskQueue()
pr.AddToTaskQueue()
} }
} }


return return
} }
for _, pr := range prs { for _, pr := range prs {
pr.addToTaskQueue()
pr.AddToTaskQueue()
}
}

// checkAndUpdateStatus checks if pull request is possible to levaing checking status,
// and set to be either conflict or mergeable.
func (pr *PullRequest) checkAndUpdateStatus() {
// Status is not changed to conflict means mergeable.
if pr.Status == PULL_REQUEST_STATUS_CHECKING {
pr.Status = PULL_REQUEST_STATUS_MERGEABLE
}

// Make sure there is no waiting test to process before levaing the checking status.
if !PullRequestQueue.Exist(pr.ID) {
if err := pr.UpdateCols("status"); err != nil {
log.Error(4, "Update[%d]: %v", pr.ID, err)
}
} }
} }



+ 22
- 0
routers/repo/issue.go View File

} }


if issue.IsPull { if issue.IsPull {
if err = issue.GetPullRequest(); err != nil {
ctx.Handle(500, "GetPullRequest", err)
return
}

ctx.Data["PageIsPullList"] = true ctx.Data["PageIsPullList"] = true
ctx.Data["PageIsPullConversation"] = true ctx.Data["PageIsPullConversation"] = true
} else { } else {
} }
return return
} }
if issue.IsPull {
if err = issue.GetPullRequest(); err != nil {
ctx.Handle(500, "GetPullRequest", err)
return
}
}


var attachments []string var attachments []string
if setting.AttachmentEnabled { if setting.AttachmentEnabled {
(form.Status == "reopen" || form.Status == "close") && (form.Status == "reopen" || form.Status == "close") &&
!(issue.IsPull && issue.HasMerged) { !(issue.IsPull && issue.HasMerged) {


// Duplication and conflict check should apply to reopen pull request.
var pr *models.PullRequest var pr *models.PullRequest


if form.Status == "reopen" && issue.IsPull { if form.Status == "reopen" && issue.IsPull {
return return
} }
} }

// Regenerate patch and test conflict.
if pr == nil {
if err = issue.UpdatePatch(); err != nil {
ctx.Handle(500, "UpdatePatch", err)
return
}

issue.AddToTaskQueue()
}
} }


if pr != nil { if pr != nil {

+ 4
- 1
routers/repo/pull.go View File

if err = issue.GetPoster(); err != nil { if err = issue.GetPoster(); err != nil {
ctx.Handle(500, "GetPoster", err) ctx.Handle(500, "GetPoster", err)
return nil return nil
} else if issue.GetHeadRepo(); err != nil {
} else if err = issue.GetPullRequest(); err != nil {
ctx.Handle(500, "GetPullRequest", err)
return nil
} else if err = issue.GetHeadRepo(); err != nil {
ctx.Handle(500, "GetHeadRepo", err) ctx.Handle(500, "GetHeadRepo", err)
return nil return nil
} }

+ 1
- 1
templates/.VERSION View File

0.6.17.1024 Beta
0.6.17.1025 Beta

Loading…
Cancel
Save