mirror of
https://github.com/martinvonz/jj.git
synced 2025-05-29 02:51:12 +00:00
cli: status: evaluate conflicts revset as a user expression
Otherwise, it would panic if immutable_heads() contained unresolved symbols.
This commit is contained in:
parent
76b6d031d7
commit
c1d934a08a
@ -95,14 +95,16 @@ pub(crate) fn cmd_status(
|
|||||||
|
|
||||||
let wc_revset = RevsetExpression::commit(wc_commit.id().clone());
|
let wc_revset = RevsetExpression::commit(wc_commit.id().clone());
|
||||||
// Ancestors with conflicts, excluding the current working copy commit.
|
// Ancestors with conflicts, excluding the current working copy commit.
|
||||||
let ancestors_conflicts = RevsetExpression::filter(RevsetFilterPredicate::HasConflict)
|
let ancestors_conflicts = workspace_command
|
||||||
.intersection(&wc_revset.ancestors())
|
.attach_revset_evaluator(
|
||||||
.minus(&wc_revset)
|
RevsetExpression::filter(RevsetFilterPredicate::HasConflict)
|
||||||
.minus(&revset_util::parse_immutable_expression(
|
.intersection(&wc_revset.ancestors())
|
||||||
&workspace_command.revset_parse_context(),
|
.minus(&wc_revset)
|
||||||
)?)
|
.minus(&revset_util::parse_immutable_expression(
|
||||||
.evaluate_programmatic(repo.as_ref())?
|
&workspace_command.revset_parse_context(),
|
||||||
.iter()
|
)?),
|
||||||
|
)?
|
||||||
|
.evaluate_to_commit_ids()?
|
||||||
.collect();
|
.collect();
|
||||||
workspace_command.report_repo_conflicts(formatter, repo, ancestors_conflicts)?;
|
workspace_command.report_repo_conflicts(formatter, repo, ancestors_conflicts)?;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user