Implement tree reconciliation toggle and enhance git functionality

- Introduced a constant to enable or disable periodic tree reconciliation after VFS events, addressing a persistent drift bug that caused infinite re-snapshot loops on large projects.
- Updated the `ChangeProcessor` to conditionally execute tree reconciliation based on the new constant, improving performance during file modifications.
- Enhanced the git module by adding new functions for shallow cloning and checking if files are staged, streamlining git operations.
- Refactored the `InitCommand` to utilize the new git functions for repository initialization and cloning, improving clarity and reducing redundancy.

These changes aim to optimize file change handling and enhance git integration within the project.
This commit is contained in:
Joe 2026-03-01 18:16:03 -06:00
parent 1a03554ee8
commit 76b5d8bc75
7 changed files with 248 additions and 373 deletions

View file

@ -29,7 +29,7 @@ mod web;
// TODO: Work out what we should expose publicly
pub use git::{git_add, git_add_all_and_commit};
pub use git::{git_add, git_add_all_and_commit, git_clone_shallow, git_init_repo, git_is_staged};
pub use project::*;
pub use rojo_ref::*;
pub use serve_session::TreeFreshnessReport;