You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚗️ Add --mac-metadata option to stdio command for AppleDouble support
Add --mac-metadata and --no-mac-metadata flags to preserve macOS extended
attributes, ACLs, and resource forks using the AppleDouble format via copyfile().
- Introduce MacMetadataStrategy enum with Always/Never variants
- Integrate with KeepOptions for consistent metadata handling
- Add maMd chunk type for storing packed AppleDouble data
- Support all stdio modes: create (-c), extract (-x), append (-r), update (-u)
- Require --unstable flag as feature is experimental
/// Restores file metadata (permissions, extended attributes, and ACLs) for an extracted entry according to the provided keep and owner options.
877
+
/// Restores file metadata (permissions, extended attributes, ACLs, and macOS metadata) for an extracted entry according to the provided keep and owner options.
876
878
///
877
-
/// Permissions are applied when `keep_options.permission_strategy` is `Always`. Extended attributes are applied on Unix when `keep_options.xattr_strategy` is `Always` (logs a warning if the filesystem or platform does not support xattrs). ACLs are restored when the `acl` feature is enabled and `keep_options.acl_strategy` requests them; if the `acl` feature is not compiled in but ACLs were requested, a warning is emitted.
879
+
/// Permissions are applied when `keep_options.permission_strategy` is `Always`. Extended attributes are applied on Unix when `keep_options.xattr_strategy` is `Always` (logs a warning if the filesystem or platform does not support xattrs). ACLs are restored when the `acl` feature is enabled and `keep_options.acl_strategy` requests them; if the `acl` feature is not compiled in but ACLs were requested, a warning is emitted. macOS metadata (AppleDouble) is restored when `keep_options.mac_metadata_strategy` is `Always` on macOS.
0 commit comments