aboutsummaryrefslogtreecommitdiff
path: root/receivepack/service/command.go
diff options
context:
space:
mode:
Diffstat (limited to 'receivepack/service/command.go')
-rw-r--r--receivepack/service/command.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/receivepack/service/command.go b/receivepack/service/command.go
new file mode 100644
index 00000000..33342e41
--- /dev/null
+++ b/receivepack/service/command.go
@@ -0,0 +1,32 @@
+package service
+
+import "codeberg.org/lindenii/furgit/objectid"
+
+// Command is one protocol-independent requested ref update.
+type Command struct {
+ OldID objectid.ObjectID
+ NewID objectid.ObjectID
+ Name string
+}
+
+func fillCommandErrors(result *Result, commands []Command, errText string) {
+ for _, command := range commands {
+ result.Commands = append(result.Commands, CommandResult{
+ Name: command.Name,
+ Error: errText,
+ RefName: command.Name,
+ OldID: objectIDPointer(command.OldID),
+ NewID: objectIDPointer(command.NewID),
+ })
+ }
+}
+
+func isDelete(command Command) bool {
+ return command.NewID == objectid.Zero(command.NewID.Algorithm())
+}
+
+func objectIDPointer(id objectid.ObjectID) *objectid.ObjectID {
+ out := id
+
+ return &out
+}