diff options
| author | 2026-03-25 14:49:17 +0000 | |
|---|---|---|
| committer | 2026-03-25 15:02:22 +0000 | |
| commit | 7847657e0820af98120031f719b8ede635ad8c07 (patch) | |
| tree | 8c4439c78f72f1382edc809b49be33115847b6e7 /diff/trees | |
| parent | object: Remove type.go (diff) | |
| signature | No signature | |
object: Split each object type into its own package v0.1.108
Diffstat (limited to 'diff/trees')
| -rw-r--r-- | diff/trees/diff.go | 4 | ||||
| -rw-r--r-- | diff/trees/diff_recursive.go | 22 | ||||
| -rw-r--r-- | diff/trees/diff_test.go | 10 | ||||
| -rw-r--r-- | diff/trees/entry.go | 6 |
4 files changed, 21 insertions, 21 deletions
diff --git a/diff/trees/diff.go b/diff/trees/diff.go index 742d7397..0f3cf1f2 100644 --- a/diff/trees/diff.go +++ b/diff/trees/diff.go @@ -2,15 +2,15 @@ package trees import ( - "codeberg.org/lindenii/furgit/object" objectid "codeberg.org/lindenii/furgit/object/id" + "codeberg.org/lindenii/furgit/object/tree" ) // Diff compares two trees and returns recursive differences. // // readTree is used to lazily load child trees by object ID when recursion // reaches directory entries. -func Diff(a, b *object.Tree, readTree func(objectid.ObjectID) (*object.Tree, error)) ([]Entry, error) { +func Diff(a, b *tree.Tree, readTree func(objectid.ObjectID) (*tree.Tree, error)) ([]Entry, error) { var out []Entry err := diffRecursive(a, b, nil, readTree, &out) diff --git a/diff/trees/diff_recursive.go b/diff/trees/diff_recursive.go index 8ad4caf1..98848b24 100644 --- a/diff/trees/diff_recursive.go +++ b/diff/trees/diff_recursive.go @@ -1,11 +1,11 @@ package trees import ( - "codeberg.org/lindenii/furgit/object" objectid "codeberg.org/lindenii/furgit/object/id" + "codeberg.org/lindenii/furgit/object/tree" ) -func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.ObjectID) (*object.Tree, error), out *[]Entry) error { +func diffRecursive(a, b *tree.Tree, prefix []byte, readTree func(objectid.ObjectID) (*tree.Tree, error), out *[]Entry) error { if a == nil && b == nil { return nil } @@ -16,7 +16,7 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje full := joinPath(prefix, entry.Name) *out = append(*out, Entry{Path: full, Kind: EntryKindAdded, Old: nil, New: entry}) - if entry.Mode != object.FileModeDir { + if entry.Mode != tree.FileModeDir { continue } @@ -40,7 +40,7 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje full := joinPath(prefix, entry.Name) *out = append(*out, Entry{Path: full, Kind: EntryKindDeleted, Old: entry, New: nil}) - if entry.Mode != object.FileModeDir { + if entry.Mode != tree.FileModeDir { continue } @@ -65,18 +65,18 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje left := &a.Entries[i] right := &b.Entries[j] - cmp := object.TreeEntryNameCompare( + cmp := tree.TreeEntryNameCompare( left.Name, left.Mode, right.Name, - right.Mode == object.FileModeDir, + right.Mode == tree.FileModeDir, ) switch { case cmp < 0: full := joinPath(prefix, left.Name) *out = append(*out, Entry{Path: full, Kind: EntryKindDeleted, Old: left, New: nil}) - if left.Mode == object.FileModeDir { + if left.Mode == tree.FileModeDir { sub, err := readTree(left.ID) if err != nil { return err @@ -93,7 +93,7 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje full := joinPath(prefix, right.Name) *out = append(*out, Entry{Path: full, Kind: EntryKindAdded, Old: nil, New: right}) - if right.Mode == object.FileModeDir { + if right.Mode == tree.FileModeDir { sub, err := readTree(right.ID) if err != nil { return err @@ -114,7 +114,7 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje *out = append(*out, Entry{Path: full, Kind: EntryKindModified, Old: left, New: right}) } - if left.Mode == object.FileModeDir && right.Mode == object.FileModeDir && left.ID != right.ID { + if left.Mode == tree.FileModeDir && right.Mode == tree.FileModeDir && left.ID != right.ID { leftSub, err := readTree(left.ID) if err != nil { return err @@ -141,7 +141,7 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje full := joinPath(prefix, left.Name) *out = append(*out, Entry{Path: full, Kind: EntryKindDeleted, Old: left, New: nil}) - if left.Mode == object.FileModeDir { + if left.Mode == tree.FileModeDir { sub, err := readTree(left.ID) if err != nil { return err @@ -159,7 +159,7 @@ func diffRecursive(a, b *object.Tree, prefix []byte, readTree func(objectid.Obje full := joinPath(prefix, right.Name) *out = append(*out, Entry{Path: full, Kind: EntryKindAdded, Old: nil, New: right}) - if right.Mode == object.FileModeDir { + if right.Mode == tree.FileModeDir { sub, err := readTree(right.ID) if err != nil { return err diff --git a/diff/trees/diff_test.go b/diff/trees/diff_test.go index 9924c2ad..8e8fed1c 100644 --- a/diff/trees/diff_test.go +++ b/diff/trees/diff_test.go @@ -6,9 +6,9 @@ import ( "codeberg.org/lindenii/furgit/diff/trees" "codeberg.org/lindenii/furgit/internal/testgit" - "codeberg.org/lindenii/furgit/object" objectid "codeberg.org/lindenii/furgit/object/id" "codeberg.org/lindenii/furgit/object/storer/loose" + "codeberg.org/lindenii/furgit/object/tree" objecttype "codeberg.org/lindenii/furgit/object/type" ) @@ -174,10 +174,10 @@ func openLooseStore(t *testing.T, repo *testgit.TestRepo, algo objectid.Algorith return store } -func makeReadTree(t *testing.T, store *loose.Store, algo objectid.Algorithm) func(objectid.ObjectID) (*object.Tree, error) { +func makeReadTree(t *testing.T, store *loose.Store, algo objectid.Algorithm) func(objectid.ObjectID) (*tree.Tree, error) { t.Helper() - return func(id objectid.ObjectID) (*object.Tree, error) { + return func(id objectid.ObjectID) (*tree.Tree, error) { ty, content, err := store.ReadBytesContent(id) if err != nil { return nil, err @@ -187,11 +187,11 @@ func makeReadTree(t *testing.T, store *loose.Store, algo objectid.Algorithm) fun return nil, errors.New("diff/trees test: object is not a tree") } - return object.ParseTree(content, algo) + return tree.Parse(content, algo) } } -func mustReadTree(t *testing.T, readTree func(objectid.ObjectID) (*object.Tree, error), id objectid.ObjectID) *object.Tree { +func mustReadTree(t *testing.T, readTree func(objectid.ObjectID) (*tree.Tree, error), id objectid.ObjectID) *tree.Tree { t.Helper() tree, err := readTree(id) diff --git a/diff/trees/entry.go b/diff/trees/entry.go index 267c3380..84813a79 100644 --- a/diff/trees/entry.go +++ b/diff/trees/entry.go @@ -1,6 +1,6 @@ package trees -import "codeberg.org/lindenii/furgit/object" +import "codeberg.org/lindenii/furgit/object/tree" // Entry is one recursive tree difference at a path. type Entry struct { @@ -9,7 +9,7 @@ type Entry struct { // Kind is the difference kind for this path. Kind EntryKind // Old is the old tree entry (nil when Kind is EntryKindAdded). - Old *object.TreeEntry + Old *tree.TreeEntry // New is the new tree entry (nil when Kind is EntryKindDeleted). - New *object.TreeEntry + New *tree.TreeEntry } |
