aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--objectstore/loose/helpers_test.go1
-rw-r--r--objectstore/loose/read_test.go1
-rw-r--r--receivepack/service/run_hook.go4
-rw-r--r--repository/objects.go5
4 files changed, 10 insertions, 1 deletions
diff --git a/objectstore/loose/helpers_test.go b/objectstore/loose/helpers_test.go
index f4c8dbb3..ab88c107 100644
--- a/objectstore/loose/helpers_test.go
+++ b/objectstore/loose/helpers_test.go
@@ -92,6 +92,7 @@ func corruptLooseObjectTrailer(t *testing.T, testRepo *testgit.TestRepo, id obje
}
last := make([]byte, 1)
+
_, err = file.ReadAt(last, info.Size()-1)
if err != nil {
t.Fatalf("ReadAt(%q): %v", relPath, err)
diff --git a/objectstore/loose/read_test.go b/objectstore/loose/read_test.go
index 7ecc1b10..45392ddd 100644
--- a/objectstore/loose/read_test.go
+++ b/objectstore/loose/read_test.go
@@ -183,6 +183,7 @@ func TestLooseStoreReadHeaderDoesNotVerifyAdler32(t *testing.T) {
store := openLooseStore(t, testRepo, algo)
content := []byte("header-only-check\n")
+
id, err := store.WriteBytesContent(objecttype.TypeBlob, content)
if err != nil {
t.Fatalf("WriteBytesContent: %v", err)
diff --git a/receivepack/service/run_hook.go b/receivepack/service/run_hook.go
index bdf7ec8b..ada897d8 100644
--- a/receivepack/service/run_hook.go
+++ b/receivepack/service/run_hook.go
@@ -38,6 +38,7 @@ func (service *Service) runHook(
utils.BestEffortFprintf(service.opts.Progress, "running hooks...\r")
quarantinedObjects := service.opts.ExistingObjects
+
var (
quarantineObjectsStore objectstore.Store
quarantineLooseRoot *os.Root
@@ -56,6 +57,7 @@ func (service *Service) runHook(
quarantineLooseStore, err := loose.New(quarantineLooseRoot, service.opts.Algorithm)
if err != nil {
_ = quarantineLooseRoot.Close()
+
utils.BestEffortFprintf(service.opts.Progress, "running hooks: failed: %v.\n", err)
return nil, nil, nil, false, err.Error()
@@ -71,6 +73,7 @@ func (service *Service) runHook(
_ = quarantineLooseStore.Close()
_ = quarantinePackRoot.Close()
_ = quarantineLooseRoot.Close()
+
utils.BestEffortFprintf(service.opts.Progress, "running hooks: failed: %v.\n", packedErr)
return nil, nil, nil, false, packedErr.Error()
@@ -81,6 +84,7 @@ func (service *Service) runHook(
} else if !os.IsNotExist(err) {
_ = quarantineLooseStore.Close()
_ = quarantineLooseRoot.Close()
+
utils.BestEffortFprintf(service.opts.Progress, "running hooks: failed: %v.\n", err)
return nil, nil, nil, false, err.Error()
diff --git a/repository/objects.go b/repository/objects.go
index 1881de2d..207ac7f1 100644
--- a/repository/objects.go
+++ b/repository/objects.go
@@ -37,8 +37,8 @@ func openObjectStore(
}
backends := []objectstore.Store{looseStore}
- objectsPackRoot, err = objectsRoot.OpenRoot("pack")
+ objectsPackRoot, err = objectsRoot.OpenRoot("pack")
if err == nil {
var packedStore *objectpacked.Store
@@ -71,6 +71,7 @@ func openObjectStore(
if objectsPackRoot != nil {
_ = objectsPackRoot.Close()
}
+
_ = objectsRoot.Close()
return nil, nil, nil, nil, nil, fmt.Errorf("repository: open objects for loose writing: %w", err)
@@ -79,10 +80,12 @@ func openObjectStore(
objectsLooseForWritingOnly, err = objectloose.New(objectsWriteRoot, algo)
if err != nil {
_ = objects.Close()
+
_ = objectsWriteRoot.Close()
if objectsPackRoot != nil {
_ = objectsPackRoot.Close()
}
+
_ = objectsRoot.Close()
return nil, nil, nil, nil, nil, err