MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / has_working_copy_changes

Method has_working_copy_changes

atomic-agent/src/turn/orchestrator/mod.rs:427–438  ·  view source on GitHub ↗

Fast check for working copy changes. Uses `StatusOptions::fast()` so turn-end recording sees both tracked changes and untracked files created by the agent. This intentionally includes the untracked filesystem walk: if we ignore untracked files here, a turn that only creates new files exits before `record_turn()` can auto-add and record them with provenance.

(&self)

Source from the content-addressed store, hash-verified

425 /// here, a turn that only creates new files exits before `record_turn()`
426 /// can auto-add and record them with provenance.
427 pub(crate) fn has_working_copy_changes(&self) -> bool {
428 let repo = match atomic_repository::Repository::open_readonly(&self.repo_root) {
429 Ok(r) => r,
430 Err(_) => return true, // can't check — assume changes
431 };
432
433 let opts = atomic_repository::status::StatusOptions::fast().with_untracked(true);
434 match repo.status(opts) {
435 Ok(status) => !status.is_clean() || status.has_untracked(),
436 Err(_) => true, // can't check — assume changes
437 }
438 }
439}
440
441impl std::fmt::Debug for TurnOrchestrator {

Callers 1

handle_turn_endMethod · 0.80

Calls 4

with_untrackedMethod · 0.80
has_untrackedMethod · 0.80
statusMethod · 0.45
is_cleanMethod · 0.45

Tested by

no test coverage detected