Skip to content

feat: preserve metadata ordering in dir restores#144

Merged
rmanibus merged 2 commits into
mainfrom
feat/restore-dir-metadata-ordering
Mar 18, 2026
Merged

feat: preserve metadata ordering in dir restores#144
rmanibus merged 2 commits into
mainfrom
feat/restore-dir-metadata-ordering

Conversation

@rmanibus
Copy link
Copy Markdown
Contributor

Closes #104

Summary

  • make direct-to-filesystem restores rerun-safe by skipping existing file collisions with warnings instead of truncating them
  • defer directory metadata and flags until the end of the restore so child writes cannot clobber final timestamps or permissions
  • add Unix metadata replay helpers for mode, ownership, timestamps, xattrs, and flags, plus warning reporting in restore summaries

Notes

  • this builds on the xattr replay work already merged for RFC 0006
  • birth time replay is still best-effort and remains unimplemented on macOS/Linux

Testing

  • go test ./internal/engine ./cmd/cloudstic
  • golangci-lint run ./internal/engine/... ./cmd/cloudstic/...

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 17, 2026

@rmanibus rmanibus force-pushed the feat/restore-dir-metadata-ordering branch from 69360e9 to 4146f46 Compare March 18, 2026 08:33
@rmanibus rmanibus force-pushed the feat/restore-dir-metadata-ordering branch from 4146f46 to 8e60bc3 Compare March 18, 2026 08:40
@rmanibus rmanibus merged commit cc7238f into main Mar 18, 2026
6 of 7 checks passed
@rmanibus rmanibus deleted the feat/restore-dir-metadata-ordering branch March 18, 2026 08:46
@rmanibus rmanibus added this to the v1.13.0 milestone Mar 18, 2026
@rmanibus rmanibus added the enhancement New feature or request label Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RFC 0006: Epic / Tracking issue for direct filesystem restore

1 participant