Thoughts after the October 1 discussion of Tom Mens's survey paper:
Precise conditions that any merge function must satisfy (e.g., if the ancestor and version 1 are unchanged, but version 2 changes, the output should change)
Conditions under which a merge function should be expected to succeed
A precise theory of merging for lists of lines
A precise theory of merging for trees
Comparison of theories
Some means of assessing the quality of a merging algorithm, including a way to make precise the idea of "false positive" or "false negative"
Testable properties of merge algorithms?
Experimental comparison of multiple merge algorithms, based on actual merges from projects whose history is publically available
A precise characterization of the difference, if any, between merge and rebase
A precise analysis of when the rebase workflow can fail
Can differences between merge algorithms be explained by appealing to differences in an underlying algebra of update operations?