Skip to content

Commit

Permalink
cli: add better error message when immutable_heads() cannot be resolved
Browse files Browse the repository at this point in the history
  • Loading branch information
noahmayr committed Apr 2, 2024
1 parent 320f50e commit 33ca291
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
7 changes: 6 additions & 1 deletion cli/src/cli_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1012,7 +1012,12 @@ impl WorkspaceCommandHelper {
let immutable = revset_util::parse_immutable_expression(&self.revset_parse_context())?;
let mut expression = self.attach_revset_evaluator(immutable)?;
expression.intersect_with(&to_rewrite_revset);
if let Some(commit_id) = expression.evaluate_to_commit_ids()?.next() {

let mut commit_id_iter = expression.evaluate_to_commit_ids().map_err(|e| {
config_error_with_message("Invalid `revset-aliases.immutable_heads()`", e)
})?;

if let Some(commit_id) = commit_id_iter.next() {
let error = if &commit_id == self.repo().store().root_commit_id() {
user_error(format!(
"The root commit {} is immutable",
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ You will probably also want to make the `gh-pages` branch immutable (and thereby
hidden from the default `jj log` output) by running the following in your repo:

```shell
jj config set --repo "revset-aliases.immutable_heads()" "main@origin | gh-pages@origin"
jj config set --repo "revset-aliases.immutable_heads()" 'remote_branches(exact:"main") | remote_branches(exact:"gh-pages")'
```

### Summary
Expand Down

0 comments on commit 33ca291

Please sign in to comment.