diff options
| author | 2026-02-20 12:41:02 +0800 | |
|---|---|---|
| committer | 2026-02-20 12:57:31 +0800 | |
| commit | b140f267b02b0a5466ec74427dba775da93d298c (patch) | |
| tree | 09206ab05dfb11c0d17bae475a18b154811e8659 | |
| parent | Revert "README: thin packs are supported now" (diff) | |
| signature | No signature | |
Revert "packed: Factor out packWriteObjects and clean up"
This reverts commit 06b3648782c860ac0bc096e30e72587d5016e4e4.
| -rw-r--r-- | packed_write_pack.go | 17 | ||||
| -rw-r--r-- | packed_write_test.go | 4 |
2 files changed, 16 insertions, 5 deletions
diff --git a/packed_write_pack.go b/packed_write_pack.go index 504c1087..1d8cbc1e 100644 --- a/packed_write_pack.go +++ b/packed_write_pack.go @@ -3,12 +3,16 @@ package furgit import ( "crypto/rand" "encoding/binary" + "errors" "hash" "io" "codeberg.org/lindenii/furgit/internal/zlib" ) +// TODO +var errThinPackUnimplemented = errors.New("furgit: pack: thin packs not implemented") + // packWriter writes a PACKv2 stream. type packWriter struct { w io.Writer @@ -277,6 +281,14 @@ func packOfsEncode(dist uint64) ([]byte, error) { return out[:pos], nil } +// packWrite writes a pack stream for the provided object ids. +func (repo *Repository) packWrite(w io.Writer, objects []Hash, opts packWriteOptions) (Hash, error) { + if opts.EnableThinPack { + return Hash{}, errThinPackUnimplemented + } + return repo.packWriteObjects(w, objects, opts, nil) +} + // packWriteReachable writes a pack stream for objects reachable from the // provided reachability query. func (repo *Repository) packWriteReachable(w io.Writer, query ReachabilityQuery, opts packWriteOptions) (Hash, error) { @@ -295,11 +307,10 @@ func (repo *Repository) packWriteReachable(w io.Writer, query ReachabilityQuery, if err := walk.Err(); err != nil { return Hash{}, err } - return repo.packWrite(w, objects, opts, walk) + return repo.packWriteObjects(w, objects, opts, walk) } -// packWrite writes a pack stream for the provided object ids. -func (repo *Repository) packWrite(w io.Writer, objects []Hash, opts packWriteOptions, have *ReachabilityWalk) (Hash, error) { +func (repo *Repository) packWriteObjects(w io.Writer, objects []Hash, opts packWriteOptions, have *ReachabilityWalk) (Hash, error) { if repo == nil { return Hash{}, ErrInvalidObject } diff --git a/packed_write_test.go b/packed_write_test.go index fb26267e..85782c9f 100644 --- a/packed_write_test.go +++ b/packed_write_test.go @@ -159,7 +159,7 @@ func TestPackWriteNoDeltas(t *testing.T) { } packPath := pf.Name() idxPath := strings.TrimSuffix(packPath, ".pack") + ".idx" - if _, err := repo.packWrite(pf, objects, packWriteOptions{}, nil); err != nil { + if _, err := repo.packWrite(pf, objects, packWriteOptions{}); err != nil { _ = pf.Close() t.Fatalf("packWrite failed: %v", err) } @@ -287,7 +287,7 @@ func TestPackWriteDeltas(t *testing.T) { if _, err := repo.packWrite(pf, objects, packWriteOptions{ EnableDeltas: true, MinDeltaSavings: 1, - }, nil); err != nil { + }); err != nil { _ = pf.Close() t.Fatalf("packWrite failed: %v", err) } |
