diff options
Diffstat (limited to 'refstore/files/update_write_packed_refs.go')
| -rw-r--r-- | refstore/files/update_write_packed_refs.go | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/refstore/files/update_write_packed_refs.go b/refstore/files/update_write_packed_refs.go deleted file mode 100644 index c7eea780..00000000 --- a/refstore/files/update_write_packed_refs.go +++ /dev/null @@ -1,98 +0,0 @@ -package files - -import ( - "errors" - "os" -) - -func (executor *refUpdateExecutor) applyPackedRefDeletes(prepared []preparedUpdate) error { - _, err := executor.store.commonRoot.Stat("packed-refs.lock") - if err != nil { - if errors.Is(err, os.ErrNotExist) { - return nil - } - - return err - } - - packed, err := executor.store.readPackedRefs() - if err != nil { - return err - } - - deleted := make(map[string]struct{}) - needed := false - - for _, item := range prepared { - if item.op.kind != updateDelete && item.op.kind != updateDeleteSymbolic { - continue - } - - deleted[item.target.name] = struct{}{} - if item.target.ref.isPacked { - needed = true - } - } - - if !needed { - return nil - } - - lock, err := executor.store.commonRoot.OpenFile("packed-refs.new", os.O_WRONLY|os.O_CREATE|os.O_EXCL, 0o644) - if err != nil { - return err - } - - createdTemp := true - - defer func() { - if !createdTemp { - return - } - - _ = executor.store.commonRoot.Remove("packed-refs.new") - }() - - _, err = lock.WriteString("# pack-refs with: peeled fully-peeled sorted\n") - if err != nil { - _ = lock.Close() - - return err - } - - for _, entry := range packed.ordered { - if _, skip := deleted[entry.Name()]; skip { - continue - } - - _, err = lock.WriteString(entry.ID.String() + " " + entry.Name() + "\n") - if err != nil { - _ = lock.Close() - - return err - } - - if entry.Peeled != nil { - _, err = lock.WriteString("^" + entry.Peeled.String() + "\n") - if err != nil { - _ = lock.Close() - - return err - } - } - } - - err = lock.Close() - if err != nil { - return err - } - - err = executor.store.commonRoot.Rename("packed-refs.new", "packed-refs") - if err != nil { - return err - } - - createdTemp = false - - return nil -} |
