diff options
author | zeripath <art27@cantab.net> | 2020-08-11 21:05:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-11 21:05:34 +0100 |
commit | 74bd9691c685942798f2761607731697498ceeae (patch) | |
tree | 531d661263b839ccf8aa6af73bfb6710984f0dd9 /modules/git | |
parent | faa676cc8b4419ac56fbf9d009ea8c6b79834024 (diff) | |
download | gitea-74bd9691c685942798f2761607731697498ceeae.tar.gz gitea-74bd9691c685942798f2761607731697498ceeae.zip |
Re-attempt to delete temporary upload if the file is locked by another process (#12447)
Replace all calls to os.Remove/os.RemoveAll by retrying util.Remove/util.RemoveAll and remove circular dependencies from util.
Fix #12339
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: silverwind <me@silverwind.io>
Diffstat (limited to 'modules/git')
-rw-r--r-- | modules/git/commit_info_test.go | 3 | ||||
-rw-r--r-- | modules/git/hook.go | 5 | ||||
-rw-r--r-- | modules/git/repo_compare_test.go | 4 | ||||
-rw-r--r-- | modules/git/repo_tag_test.go | 6 |
4 files changed, 10 insertions, 8 deletions
diff --git a/modules/git/commit_info_test.go b/modules/git/commit_info_test.go index ef40e4a3ab..8bdf1a769b 100644 --- a/modules/git/commit_info_test.go +++ b/modules/git/commit_info_test.go @@ -10,6 +10,7 @@ import ( "testing" "time" + "code.gitea.io/gitea/modules/util" "github.com/stretchr/testify/assert" ) @@ -87,7 +88,7 @@ func TestEntries_GetCommitsInfo(t *testing.T) { clonedPath, err := cloneRepo(bareRepo1Path, testReposDir, "repo1_TestEntries_GetCommitsInfo") assert.NoError(t, err) - defer os.RemoveAll(clonedPath) + defer util.RemoveAll(clonedPath) clonedRepo1, err := OpenRepository(clonedPath) assert.NoError(t, err) defer clonedRepo1.Close() diff --git a/modules/git/hook.go b/modules/git/hook.go index 245c6b92ce..7b75405901 100644 --- a/modules/git/hook.go +++ b/modules/git/hook.go @@ -12,6 +12,7 @@ import ( "path/filepath" "strings" + "code.gitea.io/gitea/modules/util" "github.com/unknwon/com" ) @@ -82,7 +83,7 @@ func (h *Hook) Name() string { func (h *Hook) Update() error { if len(strings.TrimSpace(h.Content)) == 0 { if isExist(h.path) { - err := os.Remove(h.path) + err := util.Remove(h.path) if err != nil { return err } @@ -129,7 +130,7 @@ func SetUpdateHook(repoPath, content string) (err error) { log("Setting update hook: %s", repoPath) hookPath := path.Join(repoPath, HookPathUpdate) if com.IsExist(hookPath) { - err = os.Remove(hookPath) + err = util.Remove(hookPath) } else { err = os.MkdirAll(path.Dir(hookPath), os.ModePerm) } diff --git a/modules/git/repo_compare_test.go b/modules/git/repo_compare_test.go index bf4631d853..f0e20838f4 100644 --- a/modules/git/repo_compare_test.go +++ b/modules/git/repo_compare_test.go @@ -7,10 +7,10 @@ package git import ( "bytes" "io/ioutil" - "os" "path/filepath" "testing" + "code.gitea.io/gitea/modules/util" "github.com/stretchr/testify/assert" ) @@ -18,7 +18,7 @@ func TestGetFormatPatch(t *testing.T) { bareRepo1Path := filepath.Join(testReposDir, "repo1_bare") clonedPath, err := cloneRepo(bareRepo1Path, testReposDir, "repo1_TestGetFormatPatch") assert.NoError(t, err) - defer os.RemoveAll(clonedPath) + defer util.RemoveAll(clonedPath) repo, err := OpenRepository(clonedPath) assert.NoError(t, err) defer repo.Close() diff --git a/modules/git/repo_tag_test.go b/modules/git/repo_tag_test.go index 7a644e39db..1dee29ba57 100644 --- a/modules/git/repo_tag_test.go +++ b/modules/git/repo_tag_test.go @@ -5,10 +5,10 @@ package git import ( - "os" "path/filepath" "testing" + "code.gitea.io/gitea/modules/util" "github.com/stretchr/testify/assert" ) @@ -31,7 +31,7 @@ func TestRepository_GetTag(t *testing.T) { clonedPath, err := cloneRepo(bareRepo1Path, testReposDir, "repo1_TestRepository_GetTag") assert.NoError(t, err) - defer os.RemoveAll(clonedPath) + defer util.RemoveAll(clonedPath) bareRepo1, err := OpenRepository(clonedPath) assert.NoError(t, err) @@ -81,7 +81,7 @@ func TestRepository_GetAnnotatedTag(t *testing.T) { clonedPath, err := cloneRepo(bareRepo1Path, testReposDir, "repo1_TestRepository_GetTag") assert.NoError(t, err) - defer os.RemoveAll(clonedPath) + defer util.RemoveAll(clonedPath) bareRepo1, err := OpenRepository(clonedPath) assert.NoError(t, err) |