fix #711
This commit is contained in:
		
							parent
							
								
									6f71632e3e
								
							
						
					
					
						commit
						9a1fe801e5
					
				|  | @ -3,3 +3,4 @@ | ||||||
| 
 | 
 | ||||||
| Thomas Fanninger <gogs.thomas@fanninger.at> | Thomas Fanninger <gogs.thomas@fanninger.at> | ||||||
| Łukasz Jan Niemier <lukasz@niemier.pl> | Łukasz Jan Niemier <lukasz@niemier.pl> | ||||||
|  | Lafriks <lafriks@gmail.com> | ||||||
|  | @ -34,7 +34,7 @@ account_settings=Konta iestatījumi | ||||||
| settings=Iestatījumi | settings=Iestatījumi | ||||||
| 
 | 
 | ||||||
| news_feed=Jaunumu plūsma | news_feed=Jaunumu plūsma | ||||||
| pull_requests=Vilkšanas pieprasījumi | pull_requests=Izmaiņu pieprasījumi | ||||||
| issues=Problēmas | issues=Problēmas | ||||||
| 
 | 
 | ||||||
| cancel=Atcelt | cancel=Atcelt | ||||||
|  | @ -51,12 +51,12 @@ db_name=Datu bāzes nosaukums | ||||||
| db_helper=Nepieciešams izmantot MySQL INNODB dzini ar rakstzīmju kopu utf8_general_ci. | db_helper=Nepieciešams izmantot MySQL INNODB dzini ar rakstzīmju kopu utf8_general_ci. | ||||||
| ssl_mode=SSL režīms | ssl_mode=SSL režīms | ||||||
| path=Ceļš | path=Ceļš | ||||||
| sqlite_helper=SQLite 3 datu bāzes faila ceļš. | sqlite_helper=SQLite 3 datu bāzes faila atrašanās vieta. | ||||||
| general_title=Gogs vispārīgie iestatījumi | general_title=Gogs vispārīgie iestatījumi | ||||||
| repo_path=Repozitorija saknes ceļš | repo_path=Repozitoriju glabāšanas vieta | ||||||
| repo_path_helper=Visi Git attālinātie repozitoriji tiks glabāti šajā direktorijā. | repo_path_helper=Visi Git attālinātie repozitoriji tiks glabāti šajā direktorijā. | ||||||
| run_user=Izpildes lietotājs | run_user=Izpildes lietotājs | ||||||
| run_user_helper=Lietotājam ir jābūt tiesībām rakstīšanas tiesībām repozitorija saknes direktorijai un Gogs jābūt palaistam zem šī lietotāja. | run_user_helper=Lietotājam ir jābūt rakstīšanas tiesībām repozitorija saknes direktorijai un Gogs jābūt palaistam zem šī lietotāja. | ||||||
| domain=Domēns | domain=Domēns | ||||||
| domain_helper=Tas ietekmē SSH klonēšanas URL. | domain_helper=Tas ietekmē SSH klonēšanas URL. | ||||||
| app_url=Lietotnes URL | app_url=Lietotnes URL | ||||||
|  | @ -77,14 +77,14 @@ install_gogs=Instalēt Gogs | ||||||
| test_git_failed=Kļūda pārbaudot 'git' komandu: %v | test_git_failed=Kļūda pārbaudot 'git' komandu: %v | ||||||
| sqlite3_not_available=Jūsu versija neatbalsta SQLite3, lūdzu lejupielādējiet oficiālo bināro versiju no %s, NEVIS gobuild versiju. | sqlite3_not_available=Jūsu versija neatbalsta SQLite3, lūdzu lejupielādējiet oficiālo bināro versiju no %s, NEVIS gobuild versiju. | ||||||
| invalid_db_setting=Datu bāzes iestatījums nav pareizs: %v | invalid_db_setting=Datu bāzes iestatījums nav pareizs: %v | ||||||
| invalid_repo_path=Repozitorija saknes ceļš ir nekorekts: %v | invalid_repo_path=Repozitorija atrašanās vieta ir nekorekta: %v | ||||||
| run_user_not_match=Izpildes lietotājs nav pašreizējais lietotājs: %s -> %s | run_user_not_match=Izpildes lietotājs nav pašreizējais lietotājs: %s -> %s | ||||||
| save_config_failed=Neizdevās saglanāt konfigurāciju: %v | save_config_failed=Neizdevās saglabāt konfigurāciju: %v | ||||||
| invalid_admin_setting=Nekorekts admin konta iestatījums: %v | invalid_admin_setting=Nekorekts admin konta iestatījums: %v | ||||||
| install_success=Laipni lūdzam! Mēs priecājamies, ka Jūs izvēlaties Gogs, patīkamu lietošanu! | install_success=Laipni lūdzam! Mēs priecājamies, ka Jūs izvēlaties Gogs, patīkamu lietošanu! | ||||||
| 
 | 
 | ||||||
