3 ms·
Mark-merge is specifically for standalone scalar values. We used it for tree structure (file name, and patent directory), for file attributes, and as a first pa
by tbrownaw 10y ago
Mark-merge is specifically for standalone scalar values. We used it for tree structure (file name, and patent directory), for file attributes, and as a first pass on file content to see if we needed to bother doing a 3-way message.
Tree structure is overrated. The way git handles it works better in practice. Files are an implementation detail, rather than something fundamental about code structure.
Using it as a first pass at content merging was mostly a performance optimization, and also only works if you track individual files as objects.
It might be a useful building block for a system that tracks refactorings as fundamental operations and knows how to do merges on your AST instead of on the serialized text form of your choice. But as far as I know no such system exists yet, and merging complex data structures is far more complex than simply merging their individual building blocks.