mirror of
https://github.com/martinvonz/jj.git
synced 2025-01-05 02:53:12 +00:00
d439de073d
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 |
||
---|---|---|
.. | ||
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 | ||
test_signing.rs | ||
test_view.rs | ||
test_workspace.rs |