| [home] | [home] | ||||||
| uname_holder=Lietotājvārds vai e-pasta adrese | uname_holder=Lietotājvārds vai e-pasts | ||||||
| password_holder=Parole | password_holder=Parole | ||||||
| switch_dashboard_context=Mainīt infopaneļa kontekstu | switch_dashboard_context=Mainīt infopaneļa kontekstu | ||||||
| my_repos=Mani repozitoriji | my_repos=Mani repozitoriji | ||||||
|  | @ -291,7 +291,7 @@ no_desc=Nav apraksta | ||||||
| quick_guide=Īsa pamācība | quick_guide=Īsa pamācība | ||||||
| clone_this_repo=Klonēt šo repozitoriju | clone_this_repo=Klonēt šo repozitoriju | ||||||
| create_new_repo_command=Izveidot jaunu repozitoriju komandrindā | create_new_repo_command=Izveidot jaunu repozitoriju komandrindā | ||||||
| push_exist_repo=Veikt <code>push</code> darbību eksistējošam repozitorijam no komandrindas | push_exist_repo=Nosūtīt izmaiņas no komandrindas eksistējošam repozitorijam | ||||||
| 
 | 
 | ||||||
| branch=Atzars | branch=Atzars | ||||||
| tree=Koks | tree=Koks | ||||||
|  | @ -354,7 +354,7 @@ settings.payload_url=Vērtuma URL | ||||||
| settings.content_type=Satura tips | settings.content_type=Satura tips | ||||||
| settings.secret=Noslēpums | settings.secret=Noslēpums | ||||||
| settings.event_desc=Kādu notikumu rezultātā tiktu izsaukts tīmekļā āķis? | settings.event_desc=Kādu notikumu rezultātā tiktu izsaukts tīmekļā āķis? | ||||||
| settings.event_push_only=Tikai <code>push</code> notikums. | settings.event_push_only=Tikai izmaiņu nosūtīšanas notikumiem. | ||||||
| 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. | ||||||
|  | @ -430,7 +430,7 @@ teams.leave=Atstāt | ||||||
| teams.read_access=Lasīšanas piekļuve | teams.read_access=Lasīšanas piekļuve | ||||||
| teams.read_access_helper=Komanda varēs skatīties un klonēt šīs organizācijas repozitorijus. | teams.read_access_helper=Komanda varēs skatīties un klonēt šīs organizācijas repozitorijus. | ||||||
| teams.write_access=Rakstīšanas piekļuve | teams.write_access=Rakstīšanas piekļuve | ||||||
| teams.write_access_helper=Komanda varēs skatīties un klonēt, kā arī veikt <code>push</code> darbību šīs organizācijas repozitorijiem. | teams.write_access_helper=Komanda varēs skatīties un klonēt, kā arī nosūtīt izmaiņas šīs organizācijas repozitorijiem. | ||||||
| teams.admin_access=Administratora piekļuve | teams.admin_access=Administratora piekļuve | ||||||
| teams.admin_access_helper=Šī komanda varēs veikt push/pull komandas tās repozitorijiem, kā arī tiem pievienot citus līdzstrādniekus. | teams.admin_access_helper=Šī komanda varēs veikt push/pull komandas tās repozitorijiem, kā arī tiem pievienot citus līdzstrādniekus. | ||||||
| teams.no_desc=Komandai nav apraksta | teams.no_desc=Komandai nav apraksta | ||||||
|  | @ -444,7 +444,7 @@ teams.delete_team_title=Komandas dzēšana | ||||||
| teams.delete_team_desc=Komanda tiks dzēsta, vai vēlaties turpināt? Komandas biedri var zaudēt piekļuvi dažiem vai pat visiem repozitorijiem. | teams.delete_team_desc=Komanda tiks dzēsta, vai vēlaties turpināt? Komandas biedri var zaudēt piekļuvi dažiem vai pat visiem repozitorijiem. | ||||||
| teams.delete_team_success=Komanda tika veiksmīgi izdzēsta. | teams.delete_team_success=Komanda tika veiksmīgi izdzēsta. | ||||||
| teams.read_permission_desc=Šai komandai ir <strong>lasīšanas</strong> tiesības: dalībnieki var skatīties un klonēt komandas repozitorijus. | teams.read_permission_desc=Šai komandai ir <strong>lasīšanas</strong> tiesības: dalībnieki var skatīties un klonēt komandas repozitorijus. | ||||||
| teams.write_permission_desc=Šai komandai ir <strong>rakstīšanas</strong> tiesības: dalībnieki var lasīt un veikt <code>push</code> komandas repozitorijiem. | teams.write_permission_desc=Šai komandai ir <strong>rakstīšanas</strong> tiesības: dalībnieki var lasīt un nosūtīt izmaiņas repozitorijiem. | ||||||
| teams.admin_permission_desc=Šai komandai ir <strong>administratora</strong> tiesības: dalībnieki var lasīt, rakstīt un pievienot citus dalībniekus komandas repozitorijiem. | teams.admin_permission_desc=Šai komandai ir <strong>administratora</strong> tiesības: dalībnieki var lasīt, rakstīt un pievienot citus dalībniekus komandas repozitorijiem. | ||||||
| teams.repositories=Komandas repozitoriji | teams.repositories=Komandas repozitoriji | ||||||
| teams.add_team_repository=Pievienot komandas repozitoriju | teams.add_team_repository=Pievienot komandas repozitoriju | ||||||
|  | @ -529,12 +529,12 @@ 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. | ||||||
| 
 | 
 | ||||||
