Mercurial > hg
comparison rust/hg-core/src/dirstate/dirstate_map.rs @ 46227:5bae4bc9bd42
rust: fix file folding map
The file folding map, frequently used on macOS, had two issues:
* the means for converting it to Python didn't work
* a minor typo when copying the python code, where `!=` became `==`
With this, the rust code passes all tests on macOS.
Test Plan:
I'm currently doing a full test run on a case-insensitive file system. If it passes, perhaps we can change the platform check from an error to a warning?
Differential Revision: https://phab.mercurial-scm.org/D9671
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 30 Dec 2020 00:14:28 +0100 |
parents | 496537c9c1b4 |
children | 776b97179c06 |
comparison
equal
deleted
inserted
replaced
46226:0826d684a1b5 | 46227:5bae4bc9bd42 |
---|---|
429 return file_fold_map; | 429 return file_fold_map; |
430 } | 430 } |
431 let mut new_file_fold_map = FileFoldMap::default(); | 431 let mut new_file_fold_map = FileFoldMap::default(); |
432 | 432 |
433 for (filename, DirstateEntry { state, .. }) in self.state_map.iter() { | 433 for (filename, DirstateEntry { state, .. }) in self.state_map.iter() { |
434 if *state == EntryState::Removed { | 434 if *state != EntryState::Removed { |
435 new_file_fold_map | 435 new_file_fold_map |
436 .insert(normalize_case(&filename), filename.to_owned()); | 436 .insert(normalize_case(&filename), filename.to_owned()); |
437 } | 437 } |
438 } | 438 } |
439 self.file_fold_map = Some(new_file_fold_map); | 439 self.file_fold_map = Some(new_file_fold_map); |
445 return file_fold_map; | 445 return file_fold_map; |
446 } | 446 } |
447 let mut new_file_fold_map = FileFoldMap::default(); | 447 let mut new_file_fold_map = FileFoldMap::default(); |
448 | 448 |
449 for (filename, DirstateEntry { state, .. }) in self.state_map.iter() { | 449 for (filename, DirstateEntry { state, .. }) in self.state_map.iter() { |
450 if state == EntryState::Removed { | 450 if state != EntryState::Removed { |
451 new_file_fold_map | 451 new_file_fold_map |
452 .insert(normalize_case(&filename), filename.to_owned()); | 452 .insert(normalize_case(&filename), filename.to_owned()); |
453 } | 453 } |
454 } | 454 } |
455 self.file_fold_map = Some(new_file_fold_map); | 455 self.file_fold_map = Some(new_file_fold_map); |