summaryrefslogtreecommitdiffstats
path: root/modules/git
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-08-11 21:05:34 +0100
committerGitHub <noreply@github.com>2020-08-11 21:05:34 +0100
commit74bd9691c685942798f2761607731697498ceeae (patch)
tree531d661263b839ccf8aa6af73bfb6710984f0dd9 /modules/git
parentfaa676cc8b4419ac56fbf9d009ea8c6b79834024 (diff)
downloadgitea-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.go3
-rw-r--r--modules/git/hook.go5
-rw-r--r--modules/git/repo_compare_test.go4
-rw-r--r--modules/git/repo_tag_test.go6
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)