| orgs.org_manage_panel=Organizācijas pārvaldīšanas panelis | orgs.org_manage_panel=Organizāciju pārvaldības panelis | ||||||
| orgs.name=Nosaukums | orgs.name=Nosaukums | ||||||
| orgs.teams=Komandas | orgs.teams=Komandas | ||||||
| orgs.members=Dalībnieki | orgs.members=Dalībnieki | ||||||
| 
 | 
 | ||||||
| repos.repo_manage_panel=Repozitorija pārvaldes panelis | repos.repo_manage_panel=Repozitoriju pārvaldības panelis | ||||||
| repos.owner=Īpašnieks | repos.owner=Īpašnieks | ||||||
| repos.name=Vārds | repos.name=Vārds | ||||||
| repos.private=Privāts | repos.private=Privāts | ||||||
|  | @ -542,7 +542,7 @@ repos.watches=Vērošana | ||||||
| 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=Autorizācijas pārvaldīšanas panelis | auths.auth_manage_panel=Autorizāciju pārvaldības panelis | ||||||
| auths.new=Pievienot jaunu autorizācijas veidu | auths.new=Pievienot jaunu autorizācijas veidu | ||||||
| auths.name=Nosaukums | auths.name=Nosaukums | ||||||
| auths.type=Veids | auths.type=Veids | ||||||
|  | @ -580,9 +580,9 @@ config.offline_mode=Bezsaistes režīms | ||||||
| config.disable_router_log=Atspējot maršrutētāja žurnalizēšanu | config.disable_router_log=Atspējot maršrutētāja žurnalizēšanu | ||||||
| config.run_user=Izpildes lietotājs | config.run_user=Izpildes lietotājs | ||||||
| config.run_mode=Izpildes režīms | config.run_mode=Izpildes režīms | ||||||
| config.repo_root_path=Repozitorija saknes ceļš | config.repo_root_path=Repozitoriju glabāšanas vieta | ||||||
| config.static_file_root_path=Statisko failu direktorija | config.static_file_root_path=Statisko failu atrašanās vieta | ||||||
| config.log_file_root_path=Žurnalizēšānas failu direktorija | config.log_file_root_path=Žurnalizēšanas failu glabāšanas vieta | ||||||
| config.script_type=Skripta veids | config.script_type=Skripta veids | ||||||
| config.reverse_auth_user=Reversā lietotāja autentifikācija | config.reverse_auth_user=Reversā lietotāja autentifikācija | ||||||
| config.db_config=Datu bāzes konfigurācija | config.db_config=Datu bāzes konfigurācija | ||||||
|  | @ -650,12 +650,12 @@ notices.op=Op. | ||||||
| notices.delete_success=Sistēmas paziņojums tika veiksmīgi izdzēsts. | notices.delete_success=Sistēmas paziņojums tika veiksmīgi izdzēsts. | ||||||
| 
 | 
 | ||||||
