Skip to content

Commit 7842213

Browse files
committed
initial commit
0 parents  commit 7842213

16 files changed

+1621
-0
lines changed

LICENSE

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Copyright (c) 2004, Nathan Froyd. All rights reserved.
2+
3+
Redistribution and use in source and binary forms, with or without
4+
modification, are permitted provided that the following conditions are
5+
met:
6+
7+
* Redistributions of source code must retain the above copyright
8+
notice, this list of conditions and the following disclaimer.
9+
10+
* Redistributions in binary form must reproduce the above copyright
11+
notice, this list of conditions and the following disclaimer in the
12+
documentation and/or other materials provided with the distribution.
13+
14+
* Neither the name of Nathan Froyd nor the names of the contributors to
15+
this software may be used to endorse or promote products derived from
16+
this software without specific prior written permission.
17+
18+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
19+
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20+
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
21+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
22+
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

NEWS

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
-*- mode: outline -*-
2+
3+
* Version 0.4, released 10-05-2005
4+
5+
** bugfixes
6+
7+
Context diff printing is "more correct".
8+
9+
When printing unified diff windows, the header line ("@@ ... @@") is no
10+
longer printed twice.
11+
12+
** changes
13+
14+
DIFF now depends on CL-PPCRE.
15+
16+
** new features
17+
18+
A patch-reading interface has been added. It currently supports unified
19+
and "new-style" context diffs. Applying patches will be added in a
20+
future release. See DIFF::READ-PATCHES-FROM-FILE for a preliminary
21+
interface to reading patches.
22+
23+
* Version 0.3, released 02-01-2005
24+
25+
** new features
26+
27+
Supports generation of "context"-style diffs (diff -c). As with
28+
unified-style diffs, the diffs may not exactly match the diffs generated
29+
by GNU diff, but GNU patch (or similar) should be able to use the diffs.
30+
31+
The internal interface has been reorganized somewhat. There is now a
32+
DIFF class and PRINT-OBJECT is used in preference to specially-written
33+
PRINT-FOO functions.
34+
35+
An interface is actually exported from package DIFF. GENERATE-DIFF
36+
seems to be a reasonable interface for making diffs of all kinds;
37+
suggestions for a better interface are always appreciated (in
38+
particular, there should be an interface for diffing arbitrary streams).
39+
40+
** incompatible changes
41+
42+
DIFF::*UNIFIED-DIFF-CONTEXT-LINES* has been renamed to
43+
DIFF::*DIFF-CONTEXT-LINES*, as it can be used for both unified and
44+
context diffs.
45+
46+
DIFF::PRINT-DIFF has been removed in favor of PRINT-OBJECT functionality.
47+
48+
* Version 0.2, released 27-05-2004
49+
50+
** new features
51+
52+
An ASDF packaging file has been added.
53+
54+
This package creates and uses the DIFF package.
55+
56+
An implementation of the vdelta binary differencing algorithm has been
57+
added.
58+
59+
Unified diff generation now produces Lisp objects to sling around rather
60+
than writing the diff to a stream as it is being generated (change made
61+
as per #lisp suggestions).
62+
63+
** tests
64+
65+
A small set of test files have been included with the distribution.
66+
67+
* Version 0.1, released 24-05-2004
68+
69+
Initial release

README

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
DIFF is a package for computing various forms of differences between
2+
blobs of data and then doing neat things with those differences.
3+
Currently diff knows how to compute three common forms of differences:
4+
5+
* "unified" format diffs, suitable for inspecting changes between
6+
different versions of files;
7+
* "context" format diffs, suitable for inspecting changes between
8+
different versions of files;
9+
* "vdelta" format binary diffs, which might be useful in a version
10+
control system for compact storage of deltas.
11+
12+
An ASDF system is provided; there are no symbols exported from the DIFF
13+
package, as a good interface has not yet been decided upon.
14+
Documentation is fairly sparse.
15+
16+
Nathan Froyd <[email protected]>

TODO

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
* implement patch(1) functionality
2+
* more options for context/unified diff output; in particular, supporting
3+
something similar to GNU diff's -F option would be useful.
4+
* vcdiff encoding of copy/insert deltas
5+
* structural differencing algorithms
6+
* diff3 functionality
7+
* applying svndiffs to files/streams
8+
* identifying a useful interface for CL:EXPORT
9+
* docstrings and such

diff.asd

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
;;;; diff.asd - the ASDF system definition for diff -*- lisp -*-
2+
(defpackage #:diff-system
3+
(:use :cl :asdf))
4+
5+
(in-package #:diff-system)
6+
7+
(defsystem :diff
8+
:version "0.4"
9+
:depends-on (cl-ppcre)
10+
:components ((:file "package")
11+
(:file "diff" :depends-on ("package"))
12+
(:file "patch" :depends-on ("diff"))
13+
(:file "vdelta" :depends-on ("package"))
14+
(:file "svndiff" :depends-on ("package"))
15+
(:static-file "README")
16+
(:static-file "TODO")
17+
(:static-file "NEWS")
18+
(:static-file "LICENSE")))

0 commit comments

Comments
 (0)