* Bram (n=Bram@c-24-5-33-17.hsd1.ca.comcast.net) has joined #revctrl Bram hey everybody Bram I'd like to point out that the revctrl wiki now has a copy of no frills pcdv with documentation and annotation and stuff xorian Bram: Hi. What's the news? Bram http://revctrl.org/PreciseCodevilleMerge Bram njs, do you know how pcdv applies to scalars? It's only slightly different from mark-merge, and has nice convergent properties Bram xorian, basically no frills (which you've tried already) works pretty well, and I haven't had time to implement the remaining features Bram I'm thinking now I may implement them as different branches off of no frills then combine them later, because man are they a pain in the ass xorian Bram: How close is nofrillsprecisemerge.py to merge5.py? Bram xorian, it's basically merge3.py with documentation and rewritten annotation Bram I'm thinking I should write a merge for scalars too, because it's simple and doesn't require any extra features for full-blown merge uau the wiki still has no definition for edge versioning, right? Bram uau, correct Bram I should probably implement that next, since nobody seems to understand my thoughts on it, and the code will be reasonably readable xorian Bram: So you took out the stuff you added in merge5.py (matching against living lines first IIRC)? xorian uau: I made a page for it with an example Bram gave, and he later edited it, but I wouldn't call it a "definition" (and I don't pretend to understand exactly what he means): http://revctrl.org/EdgeVersioning Oejet This is all great, because, as I understand it, Git has a pluggable merge system, so what Bram comes up with any given week could be used in Git very easily. * Bram has quit (Read error: 110 (Connection timed out)) njs Oejet: not necessarily efficiently, though. njs Oejet: the fancy new algorithms tend to be hard to compute entirely from scratch on the fly * lelix has quit (Remote closed the connection) Oejet njs: You mean for efficiency they depend on metadata? xorian Oejet: For example, Bram's new code can be used to rebuild all its data from individual snapshots each time it's used, but that's expensive. Better to save the weave data structure it builds up.