| [action] | [action] | ||||||
| create_repo=izveidots repozitorijs <a href="%s/%s">%s</a> | create_repo=izveidoja repozitoriju <a href="%s/%s">%s</a> | ||||||
| commit_repo=veica <code>push</code> atzaram <a href="%s/%s/src/%s">%s</a> repozitorijam <a href="%s/%s">%s</a> | commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%s/%s/src/%s">%s</a> repozitorijā <a href="%s/%s">%s</a> | ||||||
| create_issue=reģistrēta problēma <a href="%s/%s/issues/%s">%s#%s</a> | create_issue=reģistrēja problēmu <a href="%s/%s/issues/%s">%s#%s</a> | ||||||
| comment_issue=pievienots komentārs problēmai <a href="%s/%s/issues/%s">%s#%s</a> | comment_issue=pievienoja komentāru problēmai <a href="%s/%s/issues/%s">%s#%s</a> | ||||||
| transfer_repo=Mainīja repozitorija īpašnieku <code>%s</code> uz <a href="/%s%s">%s</a> | transfer_repo=mainīja repozitorija <code>%s</code> īpašnieku uz <a href="/%s%s">%s</a> | ||||||
| push_tag=veica <code>push</code> birkai <a href="%s/%s/src/%s">%s</a> uz <a href="%s/%s">%s</a> | push_tag=pievienoja birku <a href="%s/%s/src/%s">%s</a> repozitorijam <a href="%s/%s">%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 | ||||||
| 
 | 
 | ||||||
