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);