From 187c3499b7416a72491fe21c103cc6f97f102f7d Mon Sep 17 00:00:00 2001 From: Rowan Bohde Date: Mon, 11 Nov 2024 10:06:22 -0600 Subject: [PATCH 01/14] Synchronize instead of deleting and remaking test Git repos Reduce overhead of preparing the test Git repos by avoiding unnecessary copying of already existing files. --- models/migrations/base/tests.go | 3 +- models/unittest/fscopy.go | 68 +++++++++++++------ models/unittest/testdb.go | 10 +-- .../migration-test/migration_test.go | 3 +- tests/test_utils.go | 4 +- 5 files changed, 54 insertions(+), 34 deletions(-) diff --git a/models/migrations/base/tests.go b/models/migrations/base/tests.go index 85cafc1ab915e..6bd85ecaa56c6 100644 --- a/models/migrations/base/tests.go +++ b/models/migrations/base/tests.go @@ -35,8 +35,7 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (*xorm.Engine, fu ourSkip := 2 ourSkip += skip deferFn := testlogger.PrintCurrentTest(t, ourSkip) - assert.NoError(t, os.RemoveAll(setting.RepoRootPath)) - assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) + assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) if err != nil { assert.NoError(t, err, "unable to read the new repo root: %v\n", err) diff --git a/models/unittest/fscopy.go b/models/unittest/fscopy.go index 74b12d5057791..9225d2ebcf437 100644 --- a/models/unittest/fscopy.go +++ b/models/unittest/fscopy.go @@ -4,7 +4,6 @@ package unittest import ( - "errors" "io" "os" "path" @@ -55,44 +54,73 @@ func Copy(src, dest string) error { return os.Chmod(dest, si.Mode()) } -// CopyDir copy files recursively from source to target directory. -// -// The filter accepts a function that process the path info. -// and should return true for need to filter. -// -// It returns error when error occurs in underlying functions. -func CopyDir(srcPath, destPath string, filters ...func(filePath string) bool) error { - // Check if target directory exists. - if _, err := os.Stat(destPath); !errors.Is(err, os.ErrNotExist) { - return util.NewAlreadyExistErrorf("file or directory already exists: %s", destPath) +// Sync synchronizes the two files. This is skipped if both files +// exist and the size, modtime, and mode match. +func Sync(srcPath, destPath string) error { + dest, err := os.Stat(destPath) + if err != nil { + if os.IsNotExist(err) { + return Copy(srcPath, destPath) + } + return err } - err := os.MkdirAll(destPath, os.ModePerm) + src, err := os.Stat(srcPath) if err != nil { return err } - // Gather directory info. - infos, err := util.StatDir(srcPath, true) + if src.Size() == dest.Size() && + src.ModTime() == dest.ModTime() && + src.Mode() == dest.Mode() { + return nil + } + + return Copy(srcPath, destPath) +} + +// SyncDirs synchronizes files recursively from source to target directory. +// +// It returns error when error occurs in underlying functions. +func SyncDirs(srcPath, destPath string) error { + err := os.MkdirAll(destPath, os.ModePerm) if err != nil { return err } - var filter func(filePath string) bool - if len(filters) > 0 { - filter = filters[0] + // find and delete all untracked files + infos, err := util.StatDir(destPath, true) + if err != nil { + return err } for _, info := range infos { - if filter != nil && filter(info) { - continue + curPath := path.Join(destPath, info) + + if _, err := os.Stat(path.Join(srcPath, info)); err != nil { + if os.IsNotExist(err) { + // Delete + if err := os.RemoveAll(curPath); err != nil { + return err + } + } else { + return err + } } + } + // Gather directory info. + infos, err = util.StatDir(srcPath, true) + if err != nil { + return err + } + + for _, info := range infos { curPath := path.Join(destPath, info) if strings.HasSuffix(info, "/") { err = os.MkdirAll(curPath, os.ModePerm) } else { - err = Copy(path.Join(srcPath, info), curPath) + err = Sync(path.Join(srcPath, info), curPath) } if err != nil { return err diff --git a/models/unittest/testdb.go b/models/unittest/testdb.go index 53c9dbdd77254..7813765b51e25 100644 --- a/models/unittest/testdb.go +++ b/models/unittest/testdb.go @@ -164,11 +164,8 @@ func MainTest(m *testing.M, testOpts ...*TestOptions) { if err = storage.Init(); err != nil { fatalTestError("storage.Init: %v\n", err) } - if err = util.RemoveAll(repoRootPath); err != nil { - fatalTestError("util.RemoveAll: %v\n", err) - } - if err = CopyDir(filepath.Join(giteaRoot, "tests", "gitea-repositories-meta"), setting.RepoRootPath); err != nil { - fatalTestError("util.CopyDir: %v\n", err) + if err = SyncDirs(filepath.Join(giteaRoot, "tests", "gitea-repositories-meta"), setting.RepoRootPath); err != nil { + fatalTestError("util.SyncDirs: %v\n", err) } if err = git.InitFull(context.Background()); err != nil { @@ -255,9 +252,8 @@ func PrepareTestDatabase() error { // by tests that use the above MainTest(..) function. func PrepareTestEnv(t testing.TB) { assert.NoError(t, PrepareTestDatabase()) - assert.NoError(t, util.RemoveAll(setting.RepoRootPath)) metaPath := filepath.Join(giteaRoot, "tests", "gitea-repositories-meta") - assert.NoError(t, CopyDir(metaPath, setting.RepoRootPath)) + assert.NoError(t, SyncDirs(metaPath, setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) assert.NoError(t, err) for _, ownerDir := range ownerDirs { diff --git a/tests/integration/migration-test/migration_test.go b/tests/integration/migration-test/migration_test.go index 40fcf95705887..a822d08925264 100644 --- a/tests/integration/migration-test/migration_test.go +++ b/tests/integration/migration-test/migration_test.go @@ -64,8 +64,7 @@ func initMigrationTest(t *testing.T) func() { unittest.InitSettings() assert.True(t, len(setting.RepoRootPath) != 0) - assert.NoError(t, util.RemoveAll(setting.RepoRootPath)) - assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) + assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) if err != nil { assert.NoError(t, err, "unable to read the new repo root: %v\n", err) diff --git a/tests/test_utils.go b/tests/test_utils.go index e6ce3cce0e0e2..f1c3c4a7d8133 100644 --- a/tests/test_utils.go +++ b/tests/test_utils.go @@ -193,9 +193,7 @@ func PrepareAttachmentsStorage(t testing.TB) { } func PrepareGitRepoDirectory(t testing.TB) { - assert.NoError(t, util.RemoveAll(setting.RepoRootPath)) - assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) - + assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) if err != nil { assert.NoError(t, err, "unable to read the new repo root: %v\n", err) From f2a9c37f95a6269eaeb2aaa79f3eae6b05491855 Mon Sep 17 00:00:00 2001 From: Rowan Bohde Date: Mon, 11 Nov 2024 10:08:51 -0600 Subject: [PATCH 02/14] In FlushAll, initiate FlushWithContext in parallel For non-immediate queues, FlushWithContext takes at least 40ms to verify that all items are processed. Calling this in parallel allows for just a single 40ms delay, instead of 40ms per queue. --- modules/queue/manager.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/queue/manager.go b/modules/queue/manager.go index 8b964c0c28252..27cc4879de791 100644 --- a/modules/queue/manager.go +++ b/modules/queue/manager.go @@ -10,6 +10,8 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" + + "golang.org/x/sync/errgroup" ) // Manager is a manager for the queues created by "CreateXxxQueue" functions, these queues are called "managed queues". @@ -77,14 +79,14 @@ func (m *Manager) ManagedQueues() map[int64]ManagedWorkerPoolQueue { // FlushAll tries to make all managed queues process all items synchronously, until timeout or the queue is empty. // It is for testing purpose only. It's not designed to be used in a cluster. func (m *Manager) FlushAll(ctx context.Context, timeout time.Duration) error { - var finalErr error + g := errgroup.Group{} qs := m.ManagedQueues() for _, q := range qs { - if err := q.FlushWithContext(ctx, timeout); err != nil { - finalErr = err // TODO: in Go 1.20: errors.Join - } + g.Go(func() error { + return q.FlushWithContext(ctx, timeout) + }) } - return finalErr + return g.Wait() } // CreateSimpleQueue creates a simple queue from global setting config provider by name From 33c24e1080786f8da6645f5542b5fbccb90a808c Mon Sep 17 00:00:00 2001 From: Rowan Bohde Date: Mon, 11 Nov 2024 10:40:57 -0600 Subject: [PATCH 03/14] fix missing CopyDir -> SyncDirs --- services/repository/adopt_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/repository/adopt_test.go b/services/repository/adopt_test.go index 38949c7602e2f..123cedc1f257b 100644 --- a/services/repository/adopt_test.go +++ b/services/repository/adopt_test.go @@ -89,7 +89,7 @@ func TestListUnadoptedRepositories_ListOptions(t *testing.T) { func TestAdoptRepository(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - assert.NoError(t, unittest.CopyDir(filepath.Join(setting.RepoRootPath, "user2", "repo1.git"), filepath.Join(setting.RepoRootPath, "user2", "test-adopt.git"))) + assert.NoError(t, unittest.SyncDirs(filepath.Join(setting.RepoRootPath, "user2", "repo1.git"), filepath.Join(setting.RepoRootPath, "user2", "test-adopt.git"))) user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) _, err := AdoptRepository(db.DefaultContext, user2, user2, CreateRepoOptions{Name: "test-adopt"}) assert.NoError(t, err) From a6582233723e3f9ad8f3ba7a6acd0ce2934d5f1d Mon Sep 17 00:00:00 2001 From: Rowan Bohde Date: Tue, 12 Nov 2024 14:40:27 -0600 Subject: [PATCH 04/14] fix bad merge --- tests/test_utils.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_utils.go b/tests/test_utils.go index 031c28da12d60..fde367a67b965 100644 --- a/tests/test_utils.go +++ b/tests/test_utils.go @@ -9,6 +9,7 @@ import ( "database/sql" "fmt" "os" + "path" "path/filepath" "testing" @@ -195,7 +196,7 @@ func PrepareGitRepoDirectory(t testing.TB) { if !assert.NotEmpty(t, setting.RepoRootPath) { return } - assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) + assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) if err != nil { From 150f47f2f56f9593a2c032d2d690e2618b424bbe Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 11:07:27 +0800 Subject: [PATCH 05/14] fix path handling --- models/migrations/base/tests.go | 11 ++++---- models/unittest/fscopy.go | 50 +++++++++------------------------ 2 files changed, 19 insertions(+), 42 deletions(-) diff --git a/models/migrations/base/tests.go b/models/migrations/base/tests.go index 6bd85ecaa56c6..2abf7911879ff 100644 --- a/models/migrations/base/tests.go +++ b/models/migrations/base/tests.go @@ -8,7 +8,6 @@ import ( "context" "fmt" "os" - "path" "path/filepath" "runtime" "testing" @@ -35,7 +34,7 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (*xorm.Engine, fu ourSkip := 2 ourSkip += skip deferFn := testlogger.PrintCurrentTest(t, ourSkip) - assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) + assert.NoError(t, unittest.SyncDirs(filepath.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) if err != nil { assert.NoError(t, err, "unable to read the new repo root: %v\n", err) @@ -122,7 +121,7 @@ func MainTest(m *testing.M) { if runtime.GOOS == "windows" { giteaBinary += ".exe" } - setting.AppPath = path.Join(giteaRoot, giteaBinary) + setting.AppPath = filepath.Join(giteaRoot, giteaBinary) if _, err := os.Stat(setting.AppPath); err != nil { fmt.Printf("Could not find gitea binary at %s\n", setting.AppPath) os.Exit(1) @@ -130,12 +129,12 @@ func MainTest(m *testing.M) { giteaConf := os.Getenv("GITEA_CONF") if giteaConf == "" { - giteaConf = path.Join(filepath.Dir(setting.AppPath), "tests/sqlite.ini") + giteaConf = filepath.Join(filepath.Dir(setting.AppPath), "tests/sqlite.ini") fmt.Printf("Environment variable $GITEA_CONF not set - defaulting to %s\n", giteaConf) } - if !path.IsAbs(giteaConf) { - setting.CustomConf = path.Join(giteaRoot, giteaConf) + if !filepath.IsAbs(giteaConf) { + setting.CustomConf = filepath.Join(giteaRoot, giteaConf) } else { setting.CustomConf = giteaConf } diff --git a/models/unittest/fscopy.go b/models/unittest/fscopy.go index 9225d2ebcf437..47d942c001c82 100644 --- a/models/unittest/fscopy.go +++ b/models/unittest/fscopy.go @@ -4,9 +4,8 @@ package unittest import ( - "io" "os" - "path" + "path/filepath" "strings" "code.gitea.io/gitea/modules/util" @@ -31,27 +30,7 @@ func Copy(src, dest string) error { return os.Symlink(target, dest) } - sr, err := os.Open(src) - if err != nil { - return err - } - defer sr.Close() - - dw, err := os.Create(dest) - if err != nil { - return err - } - defer dw.Close() - - if _, err = io.Copy(dw, sr); err != nil { - return err - } - - // Set back file information. - if err = os.Chtimes(dest, si.ModTime(), si.ModTime()); err != nil { - return err - } - return os.Chmod(dest, si.Mode()) + return util.CopyFile(src, dest) } // Sync synchronizes the two files. This is skipped if both files @@ -89,18 +68,17 @@ func SyncDirs(srcPath, destPath string) error { } // find and delete all untracked files - infos, err := util.StatDir(destPath, true) + files, err := util.StatDir(destPath, true) if err != nil { return err } - for _, info := range infos { - curPath := path.Join(destPath, info) - - if _, err := os.Stat(path.Join(srcPath, info)); err != nil { + for _, file := range files { + destFilePath := filepath.Join(destPath, file) + if _, err = os.Stat(filepath.Join(srcPath, file)); err != nil { if os.IsNotExist(err) { - // Delete - if err := os.RemoveAll(curPath); err != nil { + // TODO: why delete? it should happen because the file list is just queried above, why not exist? + if err := os.RemoveAll(destFilePath); err != nil { return err } } else { @@ -110,17 +88,17 @@ func SyncDirs(srcPath, destPath string) error { } // Gather directory info. - infos, err = util.StatDir(srcPath, true) + files, err = util.StatDir(srcPath, true) if err != nil { return err } - for _, info := range infos { - curPath := path.Join(destPath, info) - if strings.HasSuffix(info, "/") { - err = os.MkdirAll(curPath, os.ModePerm) + for _, file := range files { + destFilePath := filepath.Join(destPath, file) + if strings.HasSuffix(file, "/") { + err = os.MkdirAll(destFilePath, os.ModePerm) } else { - err = Sync(path.Join(srcPath, info), curPath) + err = Sync(filepath.Join(srcPath, file), destFilePath) } if err != nil { return err From c14a7c417c68c4aaa1faedaf37ba2e3069309c1a Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 11:28:07 +0800 Subject: [PATCH 06/14] fine tune queue flush --- modules/queue/manager.go | 15 ++++++++------- modules/queue/workergroup.go | 19 +++++++++++++++++-- modules/queue/workerqueue.go | 11 +++++++---- modules/testlogger/testlogger.go | 2 +- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/modules/queue/manager.go b/modules/queue/manager.go index 27cc4879de791..079e2bee7a7b9 100644 --- a/modules/queue/manager.go +++ b/modules/queue/manager.go @@ -5,13 +5,12 @@ package queue import ( "context" + "errors" "sync" "time" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "golang.org/x/sync/errgroup" ) // Manager is a manager for the queues created by "CreateXxxQueue" functions, these queues are called "managed queues". @@ -34,6 +33,7 @@ type ManagedWorkerPoolQueue interface { // FlushWithContext tries to make the handler process all items in the queue synchronously. // It is for testing purpose only. It's not designed to be used in a cluster. + // Negative timeout means discarding all items in the queue. FlushWithContext(ctx context.Context, timeout time.Duration) error // RemoveAllItems removes all items in the base queue (on-the-fly items are not affected) @@ -78,15 +78,16 @@ func (m *Manager) ManagedQueues() map[int64]ManagedWorkerPoolQueue { // FlushAll tries to make all managed queues process all items synchronously, until timeout or the queue is empty. // It is for testing purpose only. It's not designed to be used in a cluster. +// Negative timeout means discarding all items in the queue. func (m *Manager) FlushAll(ctx context.Context, timeout time.Duration) error { - g := errgroup.Group{} + var finalErrors []error qs := m.ManagedQueues() for _, q := range qs { - g.Go(func() error { - return q.FlushWithContext(ctx, timeout) - }) + if err := q.FlushWithContext(ctx, timeout); err != nil { + finalErrors = append(finalErrors, err) + } } - return g.Wait() + return errors.Join(finalErrors...) } // CreateSimpleQueue creates a simple queue from global setting config provider by name diff --git a/modules/queue/workergroup.go b/modules/queue/workergroup.go index 153123f883c73..3679f53fd01ef 100644 --- a/modules/queue/workergroup.go +++ b/modules/queue/workergroup.go @@ -197,15 +197,30 @@ func (q *WorkerPoolQueue[T]) doFlush(wg *workerGroup[T], flush flushType) { defer log.Debug("Queue %q finishes flushing", q.GetName()) // stop all workers, and prepare a new worker context to start new workers - wg.ctxWorkerCancel() wg.wg.Wait() defer func() { - close(flush) + close(flush.c) wg.doPrepareWorkerContext() }() + if flush.timeout < 0 { + // discard everything + wg.batchBuffer = nil + for { + select { + case _ = <-wg.popItemChan: + case _ = <-wg.popItemErr: + case _ = <-q.batchChan: + case <-q.ctxRun.Done(): + return + default: + return + } + } + } + // drain the batch channel first loop: for { diff --git a/modules/queue/workerqueue.go b/modules/queue/workerqueue.go index b28fd880270ab..f35ed93239a16 100644 --- a/modules/queue/workerqueue.go +++ b/modules/queue/workerqueue.go @@ -42,7 +42,10 @@ type WorkerPoolQueue[T any] struct { workerNumMu sync.Mutex } -type flushType chan struct{} +type flushType struct { + timeout time.Duration + c chan struct{} +} var _ ManagedWorkerPoolQueue = (*WorkerPoolQueue[any])(nil) @@ -104,12 +107,12 @@ func (q *WorkerPoolQueue[T]) FlushWithContext(ctx context.Context, timeout time. if timeout > 0 { after = time.After(timeout) } - c := make(flushType) + flush := flushType{timeout: timeout, c: make(chan struct{})} // send flush request // if it blocks, it means that there is a flush in progress or the queue hasn't been started yet select { - case q.flushChan <- c: + case q.flushChan <- flush: case <-ctx.Done(): return ctx.Err() case <-q.ctxRun.Done(): @@ -120,7 +123,7 @@ func (q *WorkerPoolQueue[T]) FlushWithContext(ctx context.Context, timeout time. // wait for flush to finish select { - case <-c: + case <-flush.c: return nil case <-ctx.Done(): return ctx.Err() diff --git a/modules/testlogger/testlogger.go b/modules/testlogger/testlogger.go index 9a54d63f20427..2bc3984ed612e 100644 --- a/modules/testlogger/testlogger.go +++ b/modules/testlogger/testlogger.go @@ -118,7 +118,7 @@ func PrintCurrentTest(t testing.TB, skip ...int) func() { _, _ = fmt.Fprintf(os.Stdout, "+++ %s ... still flushing after %v ...\n", t.Name(), SlowFlush) } }) - if err := queue.GetManager().FlushAll(context.Background(), time.Minute); err != nil { + if err := queue.GetManager().FlushAll(context.Background(), -1); err != nil { t.Errorf("Flushing queues failed with error %v", err) } timer.Stop() From b5eb9ff29b48299b9ffdb81d5cd638b193427185 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 11:32:16 +0800 Subject: [PATCH 07/14] fix lint --- modules/queue/workergroup.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/queue/workergroup.go b/modules/queue/workergroup.go index 3679f53fd01ef..5859b64c0db35 100644 --- a/modules/queue/workergroup.go +++ b/modules/queue/workergroup.go @@ -210,9 +210,9 @@ func (q *WorkerPoolQueue[T]) doFlush(wg *workerGroup[T], flush flushType) { wg.batchBuffer = nil for { select { - case _ = <-wg.popItemChan: - case _ = <-wg.popItemErr: - case _ = <-q.batchChan: + case <-wg.popItemChan: + case <-wg.popItemErr: + case <-q.batchChan: case <-q.ctxRun.Done(): return default: From 7ed98bfca3333371118564a939ecc2f24a770e35 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 11:34:40 +0800 Subject: [PATCH 08/14] fix path handling --- tests/test_utils.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_utils.go b/tests/test_utils.go index fde367a67b965..eb445422b580d 100644 --- a/tests/test_utils.go +++ b/tests/test_utils.go @@ -9,7 +9,6 @@ import ( "database/sql" "fmt" "os" - "path" "path/filepath" "testing" @@ -196,7 +195,7 @@ func PrepareGitRepoDirectory(t testing.TB) { if !assert.NotEmpty(t, setting.RepoRootPath) { return } - assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) + assert.NoError(t, unittest.SyncDirs(filepath.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) ownerDirs, err := os.ReadDir(setting.RepoRootPath) if err != nil { From 0110c7268f5d219b73fa437c4e3a6d8d2f23b451 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 12:52:05 +0800 Subject: [PATCH 09/14] try to clean up --- models/migrations/base/tests.go | 19 ---------- models/unittest/testdb.go | 35 ------------------- .../migration-test/migration_test.go | 20 ----------- tests/test_utils.go | 21 ----------- 4 files changed, 95 deletions(-) diff --git a/models/migrations/base/tests.go b/models/migrations/base/tests.go index 2abf7911879ff..95d8f07934a00 100644 --- a/models/migrations/base/tests.go +++ b/models/migrations/base/tests.go @@ -35,25 +35,6 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (*xorm.Engine, fu ourSkip += skip deferFn := testlogger.PrintCurrentTest(t, ourSkip) assert.NoError(t, unittest.SyncDirs(filepath.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) - ownerDirs, err := os.ReadDir(setting.RepoRootPath) - if err != nil { - assert.NoError(t, err, "unable to read the new repo root: %v\n", err) - } - for _, ownerDir := range ownerDirs { - if !ownerDir.Type().IsDir() { - continue - } - repoDirs, err := os.ReadDir(filepath.Join(setting.RepoRootPath, ownerDir.Name())) - if err != nil { - assert.NoError(t, err, "unable to read the new repo root: %v\n", err) - } - for _, repoDir := range repoDirs { - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755) - } - } if err := deleteDB(); err != nil { t.Errorf("unable to reset database: %v", err) diff --git a/models/unittest/testdb.go b/models/unittest/testdb.go index 7813765b51e25..5a1c27dbeae88 100644 --- a/models/unittest/testdb.go +++ b/models/unittest/testdb.go @@ -171,25 +171,6 @@ func MainTest(m *testing.M, testOpts ...*TestOptions) { if err = git.InitFull(context.Background()); err != nil { fatalTestError("git.Init: %v\n", err) } - ownerDirs, err := os.ReadDir(setting.RepoRootPath) - if err != nil { - fatalTestError("unable to read the new repo root: %v\n", err) - } - for _, ownerDir := range ownerDirs { - if !ownerDir.Type().IsDir() { - continue - } - repoDirs, err := os.ReadDir(filepath.Join(setting.RepoRootPath, ownerDir.Name())) - if err != nil { - fatalTestError("unable to read the new repo root: %v\n", err) - } - for _, repoDir := range repoDirs { - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755) - } - } if len(testOpts) > 0 && testOpts[0].SetUp != nil { if err := testOpts[0].SetUp(); err != nil { @@ -254,21 +235,5 @@ func PrepareTestEnv(t testing.TB) { assert.NoError(t, PrepareTestDatabase()) metaPath := filepath.Join(giteaRoot, "tests", "gitea-repositories-meta") assert.NoError(t, SyncDirs(metaPath, setting.RepoRootPath)) - ownerDirs, err := os.ReadDir(setting.RepoRootPath) - assert.NoError(t, err) - for _, ownerDir := range ownerDirs { - if !ownerDir.Type().IsDir() { - continue - } - repoDirs, err := os.ReadDir(filepath.Join(setting.RepoRootPath, ownerDir.Name())) - assert.NoError(t, err) - for _, repoDir := range repoDirs { - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755) - } - } - base.SetupGiteaRoot() // Makes sure GITEA_ROOT is set } diff --git a/tests/integration/migration-test/migration_test.go b/tests/integration/migration-test/migration_test.go index a822d08925264..9b61bdfe87d04 100644 --- a/tests/integration/migration-test/migration_test.go +++ b/tests/integration/migration-test/migration_test.go @@ -65,26 +65,6 @@ func initMigrationTest(t *testing.T) func() { assert.True(t, len(setting.RepoRootPath) != 0) assert.NoError(t, unittest.SyncDirs(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) - ownerDirs, err := os.ReadDir(setting.RepoRootPath) - if err != nil { - assert.NoError(t, err, "unable to read the new repo root: %v\n", err) - } - for _, ownerDir := range ownerDirs { - if !ownerDir.Type().IsDir() { - continue - } - repoDirs, err := os.ReadDir(filepath.Join(setting.RepoRootPath, ownerDir.Name())) - if err != nil { - assert.NoError(t, err, "unable to read the new repo root: %v\n", err) - } - for _, repoDir := range repoDirs { - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755) - } - } - assert.NoError(t, git.InitFull(context.Background())) setting.LoadDBSetting() setting.InitLoggersForTest() diff --git a/tests/test_utils.go b/tests/test_utils.go index eb445422b580d..8df739689d212 100644 --- a/tests/test_utils.go +++ b/tests/test_utils.go @@ -196,27 +196,6 @@ func PrepareGitRepoDirectory(t testing.TB) { return } assert.NoError(t, unittest.SyncDirs(filepath.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath)) - - ownerDirs, err := os.ReadDir(setting.RepoRootPath) - if err != nil { - assert.NoError(t, err, "unable to read the new repo root: %v\n", err) - } - for _, ownerDir := range ownerDirs { - if !ownerDir.Type().IsDir() { - continue - } - repoDirs, err := os.ReadDir(filepath.Join(setting.RepoRootPath, ownerDir.Name())) - if err != nil { - assert.NoError(t, err, "unable to read the new repo root: %v\n", err) - } - for _, repoDir := range repoDirs { - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755) - _ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "pull"), 0o755) - } - } } func PrepareArtifactsStorage(t testing.TB) { From 307db7d09eb753aebe62b5dd8d95ea7a8b2909a5 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 13:04:40 +0800 Subject: [PATCH 10/14] clarify --- models/unittest/fscopy.go | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/models/unittest/fscopy.go b/models/unittest/fscopy.go index 47d942c001c82..4d7ee2151dc29 100644 --- a/models/unittest/fscopy.go +++ b/models/unittest/fscopy.go @@ -59,7 +59,6 @@ func Sync(srcPath, destPath string) error { } // SyncDirs synchronizes files recursively from source to target directory. -// // It returns error when error occurs in underlying functions. func SyncDirs(srcPath, destPath string) error { err := os.MkdirAll(destPath, os.ModePerm) @@ -68,17 +67,16 @@ func SyncDirs(srcPath, destPath string) error { } // find and delete all untracked files - files, err := util.StatDir(destPath, true) + destFiles, err := util.StatDir(destPath, true) if err != nil { return err } - - for _, file := range files { - destFilePath := filepath.Join(destPath, file) - if _, err = os.Stat(filepath.Join(srcPath, file)); err != nil { + for _, destFile := range destFiles { + destFilePath := filepath.Join(destPath, destFile) + if _, err = os.Stat(filepath.Join(srcPath, destFile)); err != nil { if os.IsNotExist(err) { - // TODO: why delete? it should happen because the file list is just queried above, why not exist? - if err := os.RemoveAll(destFilePath); err != nil { + // if src file does not exist, remove dest file + if err = os.RemoveAll(destFilePath); err != nil { return err } } else { @@ -87,18 +85,18 @@ func SyncDirs(srcPath, destPath string) error { } } - // Gather directory info. - files, err = util.StatDir(srcPath, true) + // sync src files to dest + srcFiles, err := util.StatDir(srcPath, true) if err != nil { return err } - - for _, file := range files { - destFilePath := filepath.Join(destPath, file) - if strings.HasSuffix(file, "/") { + for _, srcFile := range srcFiles { + destFilePath := filepath.Join(destPath, srcFile) + // util.StatDir appends a slash to the directory name + if strings.HasSuffix(srcFile, "/") { err = os.MkdirAll(destFilePath, os.ModePerm) } else { - err = Sync(filepath.Join(srcPath, file), destFilePath) + err = Sync(filepath.Join(srcPath, srcFile), destFilePath) } if err != nil { return err From ace467153eaa61311b6846eaa4cd62dca74e7b51 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 13:32:36 +0800 Subject: [PATCH 11/14] fix tests --- .../org41/repo61.git/objects/info/.keep | 0 .../org41/repo61.git/objects/pack/.keep | 0 .../gitea-repositories-meta/org41/repo61.git/refs/heads/.keep | 0 tests/gitea-repositories-meta/org41/repo61.git/refs/tag/.keep | 0 .../user30/empty.git/objects/info/.keep | 0 .../user30/empty.git/objects/pack/.keep | 0 .../gitea-repositories-meta/user30/empty.git/refs/heads/.keep | 0 tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep | 0 .../user40/repo60.git/objects/info/.keep | 0 .../user40/repo60.git/objects/pack/.keep | 0 .../gitea-repositories-meta/user40/repo60.git/refs/heads/.keep | 0 tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep | 0 tests/integration/integration_test.go | 3 ++- 13 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 tests/gitea-repositories-meta/org41/repo61.git/objects/info/.keep create mode 100644 tests/gitea-repositories-meta/org41/repo61.git/objects/pack/.keep create mode 100644 tests/gitea-repositories-meta/org41/repo61.git/refs/heads/.keep create mode 100644 tests/gitea-repositories-meta/org41/repo61.git/refs/tag/.keep create mode 100644 tests/gitea-repositories-meta/user30/empty.git/objects/info/.keep create mode 100644 tests/gitea-repositories-meta/user30/empty.git/objects/pack/.keep create mode 100644 tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep create mode 100644 tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep create mode 100644 tests/gitea-repositories-meta/user40/repo60.git/objects/info/.keep create mode 100644 tests/gitea-repositories-meta/user40/repo60.git/objects/pack/.keep create mode 100644 tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep create mode 100644 tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep diff --git a/tests/gitea-repositories-meta/org41/repo61.git/objects/info/.keep b/tests/gitea-repositories-meta/org41/repo61.git/objects/info/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/org41/repo61.git/objects/pack/.keep b/tests/gitea-repositories-meta/org41/repo61.git/objects/pack/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/org41/repo61.git/refs/heads/.keep b/tests/gitea-repositories-meta/org41/repo61.git/refs/heads/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/org41/repo61.git/refs/tag/.keep b/tests/gitea-repositories-meta/org41/repo61.git/refs/tag/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user30/empty.git/objects/info/.keep b/tests/gitea-repositories-meta/user30/empty.git/objects/info/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user30/empty.git/objects/pack/.keep b/tests/gitea-repositories-meta/user30/empty.git/objects/pack/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep b/tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep b/tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user40/repo60.git/objects/info/.keep b/tests/gitea-repositories-meta/user40/repo60.git/objects/info/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user40/repo60.git/objects/pack/.keep b/tests/gitea-repositories-meta/user40/repo60.git/objects/pack/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep b/tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep b/tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go index f72ac5f51c357..a9db713f17366 100644 --- a/tests/integration/integration_test.go +++ b/tests/integration/integration_test.go @@ -400,8 +400,9 @@ func MakeRequest(t testing.TB, rw *RequestWrapper, expectedStatus int) *httptest } testWebRoutes.ServeHTTP(recorder, req) if expectedStatus != NoExpectedStatus { - if !assert.EqualValues(t, expectedStatus, recorder.Code, "Request: %s %s", req.Method, req.URL.String()) { + if expectedStatus != recorder.Code { logUnexpectedResponse(t, recorder) + require.Equal(t, expectedStatus, recorder.Code, "Request: %s %s", req.Method, req.URL.String()) } } return recorder From 527c0491e8d39d058edcee3e2f4a8eebf7499198 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 13:41:34 +0800 Subject: [PATCH 12/14] clean up --- models/fixtures/repository.yml | 2 +- modules/git/tests/repos/language_stats_repo/description | 1 - modules/git/tests/repos/language_stats_repo/info/exclude | 6 ------ modules/git/tests/repos/repo1_bare/description | 1 - modules/git/tests/repos/repo1_bare/info/exclude | 6 ------ modules/git/tests/repos/repo1_bare_sha256/description | 1 - modules/git/tests/repos/repo1_bare_sha256/info/exclude | 6 ------ modules/git/tests/repos/repo2_empty/description | 1 - modules/git/tests/repos/repo2_empty/info/exclude | 6 ------ modules/git/tests/repos/repo3_notes/description | 1 - modules/git/tests/repos/repo5_pulls/description | 1 - modules/git/tests/repos/repo5_pulls/info/exclude | 6 ------ modules/git/tests/repos/repo5_pulls_sha256/description | 1 - modules/git/tests/repos/repo6_blame_sha256/description | 1 - modules/git/tests/repos/repo6_blame_sha256/info/exclude | 6 ------ modules/git/tests/repos/repo6_merge_sha256/description | 1 - modules/git/tests/repos/repo6_merge_sha256/info/exclude | 6 ------ modules/repository/create_test.go | 4 ++-- services/gitdiff/testdata/academic-module/description | 1 - services/gitdiff/testdata/academic-module/info/exclude | 6 ------ .../limited_org/private_repo_on_limited_org.git/description | 1 - .../private_repo_on_limited_org.git/info/exclude | 6 ------ .../limited_org/public_repo_on_limited_org.git/description | 1 - .../limited_org/public_repo_on_limited_org.git/info/exclude | 6 ------ .../migration/lfs-test.git/description | 1 - .../org26/repo_external_tracker.git/description | 1 - .../org26/repo_external_tracker.git/info/exclude | 6 ------ .../org26/repo_external_tracker_alpha.git/description | 1 - .../org26/repo_external_tracker_alpha.git/info/exclude | 6 ------ .../org26/repo_external_tracker_numeric.git/description | 1 - .../org26/repo_external_tracker_numeric.git/info/exclude | 6 ------ tests/gitea-repositories-meta/org3/repo3.git/description | 1 - tests/gitea-repositories-meta/org3/repo3.git/info/exclude | 6 ------ tests/gitea-repositories-meta/org3/repo5.git/description | 1 - tests/gitea-repositories-meta/org3/repo5.git/info/exclude | 6 ------ tests/gitea-repositories-meta/org41/repo61.git/description | 1 - tests/gitea-repositories-meta/org41/repo61.git/info/exclude | 6 ------ .../org42/search-by-path.git/info/exclude | 6 ------ .../private_repo_on_private_org.git/description | 1 - .../private_repo_on_private_org.git/info/exclude | 6 ------ .../privated_org/public_repo_on_private_org.git/description | 1 - .../public_repo_on_private_org.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user12/repo10.git/description | 1 - .../gitea-repositories-meta/user12/repo10.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user13/repo11.git/description | 1 - .../gitea-repositories-meta/user13/repo11.git/info/exclude | 6 ------ .../user2/commits_search_test.git/description | 1 - .../user2/commits_search_test.git/info/exclude | 6 ------ .../user2/commitsonpr.git/description | 1 - .../user2/commitsonpr.git/info/exclude | 6 ------ .../user2/git_hooks_test.git/description | 1 - .../user2/git_hooks_test.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/glob.git/description | 1 - tests/gitea-repositories-meta/user2/glob.git/info/exclude | 6 ------ .../user2/readme-test.git/info/exclude | 6 ------ .../user2/repo-release.git/description | 1 - .../user2/repo-release.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/repo1.git/description | 1 - tests/gitea-repositories-meta/user2/repo1.git/info/exclude | 6 ------ .../user2/repo1.wiki.git/description | 1 - .../user2/repo1.wiki.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/repo15.git/description | 1 - tests/gitea-repositories-meta/user2/repo15.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/repo16.git/description | 1 - tests/gitea-repositories-meta/user2/repo16.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/repo2.git/description | 1 - tests/gitea-repositories-meta/user2/repo2.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/repo20.git/description | 1 - tests/gitea-repositories-meta/user2/repo20.git/info/exclude | 6 ------ .../user2/test_commit_revert.git/description | 1 - .../user2/test_commit_revert.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user2/utf8.git/description | 1 - tests/gitea-repositories-meta/user2/utf8.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user27/repo49.git/description | 1 - .../gitea-repositories-meta/user27/repo49.git/info/exclude | 6 ------ .../user27/template1.git/description | 1 - .../user27/template1.git/info/exclude | 6 ------ .../user30/renderer.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user40/repo60.git/description | 1 - .../gitea-repositories-meta/user40/repo60.git/info/exclude | 6 ------ tests/gitea-repositories-meta/user5/repo4.git/description | 1 - tests/gitea-repositories-meta/user5/repo4.git/info/exclude | 6 ------ 82 files changed, 3 insertions(+), 283 deletions(-) delete mode 100644 modules/git/tests/repos/language_stats_repo/description delete mode 100644 modules/git/tests/repos/language_stats_repo/info/exclude delete mode 100644 modules/git/tests/repos/repo1_bare/description delete mode 100644 modules/git/tests/repos/repo1_bare/info/exclude delete mode 100644 modules/git/tests/repos/repo1_bare_sha256/description delete mode 100644 modules/git/tests/repos/repo1_bare_sha256/info/exclude delete mode 100644 modules/git/tests/repos/repo2_empty/description delete mode 100644 modules/git/tests/repos/repo2_empty/info/exclude delete mode 100644 modules/git/tests/repos/repo3_notes/description delete mode 100644 modules/git/tests/repos/repo5_pulls/description delete mode 100644 modules/git/tests/repos/repo5_pulls/info/exclude delete mode 100644 modules/git/tests/repos/repo5_pulls_sha256/description delete mode 100644 modules/git/tests/repos/repo6_blame_sha256/description delete mode 100644 modules/git/tests/repos/repo6_blame_sha256/info/exclude delete mode 100644 modules/git/tests/repos/repo6_merge_sha256/description delete mode 100644 modules/git/tests/repos/repo6_merge_sha256/info/exclude delete mode 100644 services/gitdiff/testdata/academic-module/description delete mode 100644 services/gitdiff/testdata/academic-module/info/exclude delete mode 100644 tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/description delete mode 100644 tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/description delete mode 100644 tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/migration/lfs-test.git/description delete mode 100644 tests/gitea-repositories-meta/org26/repo_external_tracker.git/description delete mode 100644 tests/gitea-repositories-meta/org26/repo_external_tracker.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/description delete mode 100644 tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/description delete mode 100644 tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/org3/repo3.git/description delete mode 100644 tests/gitea-repositories-meta/org3/repo3.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/org3/repo5.git/description delete mode 100644 tests/gitea-repositories-meta/org3/repo5.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/org41/repo61.git/description delete mode 100644 tests/gitea-repositories-meta/org41/repo61.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/org42/search-by-path.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/description delete mode 100644 tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/description delete mode 100644 tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user12/repo10.git/description delete mode 100644 tests/gitea-repositories-meta/user12/repo10.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user13/repo11.git/description delete mode 100644 tests/gitea-repositories-meta/user13/repo11.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/commits_search_test.git/description delete mode 100644 tests/gitea-repositories-meta/user2/commits_search_test.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/commitsonpr.git/description delete mode 100644 tests/gitea-repositories-meta/user2/commitsonpr.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/git_hooks_test.git/description delete mode 100644 tests/gitea-repositories-meta/user2/git_hooks_test.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/glob.git/description delete mode 100644 tests/gitea-repositories-meta/user2/glob.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/readme-test.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo-release.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo-release.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo1.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo1.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo1.wiki.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo1.wiki.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo15.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo15.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo16.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo16.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo2.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo2.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/repo20.git/description delete mode 100644 tests/gitea-repositories-meta/user2/repo20.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/test_commit_revert.git/description delete mode 100644 tests/gitea-repositories-meta/user2/test_commit_revert.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user2/utf8.git/description delete mode 100644 tests/gitea-repositories-meta/user2/utf8.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user27/repo49.git/description delete mode 100644 tests/gitea-repositories-meta/user27/repo49.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user27/template1.git/description delete mode 100644 tests/gitea-repositories-meta/user27/template1.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user30/renderer.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user40/repo60.git/description delete mode 100644 tests/gitea-repositories-meta/user40/repo60.git/info/exclude delete mode 100644 tests/gitea-repositories-meta/user5/repo4.git/description delete mode 100644 tests/gitea-repositories-meta/user5/repo4.git/info/exclude diff --git a/models/fixtures/repository.yml b/models/fixtures/repository.yml index b7970cb7c82f6..bbb028eb7bb0c 100644 --- a/models/fixtures/repository.yml +++ b/models/fixtures/repository.yml @@ -26,7 +26,7 @@ fork_id: 0 is_template: false template_id: 0 - size: 8478 + size: 0 is_fsck_enabled: true close_issues_via_commit_in_any_branch: false diff --git a/modules/git/tests/repos/language_stats_repo/description b/modules/git/tests/repos/language_stats_repo/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/language_stats_repo/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/language_stats_repo/info/exclude b/modules/git/tests/repos/language_stats_repo/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/language_stats_repo/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/git/tests/repos/repo1_bare/description b/modules/git/tests/repos/repo1_bare/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo1_bare/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo1_bare/info/exclude b/modules/git/tests/repos/repo1_bare/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/repo1_bare/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/git/tests/repos/repo1_bare_sha256/description b/modules/git/tests/repos/repo1_bare_sha256/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo1_bare_sha256/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo1_bare_sha256/info/exclude b/modules/git/tests/repos/repo1_bare_sha256/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/repo1_bare_sha256/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/git/tests/repos/repo2_empty/description b/modules/git/tests/repos/repo2_empty/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo2_empty/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo2_empty/info/exclude b/modules/git/tests/repos/repo2_empty/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/repo2_empty/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/git/tests/repos/repo3_notes/description b/modules/git/tests/repos/repo3_notes/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo3_notes/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo5_pulls/description b/modules/git/tests/repos/repo5_pulls/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo5_pulls/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo5_pulls/info/exclude b/modules/git/tests/repos/repo5_pulls/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/repo5_pulls/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/git/tests/repos/repo5_pulls_sha256/description b/modules/git/tests/repos/repo5_pulls_sha256/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo5_pulls_sha256/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo6_blame_sha256/description b/modules/git/tests/repos/repo6_blame_sha256/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo6_blame_sha256/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo6_blame_sha256/info/exclude b/modules/git/tests/repos/repo6_blame_sha256/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/repo6_blame_sha256/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/git/tests/repos/repo6_merge_sha256/description b/modules/git/tests/repos/repo6_merge_sha256/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/modules/git/tests/repos/repo6_merge_sha256/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/modules/git/tests/repos/repo6_merge_sha256/info/exclude b/modules/git/tests/repos/repo6_merge_sha256/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/modules/git/tests/repos/repo6_merge_sha256/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/modules/repository/create_test.go b/modules/repository/create_test.go index 6a2f4deaff063..a9151482b461d 100644 --- a/modules/repository/create_test.go +++ b/modules/repository/create_test.go @@ -38,8 +38,8 @@ func TestGetDirectorySize(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) repo, err := repo_model.GetRepositoryByID(db.DefaultContext, 1) assert.NoError(t, err) - size, err := getDirectorySize(repo.RepoPath()) assert.NoError(t, err) - assert.EqualValues(t, size, repo.Size) + repo.Size = 8165 // real size on the disk + assert.EqualValues(t, repo.Size, size) } diff --git a/services/gitdiff/testdata/academic-module/description b/services/gitdiff/testdata/academic-module/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/services/gitdiff/testdata/academic-module/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/services/gitdiff/testdata/academic-module/info/exclude b/services/gitdiff/testdata/academic-module/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/services/gitdiff/testdata/academic-module/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/description b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/info/exclude b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/description b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/info/exclude b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/migration/lfs-test.git/description b/tests/gitea-repositories-meta/migration/lfs-test.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/migration/lfs-test.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org26/repo_external_tracker.git/description b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/org26/repo_external_tracker.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org26/repo_external_tracker.git/info/exclude b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org26/repo_external_tracker.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/description b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/info/exclude b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/description b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/info/exclude b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org3/repo3.git/description b/tests/gitea-repositories-meta/org3/repo3.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/org3/repo3.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org3/repo3.git/info/exclude b/tests/gitea-repositories-meta/org3/repo3.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org3/repo3.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org3/repo5.git/description b/tests/gitea-repositories-meta/org3/repo5.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/org3/repo5.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org3/repo5.git/info/exclude b/tests/gitea-repositories-meta/org3/repo5.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org3/repo5.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org41/repo61.git/description b/tests/gitea-repositories-meta/org41/repo61.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/org41/repo61.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org41/repo61.git/info/exclude b/tests/gitea-repositories-meta/org41/repo61.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org41/repo61.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org42/search-by-path.git/info/exclude b/tests/gitea-repositories-meta/org42/search-by-path.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/org42/search-by-path.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/description b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/info/exclude b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/description b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/info/exclude b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user12/repo10.git/description b/tests/gitea-repositories-meta/user12/repo10.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user12/repo10.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user12/repo10.git/info/exclude b/tests/gitea-repositories-meta/user12/repo10.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user12/repo10.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user13/repo11.git/description b/tests/gitea-repositories-meta/user13/repo11.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user13/repo11.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user13/repo11.git/info/exclude b/tests/gitea-repositories-meta/user13/repo11.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user13/repo11.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/commits_search_test.git/description b/tests/gitea-repositories-meta/user2/commits_search_test.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/commits_search_test.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/commits_search_test.git/info/exclude b/tests/gitea-repositories-meta/user2/commits_search_test.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/commits_search_test.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/commitsonpr.git/description b/tests/gitea-repositories-meta/user2/commitsonpr.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/commitsonpr.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/commitsonpr.git/info/exclude b/tests/gitea-repositories-meta/user2/commitsonpr.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/commitsonpr.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/git_hooks_test.git/description b/tests/gitea-repositories-meta/user2/git_hooks_test.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/git_hooks_test.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/git_hooks_test.git/info/exclude b/tests/gitea-repositories-meta/user2/git_hooks_test.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/git_hooks_test.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/glob.git/description b/tests/gitea-repositories-meta/user2/glob.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/glob.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/glob.git/info/exclude b/tests/gitea-repositories-meta/user2/glob.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/glob.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/readme-test.git/info/exclude b/tests/gitea-repositories-meta/user2/readme-test.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/readme-test.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo-release.git/description b/tests/gitea-repositories-meta/user2/repo-release.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo-release.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo-release.git/info/exclude b/tests/gitea-repositories-meta/user2/repo-release.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo-release.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo1.git/description b/tests/gitea-repositories-meta/user2/repo1.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo1.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo1.git/info/exclude b/tests/gitea-repositories-meta/user2/repo1.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo1.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo1.wiki.git/description b/tests/gitea-repositories-meta/user2/repo1.wiki.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo1.wiki.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo1.wiki.git/info/exclude b/tests/gitea-repositories-meta/user2/repo1.wiki.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo1.wiki.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo15.git/description b/tests/gitea-repositories-meta/user2/repo15.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo15.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo15.git/info/exclude b/tests/gitea-repositories-meta/user2/repo15.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo15.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo16.git/description b/tests/gitea-repositories-meta/user2/repo16.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo16.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo16.git/info/exclude b/tests/gitea-repositories-meta/user2/repo16.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo16.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo2.git/description b/tests/gitea-repositories-meta/user2/repo2.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo2.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo2.git/info/exclude b/tests/gitea-repositories-meta/user2/repo2.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo2.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/repo20.git/description b/tests/gitea-repositories-meta/user2/repo20.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo20.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/repo20.git/info/exclude b/tests/gitea-repositories-meta/user2/repo20.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/repo20.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/test_commit_revert.git/description b/tests/gitea-repositories-meta/user2/test_commit_revert.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/test_commit_revert.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/test_commit_revert.git/info/exclude b/tests/gitea-repositories-meta/user2/test_commit_revert.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/test_commit_revert.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user2/utf8.git/description b/tests/gitea-repositories-meta/user2/utf8.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user2/utf8.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user2/utf8.git/info/exclude b/tests/gitea-repositories-meta/user2/utf8.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user2/utf8.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user27/repo49.git/description b/tests/gitea-repositories-meta/user27/repo49.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user27/repo49.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user27/repo49.git/info/exclude b/tests/gitea-repositories-meta/user27/repo49.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user27/repo49.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user27/template1.git/description b/tests/gitea-repositories-meta/user27/template1.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user27/template1.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user27/template1.git/info/exclude b/tests/gitea-repositories-meta/user27/template1.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user27/template1.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user30/renderer.git/info/exclude b/tests/gitea-repositories-meta/user30/renderer.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user30/renderer.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user40/repo60.git/description b/tests/gitea-repositories-meta/user40/repo60.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user40/repo60.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user40/repo60.git/info/exclude b/tests/gitea-repositories-meta/user40/repo60.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user40/repo60.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/user5/repo4.git/description b/tests/gitea-repositories-meta/user5/repo4.git/description deleted file mode 100644 index 498b267a8c781..0000000000000 --- a/tests/gitea-repositories-meta/user5/repo4.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/user5/repo4.git/info/exclude b/tests/gitea-repositories-meta/user5/repo4.git/info/exclude deleted file mode 100644 index a5196d1be8fb5..0000000000000 --- a/tests/gitea-repositories-meta/user5/repo4.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ From 2fd8d088e8ee6cff1adc79ed7da64993d9ec3311 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 14:14:49 +0800 Subject: [PATCH 13/14] fix test --- modules/indexer/code/indexer_test.go | 11 ++++------- .../org42/search-by-path.git/refs/heads/.keep | 0 .../org42/search-by-path.git/refs/tag/.keep | 0 3 files changed, 4 insertions(+), 7 deletions(-) create mode 100644 tests/gitea-repositories-meta/org42/search-by-path.git/refs/heads/.keep create mode 100644 tests/gitea-repositories-meta/org42/search-by-path.git/refs/tag/.keep diff --git a/modules/indexer/code/indexer_test.go b/modules/indexer/code/indexer_test.go index 020ccc72f8175..78fbe7f79247b 100644 --- a/modules/indexer/code/indexer_test.go +++ b/modules/indexer/code/indexer_test.go @@ -21,6 +21,7 @@ import ( _ "code.gitea.io/gitea/models/activities" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" _ "github.com/mattn/go-sqlite3" ) @@ -284,15 +285,11 @@ func TestBleveIndexAndSearch(t *testing.T) { dir := t.TempDir() idx := bleve.NewIndexer(dir) - _, err := idx.Init(context.Background()) - if err != nil { - if idx != nil { - idx.Close() - } - assert.FailNow(t, "Unable to create bleve indexer Error: %v", err) - } defer idx.Close() + _, err := idx.Init(context.Background()) + require.NoError(t, err) + testIndexer("beleve", t, idx) } diff --git a/tests/gitea-repositories-meta/org42/search-by-path.git/refs/heads/.keep b/tests/gitea-repositories-meta/org42/search-by-path.git/refs/heads/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/gitea-repositories-meta/org42/search-by-path.git/refs/tag/.keep b/tests/gitea-repositories-meta/org42/search-by-path.git/refs/tag/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d From c63ee82e297d2268794441e87087b84c084195ea Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 14 Nov 2024 14:42:26 +0800 Subject: [PATCH 14/14] fine tune empty repo --- .../org41/repo61.git/objects/{info => }/.keep | 0 .../org41/repo61.git/{objects/pack => refs}/.keep | 0 .../repo61.git/refs/heads => org42/search-by-path.git/refs}/.keep | 0 .../{org41/repo61.git/refs/tag => user30/empty.git/objects}/.keep | 0 .../search-by-path.git/refs/heads => user30/empty.git/refs}/.keep | 0 tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep | 0 tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep | 0 .../refs/tag => user30/renderer.git/refs}/.keep | 0 .../empty.git/objects/info => user40/repo60.git/objects}/.keep | 0 .../gitea-repositories-meta/user40/repo60.git/objects/info/.keep | 0 .../gitea-repositories-meta/user40/repo60.git/objects/pack/.keep | 0 .../empty.git/objects/pack => user40/repo60.git/refs}/.keep | 0 tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep | 0 tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep | 0 14 files changed, 0 insertions(+), 0 deletions(-) rename tests/gitea-repositories-meta/org41/repo61.git/objects/{info => }/.keep (100%) rename tests/gitea-repositories-meta/org41/repo61.git/{objects/pack => refs}/.keep (100%) rename tests/gitea-repositories-meta/{org41/repo61.git/refs/heads => org42/search-by-path.git/refs}/.keep (100%) rename tests/gitea-repositories-meta/{org41/repo61.git/refs/tag => user30/empty.git/objects}/.keep (100%) rename tests/gitea-repositories-meta/{org42/search-by-path.git/refs/heads => user30/empty.git/refs}/.keep (100%) delete mode 100644 tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep delete mode 100644 tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep rename tests/gitea-repositories-meta/{org42/search-by-path.git/refs/tag => user30/renderer.git/refs}/.keep (100%) rename tests/gitea-repositories-meta/{user30/empty.git/objects/info => user40/repo60.git/objects}/.keep (100%) delete mode 100644 tests/gitea-repositories-meta/user40/repo60.git/objects/info/.keep delete mode 100644 tests/gitea-repositories-meta/user40/repo60.git/objects/pack/.keep rename tests/gitea-repositories-meta/{user30/empty.git/objects/pack => user40/repo60.git/refs}/.keep (100%) delete mode 100644 tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep delete mode 100644 tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep diff --git a/tests/gitea-repositories-meta/org41/repo61.git/objects/info/.keep b/tests/gitea-repositories-meta/org41/repo61.git/objects/.keep similarity index 100% rename from tests/gitea-repositories-meta/org41/repo61.git/objects/info/.keep rename to tests/gitea-repositories-meta/org41/repo61.git/objects/.keep diff --git a/tests/gitea-repositories-meta/org41/repo61.git/objects/pack/.keep b/tests/gitea-repositories-meta/org41/repo61.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/org41/repo61.git/objects/pack/.keep rename to tests/gitea-repositories-meta/org41/repo61.git/refs/.keep diff --git a/tests/gitea-repositories-meta/org41/repo61.git/refs/heads/.keep b/tests/gitea-repositories-meta/org42/search-by-path.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/org41/repo61.git/refs/heads/.keep rename to tests/gitea-repositories-meta/org42/search-by-path.git/refs/.keep diff --git a/tests/gitea-repositories-meta/org41/repo61.git/refs/tag/.keep b/tests/gitea-repositories-meta/user30/empty.git/objects/.keep similarity index 100% rename from tests/gitea-repositories-meta/org41/repo61.git/refs/tag/.keep rename to tests/gitea-repositories-meta/user30/empty.git/objects/.keep diff --git a/tests/gitea-repositories-meta/org42/search-by-path.git/refs/heads/.keep b/tests/gitea-repositories-meta/user30/empty.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/org42/search-by-path.git/refs/heads/.keep rename to tests/gitea-repositories-meta/user30/empty.git/refs/.keep diff --git a/tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep b/tests/gitea-repositories-meta/user30/empty.git/refs/heads/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep b/tests/gitea-repositories-meta/user30/empty.git/refs/tag/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/tests/gitea-repositories-meta/org42/search-by-path.git/refs/tag/.keep b/tests/gitea-repositories-meta/user30/renderer.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/org42/search-by-path.git/refs/tag/.keep rename to tests/gitea-repositories-meta/user30/renderer.git/refs/.keep diff --git a/tests/gitea-repositories-meta/user30/empty.git/objects/info/.keep b/tests/gitea-repositories-meta/user40/repo60.git/objects/.keep similarity index 100% rename from tests/gitea-repositories-meta/user30/empty.git/objects/info/.keep rename to tests/gitea-repositories-meta/user40/repo60.git/objects/.keep diff --git a/tests/gitea-repositories-meta/user40/repo60.git/objects/info/.keep b/tests/gitea-repositories-meta/user40/repo60.git/objects/info/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/tests/gitea-repositories-meta/user40/repo60.git/objects/pack/.keep b/tests/gitea-repositories-meta/user40/repo60.git/objects/pack/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/tests/gitea-repositories-meta/user30/empty.git/objects/pack/.keep b/tests/gitea-repositories-meta/user40/repo60.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/user30/empty.git/objects/pack/.keep rename to tests/gitea-repositories-meta/user40/repo60.git/refs/.keep diff --git a/tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep b/tests/gitea-repositories-meta/user40/repo60.git/refs/heads/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep b/tests/gitea-repositories-meta/user40/repo60.git/refs/tag/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000