Skip to content

Commit a3ac881

Browse files
committed
feat!: Refactor LocalSourceSaveOptions
1 parent acc90e9 commit a3ac881

File tree

5 files changed

+491
-437
lines changed

5 files changed

+491
-437
lines changed

crates/core/src/archiver/parent.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,21 @@ impl Parent {
171171

172172
p_node
173173
.find(|p_node| {
174+
let p_meta = &p_node.meta;
175+
let meta = &node.meta;
176+
177+
let match_ctime =
178+
ignore_ctime || p_meta.ctime.zip(meta.ctime).is_none_or(|(x, y)| x == y);
179+
let match_inode = !ignore_inode
180+
|| p_meta.inode == 0
181+
|| meta.inode == 0
182+
|| p_meta.inode == meta.inode;
183+
174184
p_node.node_type == node.node_type
175-
&& p_node.meta.size == node.meta.size
176-
&& p_node.meta.mtime == node.meta.mtime
177-
&& (ignore_ctime || p_node.meta.ctime == node.meta.ctime)
178-
&& (ignore_inode
179-
|| p_node.meta.inode == 0
180-
|| p_node.meta.inode == node.meta.inode)
185+
&& p_meta.size == meta.size
186+
&& p_meta.mtime == meta.mtime
187+
&& match_ctime
188+
&& match_inode
181189
})
182190
.map_or(ParentResult::NotMatched, ParentResult::Matched)
183191
}

0 commit comments

Comments
 (0)