Browse Source

Some code improvements (#14266)

tags/v1.15.0-dev
Lunny Xiao GitHub 4 years ago
parent
commit
30fa037324
5 changed files with 17 additions and 3 deletions
  1. +2
    -0
      integrations/pull_merge_test.go
  2. +3
    -0
      models/migrations/v156.go
  3. +2
    -3
      modules/lfs/server.go
  4. +6
    -0
      routers/repo/lfs.go
  5. +4
    -0
      services/pull/pull.go

+ 2
- 0
integrations/pull_merge_test.go View File

@@ -246,6 +246,7 @@ func TestCantMergeConflict(t *testing.T) {
err = pull.Merge(pr, user1, gitRepo, models.MergeStyleRebase, "CONFLICT") err = pull.Merge(pr, user1, gitRepo, models.MergeStyleRebase, "CONFLICT")
assert.Error(t, err, "Merge should return an error due to 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") 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") err = pull.Merge(pr, user1, gitRepo, models.MergeStyleMerge, "UNRELATED")
assert.Error(t, err, "Merge should return an error due to 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") assert.True(t, models.IsErrMergeUnrelatedHistories(err), "Merge error is not a unrelated histories error")
gitRepo.Close()
}) })
} }

+ 3
- 0
models/migrations/v156.go View File

@@ -137,6 +137,9 @@ func fixPublisherIDforTagReleases(x *xorm.Engine) error {
return err return err
} }
} }
if gitRepo != nil {
gitRepo.Close()
}


if err := sess.Commit(); err != nil { if err := sess.Commit(); err != nil {
return err return err


+ 2
- 3
modules/lfs/server.go View File

@@ -413,9 +413,8 @@ func PutHandler(ctx *context.Context) {
} }


contentStore := &ContentStore{ObjectStorage: storage.LFS} 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 // Put will log the error itself
ctx.Resp.WriteHeader(500) ctx.Resp.WriteHeader(500)
if err == errSizeMismatch || err == errHashMismatch { if err == errSizeMismatch || err == errHashMismatch {


+ 6
- 0
routers/repo/lfs.go View File

@@ -120,13 +120,16 @@ func LFSLocks(ctx *context.Context) {
}); err != nil { }); err != nil {
log.Error("Failed to clone repository: %s (%v)", ctx.Repo.Repository.FullName(), err) 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)) ctx.ServerError("LFSLocks", fmt.Errorf("Failed to clone repository: %s (%v)", ctx.Repo.Repository.FullName(), err))
return
} }


gitRepo, err := git.OpenRepository(tmpBasePath) gitRepo, err := git.OpenRepository(tmpBasePath)
if err != nil { if err != nil {
log.Error("Unable to open temporary repository: %s (%v)", tmpBasePath, err) 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)) 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)) filenames := make([]string, len(lfsLocks))


@@ -137,6 +140,7 @@ func LFSLocks(ctx *context.Context) {
if err := gitRepo.ReadTreeToIndex(ctx.Repo.Repository.DefaultBranch); err != nil { 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) 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)) 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{ name2attribute2info, err := gitRepo.CheckAttribute(git.CheckAttributeOpts{
@@ -147,6 +151,7 @@ func LFSLocks(ctx *context.Context) {
if err != nil { if err != nil {
log.Error("Unable to check attributes in %s (%v)", tmpBasePath, err) log.Error("Unable to check attributes in %s (%v)", tmpBasePath, err)
ctx.ServerError("LFSLocks", err) ctx.ServerError("LFSLocks", err)
return
} }


lockables := make([]bool, len(lfsLocks)) lockables := make([]bool, len(lfsLocks))
@@ -166,6 +171,7 @@ func LFSLocks(ctx *context.Context) {
if err != nil { if err != nil {
log.Error("Unable to lsfiles in %s (%v)", tmpBasePath, err) log.Error("Unable to lsfiles in %s (%v)", tmpBasePath, err)
ctx.ServerError("LFSLocks", err) ctx.ServerError("LFSLocks", err)
return
} }


filemap := make(map[string]bool, len(filelist)) filemap := make(map[string]bool, len(filelist))


+ 4
- 0
services/pull/pull.go View File

@@ -670,6 +670,8 @@ func IsHeadEqualWithBranch(pr *models.PullRequest, branchName string) (bool, err
if err != nil { if err != nil {
return false, err return false, err
} }
defer baseGitRepo.Close()

baseCommit, err := baseGitRepo.GetBranchCommit(branchName) baseCommit, err := baseGitRepo.GetBranchCommit(branchName)
if err != nil { if err != nil {
return false, err return false, err
@@ -682,6 +684,8 @@ func IsHeadEqualWithBranch(pr *models.PullRequest, branchName string) (bool, err
if err != nil { if err != nil {
return false, err return false, err
} }
defer headGitRepo.Close()

headCommit, err := headGitRepo.GetBranchCommit(pr.HeadBranch) headCommit, err := headGitRepo.GetBranchCommit(pr.HeadBranch)
if err != nil { if err != nil {
return false, err return false, err


Loading…
Cancel
Save