Pitfalls of Baseless Merge

A previous post was dedicated to show the benefits of a baseless merge, this one shows the pitfalls:

  • When you perform a baseless merge, renames and deletes will not be merged
  • If you get conflicts, the usual 3-way merge is not possible, you will have to resolve them using a 2 way merge

The 3-way merge shows you the changes in source with respect to the base version, and the changes in target with respect to the base version. However, in a baseless merge, by definition, there’s no such thing. Hence, you will see the changes in each file with respect to the other.

Generally speaking, you should avoid baseless merge as you can. If you need to port changes between branches that share a common parent, reverse-integrate (RI) from the source branch to that common parent then forward-integrate (FI) to the target branch.