Skip to content

refactor: decompose apply.rs into ownership, permissions, and timestamps submodules#2773

Merged
oferchen merged 2 commits intomasterfrom
refactor/decompose-apply-metadata
Mar 20, 2026
Merged

refactor: decompose apply.rs into ownership, permissions, and timestamps submodules#2773
oferchen merged 2 commits intomasterfrom
refactor/decompose-apply-metadata

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • Split the 2136-line metadata/apply.rs into focused submodules following SRP
  • ownership.rs: UID/GID resolution, chown/fchown, fake-super xattr storage
  • permissions.rs: chmod/fchmod, executability preservation, mode resolution
  • timestamps.rs: mtime/atime/crtime via utimensat, futimens, setattrlist
  • tests.rs: all 25 test functions extracted into dedicated module
  • No behavioral changes - all callers use the same public API signatures

Test plan

  • CI fmt+clippy passes
  • All nextest tests pass (Linux, macOS, Windows)
  • No wire format changes - protocol golden tests unaffected

@oferchen oferchen force-pushed the refactor/decompose-apply-metadata branch from d0bb31f to b628cb6 Compare March 20, 2026 18:15
Comment thread crates/metadata/src/apply/ownership.rs Dismissed
@oferchen oferchen force-pushed the refactor/decompose-apply-metadata branch from b628cb6 to d0bb31f Compare March 20, 2026 18:36
@oferchen oferchen force-pushed the refactor/decompose-apply-metadata branch from d0bb31f to c460e4d Compare March 20, 2026 18:50
@oferchen oferchen merged commit 49f310e into master Mar 20, 2026
17 of 31 checks passed
@oferchen oferchen deleted the refactor/decompose-apply-metadata branch March 21, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants