Skip to content

Commit 565a62b

Browse files
committed
Fix
1 parent 38a4455 commit 565a62b

File tree

11 files changed

+27
-68
lines changed

11 files changed

+27
-68
lines changed

models/repo/repo.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,10 @@ func RelativePath(ownerName, repoName string) string {
219219
return strings.ToLower(ownerName) + "/" + strings.ToLower(repoName) + ".git"
220220
}
221221

222+
func RelativeWikiPath(ownerName, repoName string) string {
223+
return strings.ToLower(ownerName) + "/" + strings.ToLower(repoName) + ".wiki.git"
224+
}
225+
222226
// RelativePath should be an unix style path like username/reponame.git
223227
func (repo *Repository) RelativePath() string {
224228
return RelativePath(repo.OwnerName, repo.Name)
@@ -232,7 +236,7 @@ func (sr StorageRepo) RelativePath() string {
232236
}
233237

234238
func (repo *Repository) WikiStorageRepo() StorageRepo {
235-
return StorageRepo(strings.ToLower(repo.OwnerName) + "/" + strings.ToLower(repo.Name) + ".wiki.git")
239+
return StorageRepo(RelativeWikiPath(repo.OwnerName, repo.Name))
236240
}
237241

238242
// SanitizedOriginalURL returns a sanitized OriginalURL

models/repo/wiki_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ func TestRepository_WikiPath(t *testing.T) {
4040
func TestRepository_HasWiki(t *testing.T) {
4141
unittest.PrepareTestEnv(t)
4242
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
43-
exist, err := gitrepo.IsWikiRepositoryExist(t.Context(), repo1)
43+
exist, err := gitrepo.IsRepositoryExist(t.Context(), repo1.WikiStorageRepo())
4444
assert.NoError(t, err)
4545
assert.True(t, exist)
4646

4747
repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
48-
exist, err = gitrepo.IsWikiRepositoryExist(t.Context(), repo2)
48+
exist, err = gitrepo.IsRepositoryExist(t.Context(), repo2.WikiStorageRepo())
4949
assert.NoError(t, err)
5050
assert.False(t, exist)
5151
}

modules/gitrepo/wiki.go

Lines changed: 0 additions & 46 deletions
This file was deleted.

routers/web/repo/wiki.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ func Wiki(ctx *context.Context) {
557557
return
558558
}
559559

560-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, ctx.Repo.Repository)
560+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, ctx.Repo.Repository.WikiStorageRepo())
561561
if err != nil {
562562
ctx.ServerError("IsWikiRepositoryExist", err)
563563
return
@@ -603,7 +603,7 @@ func Wiki(ctx *context.Context) {
603603
func WikiRevision(ctx *context.Context) {
604604
ctx.Data["CanWriteWiki"] = ctx.Repo.CanWrite(unit.TypeWiki) && !ctx.Repo.Repository.IsArchived
605605

606-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, ctx.Repo.Repository)
606+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, ctx.Repo.Repository.WikiStorageRepo())
607607
if err != nil {
608608
ctx.ServerError("IsWikiRepositoryExist", err)
609609
return
@@ -644,7 +644,7 @@ func WikiRevision(ctx *context.Context) {
644644

645645
// WikiPages render wiki pages list page
646646
func WikiPages(ctx *context.Context) {
647-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, ctx.Repo.Repository)
647+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, ctx.Repo.Repository.WikiStorageRepo())
648648
if err != nil {
649649
ctx.ServerError("IsWikiRepositoryExist", err)
650650
return
@@ -768,7 +768,7 @@ func WikiRaw(ctx *context.Context) {
768768
func NewWiki(ctx *context.Context) {
769769
ctx.Data["Title"] = ctx.Tr("repo.wiki.new_page")
770770

771-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, ctx.Repo.Repository)
771+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, ctx.Repo.Repository.WikiStorageRepo())
772772
if err != nil {
773773
ctx.ServerError("IsWikiRepositoryExist", err)
774774
return
@@ -826,7 +826,7 @@ func NewWikiPost(ctx *context.Context) {
826826
func EditWiki(ctx *context.Context) {
827827
ctx.Data["PageIsWikiEdit"] = true
828828

829-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, ctx.Repo.Repository)
829+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, ctx.Repo.Repository.WikiStorageRepo())
830830
if err != nil {
831831
ctx.ServerError("IsWikiRepositoryExist", err)
832832
return

routers/web/repo/wiki_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ func TestDefaultWikiBranch(t *testing.T) {
241241

242242
// repo with no wiki
243243
repoWithNoWiki := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
244-
exist, err := gitrepo.IsWikiRepositoryExist(db.DefaultContext, repoWithNoWiki)
244+
exist, err := gitrepo.IsRepositoryExist(db.DefaultContext, repoWithNoWiki.WikiStorageRepo())
245245
assert.NoError(t, err)
246246
assert.False(t, exist)
247247
assert.NoError(t, wiki_service.ChangeDefaultWikiBranch(db.DefaultContext, repoWithNoWiki, "main"))

services/mirror/mirror_pull.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func UpdateAddress(ctx context.Context, m *repo_model.Mirror, addr string) error
5252
return err
5353
}
5454

55-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, m.Repo)
55+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, m.Repo.WikiStorageRepo())
5656
if err != nil {
5757
return err
5858
}
@@ -353,7 +353,7 @@ func runSync(ctx context.Context, m *repo_model.Mirror) ([]*mirrorSyncResult, bo
353353
log.Error("SyncMirrors [repo: %-v]: failed to update size for mirror repository: %v", m.Repo.FullName(), err)
354354
}
355355

356-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, m.Repo)
356+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, m.Repo.WikiStorageRepo())
357357
if err != nil {
358358
log.Error("SyncMirrors [repo: %-v]: failed to check if wiki repository exists: %v", m.Repo.FullName(), err)
359359
}

services/mirror/mirror_push.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func AddPushMirrorRemote(ctx context.Context, m *repo_model.PushMirror, addr str
4747
return err
4848
}
4949

50-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, m.Repo)
50+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, m.Repo.WikiStorageRepo())
5151
if err != nil {
5252
return err
5353
}
@@ -72,7 +72,7 @@ func RemovePushMirrorRemote(ctx context.Context, m *repo_model.PushMirror) error
7272
return err
7373
}
7474

