From 563a4dfb78aaa97febd0763e9f81a740af0dd666 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sat, 7 Mar 2026 19:37:20 +0800 Subject: refstore/files: Implement batching --- refstore/files/batch_queue_ops.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 refstore/files/batch_queue_ops.go (limited to 'refstore/files/batch_queue_ops.go') diff --git a/refstore/files/batch_queue_ops.go b/refstore/files/batch_queue_ops.go new file mode 100644 index 00000000..b381a7ee --- /dev/null +++ b/refstore/files/batch_queue_ops.go @@ -0,0 +1,35 @@ +package files + +import "codeberg.org/lindenii/furgit/objectid" + +func (batch *Batch) Create(name string, newID objectid.ObjectID) { + batch.queue(txOp{name: name, kind: txCreate, newID: newID}) +} + +func (batch *Batch) Update(name string, newID, oldID objectid.ObjectID) { + batch.queue(txOp{name: name, kind: txUpdate, newID: newID, oldID: oldID}) +} + +func (batch *Batch) Delete(name string, oldID objectid.ObjectID) { + batch.queue(txOp{name: name, kind: txDelete, oldID: oldID}) +} + +func (batch *Batch) Verify(name string, oldID objectid.ObjectID) { + batch.queue(txOp{name: name, kind: txVerify, oldID: oldID}) +} + +func (batch *Batch) CreateSymbolic(name, newTarget string) { + batch.queue(txOp{name: name, kind: txCreateSymbolic, newTarget: newTarget}) +} + +func (batch *Batch) UpdateSymbolic(name, newTarget, oldTarget string) { + batch.queue(txOp{name: name, kind: txUpdateSymbolic, newTarget: newTarget, oldTarget: oldTarget}) +} + +func (batch *Batch) DeleteSymbolic(name, oldTarget string) { + batch.queue(txOp{name: name, kind: txDeleteSymbolic, oldTarget: oldTarget}) +} + +func (batch *Batch) VerifySymbolic(name, oldTarget string) { + batch.queue(txOp{name: name, kind: txVerifySymbolic, oldTarget: oldTarget}) +} -- cgit v1.3.1-10-gc9f91