| [tool] | [tool] | ||||||
|  | @ -665,7 +665,7 @@ now=tagad | ||||||
| 1s=1 sekundi %s | 1s=1 sekundi %s | ||||||
| 1m=1 minūti %s | 1m=1 minūti %s | ||||||
| 1h=1 stundu %s | 1h=1 stundu %s | ||||||
| 1d=1 diena %s | 1d=1 dienu %s | ||||||
| 1w=1 nedēļu %s | 1w=1 nedēļu %s | ||||||
| 1mon=1 mēnesi %s | 1mon=1 mēnesi %s | ||||||
| 1y=1 gadu %s | 1y=1 gadu %s | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								gogs.go
								
								
								
								
							
							
						
						
									
										2
									
								
								gogs.go
								
								
								
								
							|  | @ -17,7 +17,7 @@ import ( | ||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const APP_VER = "0.5.8.1205 Beta" | const APP_VER = "0.5.8.1209 Beta" | ||||||
| 
 | 
 | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ package models | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"bufio" | 	"bufio" | ||||||
|  | 	"bytes" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"os" | 	"os" | ||||||
|  | @ -15,8 +16,10 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/Unknwon/com" | 	"github.com/Unknwon/com" | ||||||
| 
 | 
 | ||||||
|  | 	"github.com/gogits/gogs/modules/base" | ||||||
| 	"github.com/gogits/gogs/modules/git" | 	"github.com/gogits/gogs/modules/git" | ||||||
| 	"github.com/gogits/gogs/modules/log" | 	"github.com/gogits/gogs/modules/log" | ||||||
|  | 	"github.com/gogits/gogs/modules/mahonia" | ||||||
| 	"github.com/gogits/gogs/modules/process" | 	"github.com/gogits/gogs/modules/process" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | @ -80,6 +83,8 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff | ||||||
| 
 | 
 | ||||||
| 		leftLine, rightLine int | 		leftLine, rightLine int | ||||||
| 		isTooLong           bool | 		isTooLong           bool | ||||||
|  | 		// FIXME: use first 30 lines to detect file encoding. Should use cache in the future.
 | ||||||
|  | 		buf bytes.Buffer | ||||||
| 	) | 	) | ||||||
| 
 | 
 | ||||||
| 	diff := &Diff{Files: make([]*DiffFile, 0)} | 	diff := &Diff{Files: make([]*DiffFile, 0)} | ||||||
|  | @ -97,6 +102,11 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff | ||||||
| 
 | 
 | ||||||
| 		i = i + 1 | 		i = i + 1 | ||||||
| 
 | 
 | ||||||
|  | 		// FIXME: use first 30 lines to detect file encoding.
 | ||||||
