summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--integrations/pull_merge_test.go2
-rw-r--r--models/migrations/v156.go3
-rw-r--r--modules/lfs/server.go5
-rw-r--r--routers/repo/lfs.go6
-rw-r--r--services/pull/pull.go4
5 files changed, 17 insertions, 3 deletions
diff --git a/integrations/pull_merge_test.go b/integrations/pull_merge_test.go
index b5edb41eec..79f62c32c1 100644
--- a/integrations/pull_merge_test.go
+++ b/integrations/pull_merge_test.go
@@ -246,6 +246,7 @@ func TestCantMergeConflict(t *testing.T) {
err = pull.Merge(pr, user1, gitRepo, models.MergeStyleRebase, "CONFLICT")
assert.Error(t, err, "Merge should return an error due to conflict")
assert.True(t, models.IsErrRebaseConflicts(err), "Merge error is not a conflict error")
+ gitRepo.Close()
})
}
@@ -329,5 +330,6 @@ func TestCantMergeUnrelated(t *testing.T) {
err = pull.Merge(pr, user1, gitRepo, models.MergeStyleMerge, "UNRELATED")
assert.Error(t, err, "Merge should return an error due to unrelated")
assert.True(t, models.IsErrMergeUnrelatedHistories(err), "Merge error is not a unrelated histories error")
+ gitRepo.Close()
})
}
diff --git a/models/migrations/v156.go b/models/migrations/v156.go
index af37e67d82..976d1a2d1b 100644
--- a/models/migrations/v156.go
+++ b/models/migrations/v156.go
@@ -137,6 +137,9 @@ func fixPublisherIDforTagReleases(x *xorm.Engine) error {
return err
}
}
+ if gitRepo != nil {
+ gitRepo.Close()
+ }
if err := sess.Commit(); err != nil {
return err
diff --git a/modules/lfs/server.go b/modules/lfs/server.go
index b093213643..226bcbf55a 100644
--- a/modules/lfs/server.go
+++ b/modules/lfs/server.go
@@ -413,9 +413,8 @@ func PutHandler(ctx *context.Context) {
}
contentStore := &ContentStore{ObjectStorage: storage.LFS}
- bodyReader := ctx.Req.Body().ReadCloser()
- defer bodyReader.Close()
- if err := contentStore.Put(meta, bodyReader); err != nil {
+ defer ctx.Req.Request.Body.Close()
+ if err := contentStore.Put(meta, ctx.Req.Request.Body); err != nil {
// Put will log the error itself
ctx.Resp.WriteHeader(500)
if err == errSizeMismatch || err == errHashMismatch {
diff --git a/routers/repo/lfs.go b/routers/repo/lfs.go
index dc3ab4f54c..01bbd192bc 100644
--- a/routers/repo/lfs.go
+++ b/routers/repo/lfs.go
@@ -120,13 +120,16 @@ func LFSLocks(ctx *context.Context) {
}); err != nil {
log.Error("Failed to clone repository: %s (%v)", ctx.Repo.Repository.FullName(), err)
ctx.ServerError("LFSLocks", fmt.Errorf("Failed to clone repository: %s (%v)", ctx.Repo.Repository.FullName(), err))
+ return
}
gitRepo, err := git.OpenRepository(tmpBasePath)
if err != nil {
log.Error("Unable to open temporary repository: %s (%v)", tmpBasePath, err)
ctx.ServerError("LFSLocks", fmt.Errorf("Failed to open new temporary repository in: %s %v", tmpBasePath, err))
+ return
}
+ defer gitRepo.Close()
filenames := make([]string, len(lfsLocks))
@@ -137,6 +140,7 @@ func LFSLocks(ctx *context.Context) {
if err := gitRepo.ReadTreeToIndex(ctx.Repo.Repository.DefaultBranch); err != nil {
log.Error("Unable to read the default branch to the index: %s (%v)", ctx.Repo.Repository.DefaultBranch, err)
ctx.ServerError("LFSLocks", fmt.Errorf("Unable to read the default branch to the index: %s (%v)", ctx.Repo.Repository.DefaultBranch, err))
+ return
}
name2attribute2info, err := gitRepo.CheckAttribute(git.CheckAttributeOpts{
@@ -147,6 +151,7 @@ func LFSLocks(ctx *context.Context) {
if err != nil {
log.Error("Unable to check attributes in %s (%v)", tmpBasePath, err)
ctx.ServerError("LFSLocks", err)
+ return
}
lockables := make([]bool, len(lfsLocks))
@@ -166,6 +171,7 @@ func LFSLocks(ctx *context.Context) {
if err != nil {
log.Error("Unable to lsfiles in %s (%v)", tmpBasePath, err)
ctx.ServerError("LFSLocks", err)
+ return
}
filemap := make(map[string]bool, len(filelist))
diff --git a/services/pull/pull.go b/services/pull/pull.go
index 35dcbf9604..1886448ee0 100644
--- a/services/pull/pull.go
+++ b/services/pull/pull.go
@@ -670,6 +670,8 @@ func IsHeadEqualWithBranch(pr *models.PullRequest, branchName string) (bool, err
if err != nil {
return false, err
}
+ defer baseGitRepo.Close()
+
baseCommit, err := baseGitRepo.GetBranchCommit(branchName)
if err != nil {
return false, err
@@ -682,6 +684,8 @@ func IsHeadEqualWithBranch(pr *models.PullRequest, branchName string) (bool, err
if err != nil {
return false, err
}
+ defer headGitRepo.Close()
+
headCommit, err := headGitRepo.GetBranchCommit(pr.HeadBranch)
if err != nil {
return false, err