diff options
Diffstat (limited to 'network/receivepack/service/run_hook.go')
| -rw-r--r-- | network/receivepack/service/run_hook.go | 82 |
1 files changed, 1 insertions, 81 deletions
diff --git a/network/receivepack/service/run_hook.go b/network/receivepack/service/run_hook.go index c3b1a8c7..1943dfd7 100644 --- a/network/receivepack/service/run_hook.go +++ b/network/receivepack/service/run_hook.go @@ -2,20 +2,16 @@ package service import ( "context" - "os" "codeberg.org/lindenii/furgit/internal/utils" objectstore "codeberg.org/lindenii/furgit/object/store" - "codeberg.org/lindenii/furgit/object/store/loose" - objectmix "codeberg.org/lindenii/furgit/object/store/mix" - "codeberg.org/lindenii/furgit/object/store/packed" ) func (service *Service) runHook( ctx context.Context, req *Request, commands []Command, - quarantineName string, + quarantinedObjects objectstore.Reader, ) ( allowedCommands []Command, allowedIndices []int, @@ -37,82 +33,6 @@ func (service *Service) runHook( utils.BestEffortFprintf(service.opts.Progress, "running hooks...\r") - quarantinedObjects := service.opts.ExistingObjects - - var ( - quarantineObjectsStore objectstore.Reader - quarantineLooseStore *loose.Store - quarantinePackedStore *packed.Store - quarantineLooseRoot *os.Root - quarantinePackRoot *os.Root - err error - ) - - //nolint:nestif - if quarantineName != "" { - quarantineLooseRoot, err = service.opts.ObjectsRoot.OpenRoot(quarantineName) - if err != nil { - utils.BestEffortFprintf(service.opts.Progress, "running hooks: failed: %v.\n", err) - - return nil, nil, nil, false, err.Error() - } - - 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() - } - - quarantinedObjects = quarantineLooseStore - - quarantinePackRoot, err = quarantineLooseRoot.OpenRoot("pack") - if err == nil { - var packedErr error - - quarantinePackedStore, packedErr = packed.New(quarantinePackRoot, service.opts.Algorithm, packed.Options{}) - if packedErr != nil { - _ = quarantineLooseStore.Close() - _ = quarantinePackRoot.Close() - _ = quarantineLooseRoot.Close() - - utils.BestEffortFprintf(service.opts.Progress, "running hooks: failed: %v.\n", packedErr) - - return nil, nil, nil, false, packedErr.Error() - } - - quarantineObjectsStore = objectmix.New(quarantineLooseStore, quarantinePackedStore) - quarantinedObjects = quarantineObjectsStore - } 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() - } - - defer func() { - if quarantinePackedStore != nil { - _ = quarantinePackedStore.Close() - } - - if quarantineLooseStore != nil { - _ = quarantineLooseStore.Close() - } - - if quarantinePackRoot != nil { - _ = quarantinePackRoot.Close() - } - - if quarantineLooseRoot != nil { - _ = quarantineLooseRoot.Close() - } - }() - } - decisions, err := service.opts.Hook(ctx, HookRequest{ Refs: service.opts.Refs, ExistingObjects: service.opts.ExistingObjects, |
