MCPcopy
hub / github.com/kopia/kopia / compareDirectories

Method compareDirectories

internal/diff/diff.go:83–105  ·  view source on GitHub ↗
(ctx context.Context, dir1, dir2 fs.Directory, parent string)

Source from the content-addressed store, hash-verified

81}
82
83func (c *Comparer) compareDirectories(ctx context.Context, dir1, dir2 fs.Directory, parent string) error {
84 log(ctx).Debugf("comparing directories %v (%v and %v)", parent, maybeOID(dir1), maybeOID(dir2))
85
86 var entries1, entries2 []fs.Entry
87
88 var err error
89
90 if dir1 != nil {
91 entries1, err = fs.GetAllEntries(ctx, dir1)
92 if err != nil {
93 return errors.Wrapf(err, "unable to read first directory %v", parent)
94 }
95 }
96
97 if dir2 != nil {
98 entries2, err = fs.GetAllEntries(ctx, dir2)
99 if err != nil {
100 return errors.Wrapf(err, "unable to read second directory %v", parent)
101 }
102 }
103
104 return c.compareDirectoryEntries(ctx, entries1, entries2, parent)
105}
106
107//nolint:gocyclo
108func (c *Comparer) compareEntry(ctx context.Context, e1, e2 fs.Entry, path string) error {

Callers 1

compareEntryMethod · 0.95

Calls 3

GetAllEntriesFunction · 0.92
maybeOIDFunction · 0.85

Tested by

no test coverage detected