In its current form, this exercise is based on a git graph where there is a base state with a nearly empty implementation, and then two branches that introduce 2 slightly different variations of the same mergesort implementation. This is a very artificial scenario compared to real life.
For normal command-line run through of the exercise, it works perfectly fine, and the conflicts are perfectly valid, but if you try to do the exercise (or demo it as I often do) using external merge tools that also show and use the common ancestor base state, then it gets quite confusing and not very illustrative.
I want to change the exercise so that it has a more "complete" base state, with smaller changes in the two branches. The final states should be the same as now, and the conflicts the same or similar, but hopefully with a history that is more true to real life and makes for better demos.
In its current form, this exercise is based on a git graph where there is a base state with a nearly empty implementation, and then two branches that introduce 2 slightly different variations of the same mergesort implementation. This is a very artificial scenario compared to real life. For normal command-line run through of the exercise, it works perfectly fine, and the conflicts are perfectly valid, but if you try to do the exercise (or demo it as I often do) using external merge tools that also show and use the common ancestor base state, then it gets quite confusing and not very illustrative.
I want to change the exercise so that it has a more "complete" base state, with smaller changes in the two branches. The final states should be the same as now, and the conflicts the same or similar, but hopefully with a history that is more true to real life and makes for better demos.