mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Fix forked repo has no icon and language stat. (#10791)
* Update header.tmpl * Update _repository.less * Update pull.go * Update indexer.go * Update pull.go * Update pull.go * Update indexer.go * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat * fix forked repo doesn't have language stat Thanks the advice from lunny and 6543. * fix forked repo doesn't have language stat Modified as suggested by 6543. * fix forked repo doesn't have language stat simplify the function. * fix forked repo doesn't have language stat update the indexer after the loop Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		| @@ -144,3 +144,32 @@ func (repo *Repository) UpdateLanguageStats(commitID string, stats map[string]fl | |||||||
|  |  | ||||||
| 	return sess.Commit() | 	return sess.Commit() | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // CopyLanguageStat Copy originalRepo language stat information to destRepo (use for forked repo) | ||||||
|  | func CopyLanguageStat(originalRepo, destRepo *Repository) error { | ||||||
|  | 	sess := x.NewSession() | ||||||
|  | 	defer sess.Close() | ||||||
|  | 	if err := sess.Begin(); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	RepoLang := make(LanguageStatList, 0, 6) | ||||||
|  | 	if err := sess.Where("`repo_id` = ?", originalRepo.ID).Desc("`percentage`").Find(&RepoLang); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	if len(RepoLang) > 0 { | ||||||
|  | 		for i := range RepoLang { | ||||||
|  | 			RepoLang[i].ID = 0 | ||||||
|  | 			RepoLang[i].RepoID = destRepo.ID | ||||||
|  | 			RepoLang[i].CreatedUnix = timeutil.TimeStampNow() | ||||||
|  | 		} | ||||||
|  | 		//update destRepo's indexer status | ||||||
|  | 		tmpCommitID := RepoLang[0].CommitID | ||||||
|  | 		if err := destRepo.updateIndexerStatus(sess, RepoIndexerTypeStats, tmpCommitID); err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
|  | 		if _, err := sess.Insert(&RepoLang); err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return sess.Commit() | ||||||
|  | } | ||||||
|   | |||||||
| @@ -82,6 +82,8 @@ func ForkRepository(doer, owner *models.User, oldRepo *models.Repository, name, | |||||||
| 	if err = repo.UpdateSize(ctx); err != nil { | 	if err = repo.UpdateSize(ctx); err != nil { | ||||||
| 		log.Error("Failed to update size for repository: %v", err) | 		log.Error("Failed to update size for repository: %v", err) | ||||||
| 	} | 	} | ||||||
|  | 	if err := models.CopyLanguageStat(oldRepo, repo); err != nil { | ||||||
|  | 		log.Error("Copy language stat from oldRepo failed") | ||||||
|  | 	} | ||||||
| 	return repo, models.CopyLFS(ctx, repo, oldRepo) | 	return repo, models.CopyLFS(ctx, repo, oldRepo) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ | |||||||
| 					{{else if .IsMirror}} | 					{{else if .IsMirror}} | ||||||
| 						{{svg "octicon-repo-clone" 32}} | 						{{svg "octicon-repo-clone" 32}} | ||||||
| 					{{else if .IsFork}} | 					{{else if .IsFork}} | ||||||
| 						{{svg "octicon-repo-fork" 32}} | 						{{svg "octicon-repo-forked" 32}} | ||||||
| 					{{else}} | 					{{else}} | ||||||
| 						{{svg "octicon-repo" 32}} | 						{{svg "octicon-repo" 32}} | ||||||
| 					{{end}} | 					{{end}} | ||||||
| @@ -38,7 +38,7 @@ | |||||||
| 						{{else if .IsMirror}} | 						{{else if .IsMirror}} | ||||||
| 							{{svg "octicon-repo-clone" 32}} | 							{{svg "octicon-repo-clone" 32}} | ||||||
| 						{{else if .IsFork}} | 						{{else if .IsFork}} | ||||||
| 							{{svg "octicon-repo-fork" 32}} | 							{{svg "octicon-repo-forked" 32}} | ||||||
| 						{{else}} | 						{{else}} | ||||||
| 							{{svg "octicon-repo" 32}} | 							{{svg "octicon-repo" 32}} | ||||||
| 						{{end}} | 						{{end}} | ||||||
| @@ -76,7 +76,7 @@ | |||||||
| 					{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}} | 					{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}} | ||||||
| 						<div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0"> | 						<div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0"> | ||||||
| 							<a class="ui compact basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny"> | 							<a class="ui compact basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny"> | ||||||
| 								{{svg "octicon-repo-forked" 16}}{{$.i18n.Tr "repo.fork"}} | 								{{svg "octicon-repo-forked" 15}}{{$.i18n.Tr "repo.fork"}} | ||||||
| 							</a> | 							</a> | ||||||
| 							<a class="ui basic label" href="{{.Link}}/forks"> | 							<a class="ui basic label" href="{{.Link}}/forks"> | ||||||
| 								{{.NumForks}} | 								{{.NumForks}} | ||||||
|   | |||||||
| @@ -35,7 +35,6 @@ | |||||||
|  |  | ||||||
|         .svg.octicon-repo-forked { |         .svg.octicon-repo-forked { | ||||||
|             margin-top: -1px; |             margin-top: -1px; | ||||||
|             height: 15px; |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         .button { |         .button { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 L0veSunshine
					L0veSunshine