[Updated] D10217: rust-status: fix issue6456 for the Rust implementation also
Alphare (Raphaël Gomès)
phabricator at mercurial-scm.org
Tue Mar 16 21:50:22 UTC 2021
Closed by commit rHG3c9ddb1986a9: rust-status: fix issue6456 for the Rust implementation also (authored by Alphare).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D10217?vs=26360&id=26438
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D10217/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D10217
AFFECTED FILES
rust/hg-core/src/dirstate/status.rs
rust/hg-core/src/utils/files.rs
CHANGE DETAILS
diff --git a/rust/hg-core/src/utils/files.rs b/rust/hg-core/src/utils/files.rs
--- a/rust/hg-core/src/utils/files.rs
+++ b/rust/hg-core/src/utils/files.rs
@@ -199,6 +199,12 @@
st_ctime: metadata.ctime(),
}
}
+
+ pub fn is_symlink(&self) -> bool {
+ // This is way too manual, but `HgMetadata` will go away in the
+ // near-future dirstate rewrite anyway.
+ self.st_mode & 0170000 == 0120000
+ }
}
/// Returns the canonical path of `name`, given `cwd` and `root`
diff --git a/rust/hg-core/src/dirstate/status.rs b/rust/hg-core/src/dirstate/status.rs
--- a/rust/hg-core/src/dirstate/status.rs
+++ b/rust/hg-core/src/dirstate/status.rs
@@ -184,7 +184,13 @@
|| other_parent
|| copy_map.contains_key(filename.as_ref())
{
- Dispatch::Modified
+ if metadata.is_symlink() && size_changed {
+ // issue6456: Size returned may be longer due to encryption
+ // on EXT-4 fscrypt. TODO maybe only do it on EXT4?
+ Dispatch::Unsure
+ } else {
+ Dispatch::Modified
+ }
} else if mod_compare(mtime, st_mtime as i32)
|| st_mtime == options.last_normal_time
{
To: Alphare, #hg-reviewers
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20210316/102fb536/attachment-0002.html>
More information about the Mercurial-patches
mailing list