ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib/tests
Martin von Zweigbergk e3254fa5c4 rewrite: don't rewrite the "removed" side of a branch conflict
Let's say we have a simple history like this:

```
B C D
 \|/
  A
```

Branch `main` initially points to commit B. Two concurrent operations
then move the branch to commits C and D. When the two concurrent
operations get merged, the branch will be recorded as pointing to
"C+D-B". If a subsequent operation now abandons commit B, we would
update the "removed" side of the branch conflict. That seems a little
dishonest. I think the reason I did it that way was in order to not
keep B visible back when having it present in the "removed" side would
keep it visible (before 33bf6ce1d5).

I noticed this issue while working on #241 because
`test_import_refs_reimport()` started failing. That test case is
pretty much exactly the case above.
2022-04-28 11:28:09 -07:00
..
test_bad_locking.rs repo: when merging in removed head, rebase descendants (#111) 2022-03-26 22:31:49 -07:00
test_commit_builder.rs transaction: check that we haven't forgotten to rebase descendants (#111) 2022-03-26 22:31:49 -07:00
test_commit_concurrent.rs repo: when merging in removed head, rebase descendants (#111) 2022-03-26 22:31:49 -07:00
test_conflicts.rs backend: pass in path when reading/writing conflicts as well 2022-03-31 10:23:33 -07:00
test_diff_summary.rs tests: don't create workspaces in diff-summary tests 2022-02-05 15:31:09 -08:00
test_git.rs tests: don't create workspaces in git tests 2022-02-05 13:45:41 -08:00
test_index.rs repo: clarify that some repo functions load the repo at head (#111) 2022-03-26 22:31:49 -07:00
test_init.rs cleanup: replace .tree().id() by tree_id() to avoid looking up trees 2022-04-21 21:54:52 -07:00
test_load_repo.rs repo: when merging in removed head, rebase descendants (#111) 2022-03-26 22:31:49 -07:00
test_merge_trees.rs trees: when merging trees and one is missing, treat it as empty 2022-04-20 13:47:03 -07:00
test_mut_repo.rs cleanup: replace .tree().id() by tree_id() to avoid looking up trees 2022-04-21 21:54:52 -07:00
test_operations.rs repo: when merging in removed head, rebase descendants (#111) 2022-03-26 22:31:49 -07:00
test_refs.rs tests: rename init_repo() to init_workspace() 2022-02-05 13:02:19 -08:00
test_revset.rs revset: add a roots() function 2022-04-13 23:24:51 -07:00
test_revset_graph_iterator.rs tests: don't create workspaces in RevsetGraphIterator tests 2022-02-05 15:30:27 -08:00
test_rewrite.rs rewrite: don't rewrite the "removed" side of a branch conflict 2022-04-28 11:28:09 -07:00
test_view.rs repo: when merging in removed head, rebase descendants (#111) 2022-03-26 22:31:49 -07:00
test_working_copy.rs working_copy: record sparse patterns in the tree state (#52) 2022-04-26 14:52:17 -07:00
test_working_copy_concurrent.rs working_copy: let caller pass in base Git ignores (#65, #87) 2022-03-12 10:48:06 -08:00
test_working_copy_sparse.rs working_copy: respect sparse patterns when writing tree (#52) 2022-04-26 14:52:17 -07:00
test_workspace.rs workspace: canonicalize workspace and repo paths internally 2022-03-30 22:09:55 -07:00