Skip to content

Commit 08208cd

Browse files
L0veSunshinetechknowlogicklafriks
authored
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 <[email protected]> Co-authored-by: Lauris BH <[email protected]>
1 parent b40107c commit 08208cd

File tree

4 files changed

+35
-5
lines changed

4 files changed

+35
-5
lines changed

models/repo_language_stats.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,32 @@ func (repo *Repository) UpdateLanguageStats(commitID string, stats map[string]fl
144144

145145
return sess.Commit()
146146
}
147+
148+
// CopyLanguageStat Copy originalRepo language stat information to destRepo (use for forked repo)
149+
func CopyLanguageStat(originalRepo, destRepo *Repository) error {
150+
sess := x.NewSession()
151+
defer sess.Close()
152+
if err := sess.Begin(); err != nil {
153+
return err
154+
}
155+
RepoLang := make(LanguageStatList, 0, 6)
156+
if err := sess.Where("`repo_id` = ?", originalRepo.ID).Desc("`percentage`").Find(&RepoLang); err != nil {
157+
return err
158+
}
159+
if len(RepoLang) > 0 {
160+
for i := range RepoLang {
161+
RepoLang[i].ID = 0
162+
RepoLang[i].RepoID = destRepo.ID
163+
RepoLang[i].CreatedUnix = timeutil.TimeStampNow()
164+
}
165+
//update destRepo's indexer status
166+
tmpCommitID := RepoLang[0].CommitID
167+
if err := destRepo.updateIndexerStatus(sess, RepoIndexerTypeStats, tmpCommitID); err != nil {
168+
return err
169+
}
170+
if _, err := sess.Insert(&RepoLang); err != nil {
171+
return err
172+
}
173+
}
174+
return sess.Commit()
175+
}

modules/repository/fork.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ func ForkRepository(doer, owner *models.User, oldRepo *models.Repository, name,
8282
if err = repo.UpdateSize(ctx); err != nil {
8383
log.Error("Failed to update size for repository: %v", err)
8484
}
85-
85+
if err := models.CopyLanguageStat(oldRepo, repo); err != nil {
86+
log.Error("Copy language stat from oldRepo failed")
87+
}
8688
return repo, models.CopyLFS(ctx, repo, oldRepo)
8789
}

templates/repo/header.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
{{else if .IsMirror}}
1818
{{svg "octicon-repo-clone" 32}}
1919
{{else if .IsFork}}
20-
{{svg "octicon-repo-fork" 32}}
20+
{{svg "octicon-repo-forked" 32}}
2121
{{else}}
2222
{{svg "octicon-repo" 32}}
2323
{{end}}
@@ -38,7 +38,7 @@
3838
{{else if .IsMirror}}
3939
{{svg "octicon-repo-clone" 32}}
4040
{{else if .IsFork}}
41-
{{svg "octicon-repo-fork" 32}}
41+
{{svg "octicon-repo-forked" 32}}
4242
{{else}}
4343
{{svg "octicon-repo" 32}}
4444
{{end}}
@@ -76,7 +76,7 @@
7676
{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}}
7777
<div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0">
7878
<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">
79-
{{svg "octicon-repo-forked" 16}}{{$.i18n.Tr "repo.fork"}}
79+
{{svg "octicon-repo-forked" 15}}{{$.i18n.Tr "repo.fork"}}
8080
</a>
8181
<a class="ui basic label" href="{{.Link}}/forks">
8282
{{.NumForks}}

web_src/less/_repository.less

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
.svg.octicon-repo-forked {
3737
margin-top: -1px;
38-
height: 15px;
3938
}
4039

4140
.button {

0 commit comments

Comments
 (0)