|  | 		if i <= 30 { | ||||||
|  | 			buf.WriteString(line) | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		// Diff data too large, we only show the first about maxlines lines
 | 		// Diff data too large, we only show the first about maxlines lines
 | ||||||
| 		if i == maxlines { | 		if i == maxlines { | ||||||
| 			isTooLong = true | 			isTooLong = true | ||||||
|  | @ -181,6 +191,21 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// FIXME: use first 30 lines to detect file encoding.
 | ||||||
|  | 	charset, err := base.DetectEncoding(buf.Bytes()) | ||||||
|  | 	if charset != "utf8" && err == nil { | ||||||
|  | 		decoder := mahonia.NewDecoder(charset) | ||||||
|  | 		if decoder != nil { | ||||||
|  | 			for _, f := range diff.Files { | ||||||
|  | 				for _, sec := range f.Sections { | ||||||
|  | 					for _, l := range sec.Lines { | ||||||
|  | 						l.Content = decoder.ConvertString(l.Content) | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	return diff, nil | 	return diff, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -154,7 +154,7 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte { | ||||||
| 		rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf( | 		rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf( | ||||||
| 			` <a href="%s">#%s</a>`, m, ShortSha(string(m[i+7:j])))), -1) | 			` <a href="%s">#%s</a>`, m, ShortSha(string(m[i+7:j])))), -1) | ||||||
| 	} | 	} | ||||||
| 	rawBytes = RenderissueIndexPattern(rawBytes, urlPrefix) | 	rawBytes = RenderIssueIndexPattern(rawBytes, urlPrefix) | ||||||
| 	rawBytes = RenderSha1CurrentPattern(rawBytes, urlPrefix) | 	rawBytes = RenderSha1CurrentPattern(rawBytes, urlPrefix) | ||||||
| 	return rawBytes | 	return rawBytes | ||||||
| } | } | ||||||
|  | @ -168,7 +168,7 @@ func RenderSha1CurrentPattern(rawBytes []byte, urlPrefix string) []byte { | ||||||
| 	return rawBytes | 	return rawBytes | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func RenderissueIndexPattern(rawBytes []byte, urlPrefix string) []byte { | func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte { | ||||||
| 	ms := issueIndexPattern.FindAll(rawBytes, -1) | 	ms := issueIndexPattern.FindAll(rawBytes, -1) | ||||||
| 	for _, m := range ms { | 	for _, m := range ms { | ||||||
| 		rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf( | 		rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf( | ||||||
|  |  | ||||||
|  | @ -47,18 +47,23 @@ func ShortSha(sha1 string) string { | ||||||
| 	return sha1 | 	return sha1 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func ToUtf8WithErr(content []byte) (error, string) { | func DetectEncoding(content []byte) (string, error) { | ||||||
| 	detector := chardet.NewTextDetector() | 	detector := chardet.NewTextDetector() | ||||||
| 	result, err := detector.DetectBest(content) | 	result, err := detector.DetectBest(content) | ||||||
|  | 	return result.Charset, err | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func ToUtf8WithErr(content []byte) (error, string) { | ||||||
|  | 	charset, err := DetectEncoding(content) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err, "" | 		return err, "" | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if result.Charset == "utf8" { | 	if charset == "utf8" { | ||||||
| 		return nil, string(content) | 		return nil, string(content) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	decoder := mahonia.NewDecoder(result.Charset) | 	decoder := mahonia.NewDecoder(charset) | ||||||
| 	if decoder != nil { | 	if decoder != nil { | ||||||
| 		return nil, decoder.ConvertString(string(content)) | 		return nil, decoder.ConvertString(string(content)) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -33,6 +33,16 @@ func RefCommits(ctx *middleware.Context) { | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { | ||||||
|  | 	newCommits := list.New() | ||||||
|  | 	for e := oldCommits.Front(); e != nil; e = e.Next() { | ||||||
|  | 		c := e.Value.(*git.Commit) | ||||||
|  | 		c.CommitMessage = string(base.RenderIssueIndexPattern([]byte(c.CommitMessage), repoLink)) | ||||||
|  | 		newCommits.PushBack(c) | ||||||
|  | 	} | ||||||
|  | 	return newCommits | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func Commits(ctx *middleware.Context) { | func Commits(ctx *middleware.Context) { | ||||||
| 	ctx.Data["IsRepoToolbarCommits"] = true | 	ctx.Data["IsRepoToolbarCommits"] = true | ||||||
| 
 | 
 | ||||||
|  | @ -86,16 +96,6 @@ func Commits(ctx *middleware.Context) { | ||||||
| 	ctx.HTML(200, COMMITS) | 	ctx.HTML(200, COMMITS) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { |  | ||||||
| 	newCommits := list.New() |  | ||||||
| 	for e := oldCommits.Front(); e != nil; e = e.Next() { |  | ||||||
| 		c := e.Value.(*git.Commit) |  | ||||||
| 		c.CommitMessage = string(base.RenderissueIndexPattern([]byte(c.CommitMessage), repoLink)) |  | ||||||
| 		newCommits.PushBack(c) |  | ||||||
| 	} |  | ||||||
| 	return newCommits |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func SearchCommits(ctx *middleware.Context) { | func SearchCommits(ctx *middleware.Context) { | ||||||
| 	ctx.Data["IsSearchPage"] = true | 	ctx.Data["IsSearchPage"] = true | ||||||
| 	ctx.Data["IsRepoToolbarCommits"] = true | 	ctx.Data["IsRepoToolbarCommits"] = true | ||||||
|  | @ -206,7 +206,7 @@ func Diff(ctx *middleware.Context) { | ||||||
| 	commitId := ctx.Repo.CommitId | 	commitId := ctx.Repo.CommitId | ||||||
| 
 | 
 | ||||||
| 	commit := ctx.Repo.Commit | 	commit := ctx.Repo.Commit | ||||||
| 	commit.CommitMessage = string(base.RenderissueIndexPattern([]byte(commit.CommitMessage), ctx.Repo.RepoLink)) | 	commit.CommitMessage = string(base.RenderIssueIndexPattern([]byte(commit.CommitMessage), ctx.Repo.RepoLink)) | ||||||
| 	diff, err := models.GetDiffCommit(models.RepoPath(userName, repoName), | 	diff, err := models.GetDiffCommit(models.RepoPath(userName, repoName), | ||||||
| 		commitId, setting.MaxGitDiffLines) | 		commitId, setting.MaxGitDiffLines) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  |  | ||||||
|  | @ -152,6 +152,11 @@ func Home(ctx *middleware.Context) { | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		// Render issue index links.
 | ||||||
|  | 		for _, f := range files { | ||||||
|  | 			c := f[1].(*git.Commit) | ||||||
|  | 			c.CommitMessage = string(base.RenderIssueIndexPattern([]byte(c.CommitMessage), ctx.Repo.RepoLink)) | ||||||
|  | 		} | ||||||
| 		ctx.Data["Files"] = files | 		ctx.Data["Files"] = files | ||||||
| 
 | 
 | ||||||
| 		var readmeFile *git.Blob | 		var readmeFile *git.Blob | ||||||
|  | @ -199,7 +204,7 @@ func Home(ctx *middleware.Context) { | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		lastCommit := ctx.Repo.Commit | 		lastCommit := ctx.Repo.Commit | ||||||
| 		lastCommit.CommitMessage = string(base.RenderissueIndexPattern([]byte(lastCommit.CommitMessage), ctx.Repo.RepoLink)) | 		lastCommit.CommitMessage = string(base.RenderIssueIndexPattern([]byte(lastCommit.CommitMessage), ctx.Repo.RepoLink)) | ||||||
| 		if len(treePath) > 0 { | 		if len(treePath) > 0 { | ||||||
| 			c, err := ctx.Repo.Commit.GetCommitOfRelPath(treePath) | 			c, err := ctx.Repo.Commit.GetCommitOfRelPath(treePath) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
|  |  | ||||||
|  | @ -1 +1 @@ | ||||||
| 0.5.8.1205 Beta | 0.5.8.1209 Beta | ||||||
|  | @ -38,8 +38,8 @@ | ||||||
| 					                </table> | 					                </table> | ||||||
| 					                {{if or .LastPageNum .NextPageNum}} | 					                {{if or .LastPageNum .NextPageNum}} | ||||||
| 					                <ul class="pagination"> | 					                <ul class="pagination"> | ||||||
| 					                    {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.LastPageNum}}">« {{.i18n.Tr "admin.prev"}}</a></li>{{end}} | 					                    {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/notices?p={{.LastPageNum}}">« {{.i18n.Tr "admin.prev"}}</a></li>{{end}} | ||||||
| 					                    {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.NextPageNum}}">» {{.i18n.Tr "admin.next"}}</a></li>{{end}} | 					                    {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/notices?p={{.NextPageNum}}">» {{.i18n.Tr "admin.next"}}</a></li>{{end}} | ||||||
| 					                </ul> | 					                </ul> | ||||||
| 					                {{end}} | 					                {{end}} | ||||||
| 				                </div> | 				                </div> | ||||||
|  |  | ||||||
|  | @ -112,7 +112,7 @@ | ||||||
|                             </td> |                             </td> | ||||||
|                              |                              | ||||||
|                             <td class="lines-code"> |                             <td class="lines-code"> | ||||||
|                                 <pre>{{ToUtf8 .Content}}</pre> |                                 <pre>{{.Content}}</pre> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         {{end}} |                         {{end}} | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| <table id="repo-files-table" class="table-border table-block table-radius"> | <table id="repo-files-table" class="table-border table-block table-radius"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|         <th colspan="4" class="clear"> |         <th colspan="5" class="clear"> | ||||||
|             <span class="author left"> |             <span class="author left"> | ||||||
|                 {{if .LastCommitUser}} |                 {{if .LastCommitUser}} | ||||||
|                 <img class="avatar-24 radius" src="{{.LastCommitUser.AvatarLink}}" /> |                 <img class="avatar-24 radius" src="{{.LastCommitUser.AvatarLink}}" /> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue