ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib/tests
Ilya Grigoriev d439de073d rewrite.rs: revert commits cfcc7c5e and becbc889
This mostly reverts https://github.com/martinvonz/jj/pull/2901 as well as its
fixup https://github.com/martinvonz/jj/pull/2903. The related bug is reopened,
see https://github.com/martinvonz/jj/issues/2869#issuecomment-1920367932.

The problem is that while the fix did fix #2869 in most cases, it did
reintroduce the more severe bug https://github.com/martinvonz/jj/issues/2760
in one case, if the working copy is the commit being rebased.

For example, suppose you have the tree

```
root -> A -> B -> @ (empty) -> C
```

### Before this commit

#### Case 1

`jj rebase -s B -d root --skip-empty` would work perfectly before this
commit, resulting in

```
root -> A
  \-------B -> C
           \- @ (new, empty)
```

#### Case 2

Unfortunately, if you run `jj rebase -s @ -d A --skip-empty`, you'd have the
following result (before this commit), which shows the reintroduction of #2760:

```
root -> A @ -> C
         \-- B
```

with the working copy at `A`. The reason for this is explained in
https://github.com/martinvonz/jj/pull/2901#issuecomment-1920043560.

### After this commit

After this commit, both case 1 and case 2 will be wrong in the sense of #2869,
but it will no longer exhibit the worse bug #2760 in the second case.

Case 1 would result in:

```
root -> A
  \-------B -> @ (empty) -> C
```

Case 2 would result in:

```
root -> A -> @ -> C
         \-- B
```

with the working copy remaining a descendant of A
2024-02-03 15:56:44 -08:00
..
test_bad_locking.rs
test_commit_builder.rs
test_commit_concurrent.rs
test_conflicts.rs
test_default_revset_graph_iterator.rs
test_diff_summary.rs
test_git.rs
test_git_backend.rs
test_id_prefix.rs
test_index.rs
test_init.rs
test_load_repo.rs
test_local_working_copy.rs
test_local_working_copy_concurrent.rs
test_local_working_copy_sparse.rs
test_merge_trees.rs
test_merged_tree.rs
test_mut_repo.rs
test_operations.rs
test_refs.rs
test_revset.rs
test_rewrite.rs rewrite.rs: revert commits cfcc7c5e and becbc889 2024-02-03 15:56:44 -08:00
test_signing.rs
test_view.rs
test_workspace.rs