Unified · Split
| @@ -2072,15 +2072,12 @@ to the current parents may contain changes from multiple commits. · 2071 unmodified lines | ||
| 2072 | 2072 | .env |
| 2073 | 2073 | .resolve_immutable_expression(tx.repo()) |
| 2074 | 2074 | .map_err(snapshot_command_error)?; |
| 2075 | − let wc_immutable = immutable_expr | |
| 2075 | + let wc_immutable = !immutable_expr | |
| 2076 | 2076 | .intersection(&RevsetExpression::commit(wc_commit.id().clone())) |
| 2077 | 2077 | .evaluate(tx.repo()) |
| 2078 | 2078 | .map_err(snapshot_command_error)? |
| 2079 | − .stream() | |
| 2080 | − .try_next() | |
| 2081 | − .await | |
| 2082 | − .map_err(snapshot_command_error)? | |
| 2083 | − .is_some(); | |
| 2079 | + .is_empty() | |
| 2080 | + .map_err(snapshot_command_error)?; | |
| 2084 | 2081 | let mut_repo = tx.repo_mut(); |
| 2085 | 2082 | let new_wc_commit; |
| 2086 | 2083 | if wc_immutable { |
| @@ -382,7 +382,7 @@ pub(crate) async fn cmd_log( · 381 unmodified lines | ||
| 382 | 382 | this is often not useful because all non-empty commits touch '.'. If you meant \ |
| 383 | 383 | to show the working copy commit, pass -r '@' instead." |
| 384 | 384 | )?; |
| 385 | − } else if revset.is_empty() | |
| 385 | + } else if revset.is_empty()? | |
| 386 | 386 | && workspace_command |
| 387 | 387 | .parse_revset(ui, &RevisionArg::from(only_path.to_owned())) |
| 388 | 388 | .is_ok() |
| @@ -188,8 +188,8 @@ impl<I: AsCompositeIndex + Clone> Revset for RevsetImpl<I> { · 187 unmodified lines | ||
| 188 | 188 | futures::stream::iter(self.iter_graph_impl(skip_transitive_edges)).boxed_local() |
| 189 | 189 | } |
| 190 | 190 | |
| 191 | − fn is_empty(&self) -> bool { | |
| 192 | − self.positions().next().is_none() | |
| 191 | + fn is_empty(&self) -> Result<bool, RevsetEvaluationError> { | |
| 192 | + Ok(self.positions().next().transpose()?.is_none()) | |
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | fn count_estimate(&self) -> Result<(usize, Option<usize>), RevsetEvaluationError> { |
| @@ -3407,8 +3407,8 @@ pub trait Revset: fmt::Debug { · 3406 unmodified lines | ||
| 3407 | 3407 | where |
| 3408 | 3408 | Self: 'a; |
| 3409 | 3409 | |
| 3410 | − /// Returns true if iterator will emit no commit nor error. | |
| 3411 | − fn is_empty(&self) -> bool; | |
| 3410 | + /// Returns true if iterator will emit no commit. | |
| 3411 | + fn is_empty(&self) -> Result<bool, RevsetEvaluationError>; | |
| 3412 | 3412 | |
| 3413 | 3413 | /// Inclusive lower bound and, optionally, inclusive upper bound of how many |
| 3414 | 3414 | /// commits are in the revset. The implementation can use its discretion as |