aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--refstore/files/batch_apply.go7
-rw-r--r--refstore/files/batch_test.go9
2 files changed, 11 insertions, 5 deletions
diff --git a/refstore/files/batch_apply.go b/refstore/files/batch_apply.go
index 4274df0b..0c217c56 100644
--- a/refstore/files/batch_apply.go
+++ b/refstore/files/batch_apply.go
@@ -38,18 +38,21 @@ func (batch *Batch) Apply() ([]refstore.BatchResult, error) {
ops: []txOp{op},
}
- if err := tx.validateOp(op); err != nil {
+ err := tx.validateOp(op)
+ if err != nil {
results[i].Error = err
+
continue
}
- err := tx.Commit()
+ err = tx.Commit()
if err == nil {
continue
}
if isBatchRejected(err) {
results[i].Error = err
+
continue
}
diff --git a/refstore/files/batch_test.go b/refstore/files/batch_test.go
index 17be3850..9a507919 100644
--- a/refstore/files/batch_test.go
+++ b/refstore/files/batch_test.go
@@ -47,11 +47,13 @@ func TestBatchApplyRejectsStaleDeleteAndAppliesIndependentDelete(t *testing.T) {
t.Fatalf("valid delete failed: %v", results[1].Error)
}
- if _, err := store.Resolve("refs/heads/main"); err != nil {
+ _, err = store.Resolve("refs/heads/main")
+ if err != nil {
t.Fatalf("Resolve(main): %v", err)
}
- if _, err := store.Resolve("refs/heads/topic"); err == nil {
+ _, err = store.Resolve("refs/heads/topic")
+ if err == nil {
t.Fatal("refs/heads/topic still exists")
}
})
@@ -91,7 +93,8 @@ func TestBatchApplyRejectsDuplicateQueuedRef(t *testing.T) {
t.Fatal("duplicate ref operation did not report an error")
}
- if _, err := store.Resolve("refs/heads/main"); err != nil {
+ _, err = store.Resolve("refs/heads/main")
+ if err != nil {
t.Fatalf("Resolve(main): %v", err)
}
})