mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-15 05:44:58 +00:00
Estimated hours taken: 30 Modified files -------------- samples/diff/Mmakefile: Minor documentation update. samples/diff/README: samples/diff/TODO: Update stuff that's now done, do a couple of minor wording changes. samples/diff/diff.m: Fix case of identical filenames (which implicitly assumed no_diff_implies_no_output). Add new match pass, call the new diff algorithm. samples/diff/diff_out.m: Add --cvs-merge-conflict output style. Slight reorganisation of top-level predicate. Lots of small fixes to use better syntax (e.g. functional style for integer maths operations). samples/diff/difftype.m: Added first_mentioned_positions/3, last_mentioned_positions/3, add_edit/4. samples/diff/file.m: Use io__read_line_as_string. samples/diff/filter.m: Minor syntax/wording changes. samples/diff/options.m: Update all the newly handled options. New files --------- samples/diff/myers.m: New diff algorithm. samples/diff/match.m: New pass to match common lines in the files to be diffed. Removed file ------------ samples/diff/lcss.m: Functionality replaced by myers.m.
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
|
|
Things which should be straightforward:
|
|
|
|
* The `--sdiff-merge-assist' option is accepted but does nothing. What
|
|
precisely does it do anyway?
|
|
|
|
* Optimise the case of the --brief output style, where a full-blown diff
|
|
isn't necessary but we currently do it.
|
|
|
|
* We currently aren't careful about noticing the difference between a
|
|
file which has a return/new line on the last line and one which
|
|
doesn't. In "robust" output styles, this should result in a warning.
|
|
Admittedly this distinction has never made a difference to any
|
|
diffing I've done, but if we're going try to be compliant...
|
|
|
|
* We do produce the minimal diff (at least if --minimal is enabled we
|
|
do), but we don't produce the "prettiest" diff. We should post-
|
|
process our diffs to make them prettier.
|
|
|
|
|
|
Things which need a bit more work:
|
|
|
|
* Implement --speed-large-files (or at least examine whether or not
|
|
it's worth it to do so).
|
|
|
|
* Support diffing of binary files. Mostly this just requires being
|
|
more careful than we currently are.
|
|
|
|
|
|
Things which would be nice but may/will require a lot of work:
|
|
|
|
* Implement a "regexp" module so we can handle more options.
|
|
|
|
* Output file dates on context/unified diffs.
|
|
|
|
* Directory diffs.
|
|
|
|
|