##// END OF EJS Templates
dirstate-item: make sure we set the mtime-second-ambiguous on v2 write...
marmoute -
r49230:995aaacb default
parent child Browse files
Show More
@@ -483,6 +483,8 b' class DirstateItem(object):'
483 flags |= DIRSTATE_V2_MODE_IS_SYMLINK
483 flags |= DIRSTATE_V2_MODE_IS_SYMLINK
484 if self._mtime_s is not None:
484 if self._mtime_s is not None:
485 flags |= DIRSTATE_V2_HAS_MTIME
485 flags |= DIRSTATE_V2_HAS_MTIME
486 if self._mtime_second_ambiguous:
487 flags |= DIRSTATE_V2_MTIME_SECOND_AMBIGUOUS
486
488
487 if self._fallback_exec is not None:
489 if self._fallback_exec is not None:
488 flags |= DIRSTATE_V2_HAS_FALLBACK_EXEC
490 flags |= DIRSTATE_V2_HAS_FALLBACK_EXEC
@@ -43,7 +43,10 b' pub struct TruncatedTimestamp {'
43 truncated_seconds: u32,
43 truncated_seconds: u32,
44 /// Always in the `0 .. 1_000_000_000` range.
44 /// Always in the `0 .. 1_000_000_000` range.
45 nanoseconds: u32,
45 nanoseconds: u32,
46 second_ambiguous: bool,
46 /// TODO this should be in DirstateEntry, but the current code needs
47 /// refactoring to use DirstateEntry instead of TruncatedTimestamp for
48 /// comparison.
49 pub second_ambiguous: bool,
47 }
50 }
48
51
49 impl TruncatedTimestamp {
52 impl TruncatedTimestamp {
@@ -465,6 +465,9 b' impl Node {'
465 };
465 };
466 let mtime = if let Some(m) = mtime_opt {
466 let mtime = if let Some(m) = mtime_opt {
467 flags.insert(Flags::HAS_MTIME);
467 flags.insert(Flags::HAS_MTIME);
468 if m.second_ambiguous {
469 flags.insert(Flags::MTIME_SECOND_AMBIGUOUS);
470 };
468 m.into()
471 m.into()
469 } else {
472 } else {
470 PackedTruncatedTimestamp::null()
473 PackedTruncatedTimestamp::null()
General Comments 0
You need to be logged in to leave comments. Login now