75-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, m.Repo)
75+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, m.Repo.WikiStorageRepo())
7676
if err != nil {
7777
return err
7878
}
@@ -191,7 +191,7 @@ func runPushSync(ctx context.Context, m *repo_model.PushMirror) error {
191191
return err
192192
}
193193

194-
hasWiki, err := gitrepo.IsWikiRepositoryExist(ctx, m.Repo)
194+
hasWiki, err := gitrepo.IsRepositoryExist(ctx, m.Repo.WikiStorageRepo())
195195
if err != nil {
196196
return err
197197
}

services/repository/delete.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,8 +298,8 @@ func DeleteRepositoryDirectly(ctx context.Context, doer *user_model.User, repoID
298298
}
299299
}
300300

301-
// Remove wiki files
302-
if err := gitrepo.DeleteWikiRepository(ctx, repo); err != nil {
301+
// Remove wiki files if it exists.
302+
if err := gitrepo.DeleteRepository(ctx, repo.WikiStorageRepo()); err != nil {
303303
desc := fmt.Sprintf("Delete wiki repository files [%s]: %v", repo.FullName(), err)
304304
// Note we use the db.DefaultContext here rather than passing in a context as the context may be cancelled
305305
if err = system_model.CreateNotice(db.DefaultContext, system_model.NoticeRepository, desc); err != nil {

services/repository/transfer.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,13 +341,14 @@ func changeRepositoryName(ctx context.Context, repo *repo_model.Repository, newR
341341
return fmt.Errorf("rename repository directory: %w", err)
342342
}
343343

344-
isExist, err := gitrepo.IsWikiRepositoryExist(ctx, repo)
344+
isExist, err := gitrepo.IsRepositoryExist(ctx, repo.WikiStorageRepo())
345345
if err != nil {
346346
log.Error("Unable to check if the wiki of %s exists. Error: %v", repo.FullName(), err)
347347
return err
348348
}
349349
if isExist {
350-
if err = gitrepo.RenameWikiRepository(ctx, repo, newRepoName); err != nil {
350+
if err = gitrepo.RenameRepository(ctx, repo.WikiStorageRepo(), repo_model.StorageRepo(
351+
repo_model.RelativeWikiPath(repo.OwnerName, newRepoName))); err != nil {
351352
return fmt.Errorf("rename repository wiki: %w", err)
352353
}
353354
}

services/wiki/wiki.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func getWikiWorkingLockKey(repoID int64) string {
3535
// InitWiki initializes a wiki for repository,
3636
// it does nothing when repository already has wiki.
3737
func InitWiki(ctx context.Context, repo *repo_model.Repository) error {
38-
if exist, err := gitrepo.IsWikiRepositoryExist(ctx, repo); err != nil {
38+
if exist, err := gitrepo.IsRepositoryExist(ctx, repo.WikiStorageRepo()); err != nil {
3939
return err
4040
} else if exist {
4141
return nil
@@ -365,7 +365,7 @@ func DeleteWiki(ctx context.Context, repo *repo_model.Repository) error {
365365
return err
366366
}
367367

368-
if err := gitrepo.DeleteWikiRepository(ctx, repo); err != nil {
368+
if err := gitrepo.DeleteRepository(ctx, repo.WikiStorageRepo()); err != nil {
369369
desc := fmt.Sprintf("Delete wiki repository files [%s]: %v", repo.FullName(), err)
370370
// Note we use the db.DefaultContext here rather than passing in a context as the context may be cancelled
371371
if err = system_model.CreateNotice(db.DefaultContext, system_model.NoticeRepository, desc); err != nil {
@@ -386,7 +386,7 @@ func ChangeDefaultWikiBranch(ctx context.Context, repo *repo_model.Repository, n
386386
return fmt.Errorf("unable to update database: %w", err)
387387
}
388388

389-
if exist, err := gitrepo.IsWikiRepositoryExist(ctx, repo); err != nil {
389+
if exist, err := gitrepo.IsRepositoryExist(ctx, repo.WikiStorageRepo()); err != nil {
390390
return err
391391
} else if !exist {
392392
return nil

0 commit comments

Comments
 (0)