equal
deleted
inserted
replaced
39 self.state != EntryState::Normal || self.mtime == MTIME_UNSET |
39 self.state != EntryState::Normal || self.mtime == MTIME_UNSET |
40 } |
40 } |
41 |
41 |
42 pub fn is_from_other_parent(&self) -> bool { |
42 pub fn is_from_other_parent(&self) -> bool { |
43 self.state == EntryState::Normal && self.size == SIZE_FROM_OTHER_PARENT |
43 self.state == EntryState::Normal && self.size == SIZE_FROM_OTHER_PARENT |
|
44 } |
|
45 |
|
46 // TODO: other platforms |
|
47 #[cfg(unix)] |
|
48 pub fn mode_changed( |
|
49 &self, |
|
50 filesystem_metadata: &std::fs::Metadata, |
|
51 ) -> bool { |
|
52 use std::os::unix::fs::MetadataExt; |
|
53 const EXEC_BIT_MASK: u32 = 0o100; |
|
54 let dirstate_exec_bit = (self.mode as u32) & EXEC_BIT_MASK; |
|
55 let fs_exec_bit = filesystem_metadata.mode() & EXEC_BIT_MASK; |
|
56 dirstate_exec_bit != fs_exec_bit |
44 } |
57 } |
45 } |
58 } |
46 |
59 |
47 #[derive(BytesCast)] |
60 #[derive(BytesCast)] |
48 #[repr(C)] |
61 #[repr(C)] |