mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
Enhance path handling in ChangeProcessor and snapshot_project
- Canonicalized the project_root in ChangeProcessor to ensure consistent path comparisons on Windows, addressing issues with the \\?\ prefix. - Updated snapshot_project to push canonicalized paths to relevant_paths, improving path accuracy in project snapshots. These changes enhance the reliability of path handling in the project and improve overall consistency in file operations.
This commit is contained in:
parent
e023a0d3f8
commit
d05ad92c84
2 changed files with 12 additions and 3 deletions
|
|
@ -86,6 +86,9 @@ impl ChangeProcessor {
|
|||
// (non-serve commands). never() blocks forever without selecting.
|
||||
let critical_error_receiver =
|
||||
critical_error_receiver.unwrap_or_else(crossbeam_channel::never);
|
||||
// Canonicalize project_root so path comparisons work with the
|
||||
// \\?\ prefix that std::fs::canonicalize adds on Windows.
|
||||
let project_root = std::fs::canonicalize(&project_root).unwrap_or(project_root);
|
||||
let task = JobThreadContext {
|
||||
tree,
|
||||
vfs,
|
||||
|
|
@ -644,8 +647,11 @@ impl JobThreadContext {
|
|||
self.display_path(current_path)
|
||||
);
|
||||
match current_path.parent() {
|
||||
Some(parent) => current_path = parent,
|
||||
None => break Vec::new(),
|
||||
// Stop walking if we've reached or passed the project root.
|
||||
Some(parent) if parent.starts_with(&self.project_root) => {
|
||||
current_path = parent;
|
||||
}
|
||||
_ => break Vec::new(),
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -147,7 +147,10 @@ pub fn snapshot_project(
|
|||
// We SHOULD NOT mark the project file as a relevant path for any
|
||||
// nodes that aren't roots. They'll be updated as part of the project
|
||||
// file being updated.
|
||||
snapshot.metadata.relevant_paths.push(path.to_path_buf());
|
||||
snapshot
|
||||
.metadata
|
||||
.relevant_paths
|
||||
.push(vfs.canonicalize(path)?);
|
||||
|
||||
Ok(Some(snapshot))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue