Merging: Food For Thought
General background information on the problem domain of merging that's not really specific to Vesta):
/DesignPhilosophies : node-based vs. edge-based, changeset/patches
/TrickyCases : whey merging is hard: criss-cross merge, merge across rename, ...
/ConfusingCases : examples that cause some implementations to produce the "wrong" result
/OtherSystems : what else is out there, promoising ones to investigate
/SdfAmmendments : jemfinch's ideas
Nathaniel Smith (a developer on monotone) proposed a really interesting idea for applying changes out of their original context. (I understand what he was saying and believe that it should be possible to come up with a general algorithm, but I realize it's a little opaque from just that short bit of text.)
Streamed Lines is an interesting collection of thoughts about how best to use branching and merging.
Another good resource is the wiki at revctrl.org. It's related to the #revctrl IRC channel on irc.freenode.net and the revctrl mailing list. These are gathering places for the developers of multiple free software revision control systems to collaborate. Merging is a common topic.
More information on the merging in a Vesta context:
/HowInVesta : ideas for how to do history-aware merging under Vesta
/NonTextFiles : identifying and handling
/HistoryManagement : need full history in many cases, history that crosses multiple different named hierarchies, should replication follow history, etc.
/RenameTracking : remembering the identity of a file/directory after a ranme operation is necessary both to merge directory structure changes and to merge content changes into the correct file
/MultiplePackages : recurse on imports to merge the state of an entire build into another
/BuildTimeMerging : how version overrides have shaped the way Vesta users think about merging
/PackageSuturing : A potentially important issue