From 5641ef9a42b668a97d0f6a2bd605a43bceb33ddc Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Tue, 22 Aug 2023 10:18:57 -0700 Subject: [PATCH] working_copy: don't send unchanged file states over channel This doesn't seem to make any difference right now, but it will if we write the state file when there are mtime-only changes, which we currently don't do. --- lib/src/working_copy.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/src/working_copy.rs b/lib/src/working_copy.rs index 4b46eee6b..0a0ff6da5 100644 --- a/lib/src/working_copy.rs +++ b/lib/src/working_copy.rs @@ -836,7 +836,9 @@ impl TreeState { .send((tracked_path.clone(), tree_value)) .ok(); } - file_states_tx.send((tracked_path, new_file_state)).ok(); + if new_file_state != current_file_state { + file_states_tx.send((tracked_path, new_file_state)).ok(); + } } } } else { @@ -892,7 +894,9 @@ impl TreeState { if let Some(tree_value) = update { tree_entries_tx.send((path.clone(), tree_value)).ok(); } - file_states_tx.send((path, new_file_state)).ok(); + if Some(&new_file_state) != maybe_current_file_state { + file_states_tx.send((path, new_file_state)).ok(); + } } } }