ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib
Martin von Zweigbergk ef4cb663ae cli: move logic for updating branches after rewrite to lib crate
This patch moves the function for updating branches after rewrite from
`commands.rs` into `rewrite.rs`.

It also changes the function to update branches even if they were
conflicted or become conflicted. I think that seems better than
leaving branches on old commits. For example, let's say you have start
with this:

```
C main
|
B origin@main
|
A
```

You now pull from origin, which has updated the main branch from B to
B'. We apply that change to both the remote branch and the local
branch, which results in a conflict in the local branch:

```
C main?
|
B B' main? origin@main
|/
A
```

If you now rewrite C to C', the conflicted main branch will still
point to C, which is just weird. This patch changes that so the
conflicted side of main gets repointed to C'.

I also refactored the code to reuse our existing
`MutableRepo::merge_single_ref()`, which improves the behavior in
several cases, such as the conflict-resolution case in the last test
case.
2021-09-18 10:03:26 -07:00
..
benches project: rename project from Jujube to Jujutsu 2021-05-15 10:28:40 -07:00
protos view: add support for ref-based branches and tags to model 2021-08-04 11:33:57 -07:00
src cli: move logic for updating branches after rewrite to lib crate 2021-09-18 10:03:26 -07:00
tests cli: move logic for updating branches after rewrite to lib crate 2021-09-18 10:03:26 -07:00
build.rs rustfmt: configure to group imports 2021-03-14 10:46:25 -07:00
Cargo.toml cargo: update test-case to 1.2.0 now that frondeus/test-case#66 is fixed 2021-06-28 12:13:14 -07:00