ok/jj
1
0
Fork 0
forked from mirrors/jj

cli: status: only scan through mutable changes to find conflicts

Fixes #3628
This commit is contained in:
Eric Roshan-Eisner 2024-05-06 14:52:09 -07:00 committed by Martin von Zweigbergk
parent 19563fee74
commit b67e198cde
2 changed files with 6 additions and 0 deletions

View file

@ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed bugs
* `jj status` no longer scans through the entire history to look for ancestors with conflicts.
## [0.17.0] - 2024-05-01
### Breaking changes

View file

@ -21,6 +21,7 @@ use tracing::instrument;
use crate::cli_util::{print_conflicted_paths, CommandHelper};
use crate::command_error::CommandError;
use crate::diff_util;
use crate::revset_util;
use crate::ui::Ui;
/// Show high-level repo status
@ -98,6 +99,9 @@ pub(crate) fn cmd_status(
let ancestors_conflicts = RevsetExpression::filter(RevsetFilterPredicate::HasConflict)
.intersection(&wc_revset.ancestors())
.minus(&wc_revset)
.minus(&revset_util::parse_immutable_expression(
&workspace_command.revset_parse_context(),
)?)
.evaluate_programmatic(repo.as_ref())?
.iter()
.collect();