Skip to content

Commit dff69a9

Browse files
etc-merge: Implement merge
Merge added, modified, removed files from the current etc into the new etc directory, following the rules 1. If file is removed from current_etc, it will be removed from new_etc 2. If file is modified in current_etc, it will be copied to the new_etc overwriting any existing files 3. If a file is added in current_etc, then the above modification rule applies Modification includes change in content/permissions. Changed in Xattrs and/or ownership is not handled yet. Signed-off-by: Johan-Liebert1 <[email protected]> etc-merge: Handle ownership changes Signed-off-by: Johan-Liebert1 <[email protected]> etc-merge: Handle xattrs Signed-off-by: Johan-Liebert1 <[email protected]> etc-merge: Ignore mtime while comparing stat Signed-off-by: Johan-Liebert1 <[email protected]> Remove chown test Signed-off-by: Johan-Liebert1 <[email protected]> etc-merge: Use `llistxattr` and `lgetxattr` Use the non symlink following counterparts for getting xattrs. Document public functions and structures Signed-off-by: Johan-Liebert1 <[email protected]>
1 parent b2d5fc4 commit dff69a9

File tree

3 files changed

+665
-74
lines changed

3 files changed

+665
-74
lines changed

Cargo.lock

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/etc-merge/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ openssl = { workspace = true }
1111
hex = { workspace = true }
1212
tracing = { workspace = true }
1313
composefs = { workspace = true }
14+
fn-error-context = { workspace = true }
15+
owo-colors = { workspace = true }
16+
anstream = { workspace = true }
1417

1518
[lints]
1619
workspace = true

0 commit comments

Comments
 (0)