fix: Fix process-changes not deduplicating changes correctly

This commit is contained in:
Lukas Wirth 2023-01-25 14:46:06 +01:00
parent e6ad8a2edc
commit d712e52940
4 changed files with 30 additions and 15 deletions

View file

@ -75,6 +75,7 @@ pub struct Vfs {
}
/// Changed file in the [`Vfs`].
#[derive(Debug)]
pub struct ChangedFile {
/// Id of the changed file
pub file_id: FileId,
@ -161,9 +162,9 @@ impl Vfs {
let file_id = self.alloc_file_id(path);
let change_kind = match (&self.get(file_id), &contents) {
(None, None) => return false,
(Some(old), Some(new)) if old == new => return false,
(None, Some(_)) => ChangeKind::Create,
(Some(_), None) => ChangeKind::Delete,
(Some(old), Some(new)) if old == new => return false,
(Some(_), Some(_)) => ChangeKind::Modify,
};