mirror of
https://github.com/martinvonz/jj.git
synced 2025-05-28 02:21:12 +00:00
This fixes a bug I've run into somewhat frequently. What happens is that if you have a conflict on top of another conflict and you resolve the conflict in the bottom commit, we just simplify the `Conflict` object in the second commit, but we don't try to resolve the new conflict. That shows up as an unexpected "conflict" in `jj log` output, and when you check out the commit, there are actually no conflicts, so you can just `jj squash` right away. This patch fixes that bug. It also teaches the code to work with more than 3 parts in the merge, so if there's a 5-way conflict, for example, we still try to resolve it if possible.