Mercurial > public > mercurial-scm > hg-stable
comparison rust/hg-core/src/dirstate/entry.rs @ 48265:b874e8d81a98
dirstate-v2: preserve the fallback values on disk
When the fallback values are set, they are now read and written to disk.
See format documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D11688
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 18 Oct 2021 10:56:54 +0200 |
parents | 948570aa7630 |
children | f45d35950db6 |
comparison
equal
deleted
inserted
replaced
48264:948570aa7630 | 48265:b874e8d81a98 |
---|---|
337 } | 337 } |
338 | 338 |
339 /// Returns `(wdir_tracked, p1_tracked, p2_info, mode_size, mtime)` | 339 /// Returns `(wdir_tracked, p1_tracked, p2_info, mode_size, mtime)` |
340 pub(crate) fn v2_data( | 340 pub(crate) fn v2_data( |
341 &self, | 341 &self, |
342 ) -> (bool, bool, bool, Option<(u32, u32)>, Option<u32>) { | 342 ) -> ( |
343 bool, | |
344 bool, | |
345 bool, | |
346 Option<(u32, u32)>, | |
347 Option<u32>, | |
348 Option<bool>, | |
349 Option<bool>, | |
350 ) { | |
343 if !self.any_tracked() { | 351 if !self.any_tracked() { |
344 // TODO: return an Option instead? | 352 // TODO: return an Option instead? |
345 panic!("Accessing v1_state of an untracked DirstateEntry") | 353 panic!("Accessing v1_state of an untracked DirstateEntry") |
346 } | 354 } |
347 let wdir_tracked = self.flags.contains(Flags::WDIR_TRACKED); | 355 let wdir_tracked = self.flags.contains(Flags::WDIR_TRACKED); |
348 let p1_tracked = self.flags.contains(Flags::P1_TRACKED); | 356 let p1_tracked = self.flags.contains(Flags::P1_TRACKED); |
349 let p2_info = self.flags.contains(Flags::P2_INFO); | 357 let p2_info = self.flags.contains(Flags::P2_INFO); |
350 let mode_size = self.mode_size; | 358 let mode_size = self.mode_size; |
351 let mtime = self.mtime; | 359 let mtime = self.mtime; |
352 (wdir_tracked, p1_tracked, p2_info, mode_size, mtime) | 360 ( |
361 wdir_tracked, | |
362 p1_tracked, | |
363 p2_info, | |
364 mode_size, | |
365 mtime, | |
366 self.get_fallback_exec(), | |
367 self.get_fallback_symlink(), | |
368 ) | |
353 } | 369 } |
354 | 370 |
355 fn v1_state(&self) -> EntryState { | 371 fn v1_state(&self) -> EntryState { |
356 if !self.any_tracked() { | 372 if !self.any_tracked() { |
357 // TODO: return an Option instead? | 373 // TODO: return an Option instead? |