[Toybox] [New toys] - diff, userdel

Rob Landley rob at landley.net
Sat Aug 2 09:39:21 PDT 2014


On 08/01/14 06:08, Ashwini Sharma wrote:
> Hi Rob, List,
> 
> Attached are the new toys unified DIFF and USERDEL.
> 
> Your inputs are welcome.

Query, is this diff using Brahm Cohen's "patience" algorithm?

Backstory: the guy who wrote bittorrent invented his own diff algorithm
that produces more human-readable output than the others, I've been
meaning to use it here for years. He described the current formulation
of the algorithm here:

http://bramcohen.livejournal.com/73318.html?nojs=1

I've mentioned here a few times that I want to use it, although the most
recent hit Google comes up with is:

http://lists.landley.net/pipermail/toybox-landley.net/2012-March/000338.html

The architectural issue that's kept it down the todo list is that
less/vi/diff all need a common "text buffer" piece of infrastructure in
lib/ which hasn't been written yet.

So far only vi needs to insert stuff in the middle, so a tree is
probably overkill. (I can basically do two char * arrays with an
insertion point in the middle, have the second array be _backwards_ so
that moving lines from one to another is always pushing/popping from the
ends of the arrays and never having to recoy the whole thing,  and then
inserting at the end of the whole file is just "second array is length
0". Then each line would be a separate malloc which is what getline is
returning already, and lets individual lines change length if they're
edited. It would churn memory a bit on nommu systems but I'm not sure
that's avoidable...)

Anyway, I'll try to take a look at this this weekend. Thanks.

Rob

 1406997561.0


More information about the Toybox mailing list