On Mon, 02 Mar 2009 13:43:40 -0500, Ethan Blanton wrote: > [email protected] spake unto us the following wisdom: >> Now the VCS could use a different difference algorithm when processing >> them. Or it could unpack them into something easier to process (like a >> sequence of words instead of lines). Or the word-processor could use a >> better file-format, or be careful to preserve the locations of the >> meaningless line numbers in the file, or insert many of them in >> standard places (such as sentence breaks, or punctuation, or between >> every two words). > > Note that gnu wdiff works reasonably well with several plain-text > formats, notably latex. I use wdiff + latex + VCS quite often, with > reasonably satisfactory results. There is no 'wpatch', so wdiff is > useful mainly for review, but that's OK -- one generally doesn't care > how the VCS actually *stores* the diffs. > > I've not integrated wdiff with monotone's external diff hooks, but I > don't see why it couldn't be done.
I've considered these matters, and it raises a few questions. (1) With monotone as it is now, would there be incompatibilities if I were to use a wdiff merge hook, and I sync with other data bases that do not? (2) The simplest such hook would seem to be a procedure that breaks the input file into s sequence of one-word lines (more or less) then calls monotone's default merge to process those, and then converts the result back. Is a default-merge callback available to the lua? (3) Is there a technical reason why the default merge views files as sequences of lines to be inserted, removes, or kept instead of some other view, such as a sequence of bytes to be inserted, removed, or kept? The latter would seem to be able to reduce the number of merge conflicts we encounter, and increase the number of file formats we play nice with. -- hendrik _______________________________________________ Monotone-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/monotone-devel
