diff options
author | grog <grog@FreeBSD.org> | 2001-05-07 06:47:19 +0000 |
---|---|---|
committer | grog <grog@FreeBSD.org> | 2001-05-07 06:47:19 +0000 |
commit | 689fa63949568f854b4a3e1ceaa33758651c1de7 (patch) | |
tree | 0b521c1410287ce5613cd8a394e34bc0d30e15f2 | |
parent | 737f0540b47c40370dd23fdda5cbbad8b3471d8b (diff) | |
download | FreeBSD-ports-689fa63949568f854b4a3e1ceaa33758651c1de7.zip FreeBSD-ports-689fa63949568f854b4a3e1ceaa33758651c1de7.tar.gz |
New port, dirdiff, a graphical tool for displaying the differences
between directory trees and for merging changes from one tree into
another.
Obtained from: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | sysutils/Makefile | 1 | ||||
-rw-r--r-- | sysutils/dirdiff/Makefile | 17 | ||||
-rw-r--r-- | sysutils/dirdiff/distinfo | 1 | ||||
-rw-r--r-- | sysutils/dirdiff/files/patch-aa | 23 | ||||
-rw-r--r-- | sysutils/dirdiff/pkg-comment | 1 | ||||
-rw-r--r-- | sysutils/dirdiff/pkg-descr | 100 | ||||
-rw-r--r-- | sysutils/dirdiff/pkg-plist | 2 |
7 files changed, 145 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile index 34a5a8b..92229bf 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -34,6 +34,7 @@ SUBDIR += deleted SUBDIR += detach SUBDIR += dim + SUBDIR += dirdiff SUBDIR += diskusage SUBDIR += doconfig SUBDIR += dvdtape diff --git a/sysutils/dirdiff/Makefile b/sysutils/dirdiff/Makefile new file mode 100644 index 0000000..b09c3e2 --- /dev/null +++ b/sysutils/dirdiff/Makefile @@ -0,0 +1,17 @@ +# New ports collection makefile for: dirdiff +# Whom: grog +# Date created: 7 May 2001 +# +# $FreeBSD$ +# + +PORTNAME= dirdiff +PORTVERSION= 1.2 +CATEGORIES= sysutils +MASTER_SITES= ftp://samba.org/pub/paulus/ + +MAINTAINER= grog + +RUN_DEPENDS= wish8.2:${PORTSDIR}/x11-toolkits/tk82 + +.include <bsd.port.mk> diff --git a/sysutils/dirdiff/distinfo b/sysutils/dirdiff/distinfo new file mode 100644 index 0000000..1bfd44c --- /dev/null +++ b/sysutils/dirdiff/distinfo @@ -0,0 +1 @@ +MD5 (dirdiff-1.2.tar.gz) = ec22ec6a85760791228a8b6acfc69b35 diff --git a/sysutils/dirdiff/files/patch-aa b/sysutils/dirdiff/files/patch-aa new file mode 100644 index 0000000..b572902 --- /dev/null +++ b/sysutils/dirdiff/files/patch-aa @@ -0,0 +1,23 @@ +diff -wur dirdiff-1.2/Makefile work/dirdiff-1.2/Makefile +--- Makefile Wed Mar 14 15:10:19 2001 ++++ work/dirdiff-1.2/Makefile Mon May 7 15:39:30 2001 +@@ -6,7 +6,7 @@ + INSTALL=install + + # You may need to change the -I arguments depending on your system +-CFLAGS=-O3 -I/usr/include/tcl8.3/ -I/usr/include/tcl ++CFLAGS=-O2 -I/usr/local/include/tcl -I/usr/local/include/tcl8.2/ + + all: filecmp.so.0.0 + +diff -wur dirdiff-1.2/dirdiff work/dirdiff-1.2/dirdiff +--- dirdiff Wed Mar 14 15:00:41 2001 ++++ work/dirdiff-1.2/dirdiff Mon May 7 15:41:35 2001 +@@ -1,6 +1,6 @@ + #!/bin/sh + # Tcl ignores the next line \ +-exec wish "$0" -- "${1+$@}" ++exec wish8.2 "$0" -- "${1+$@}" + + # Copyright (C) 1999-2001 Paul Mackerras. All rights reserved. + # This program is free software; it may be used, copied, modified diff --git a/sysutils/dirdiff/pkg-comment b/sysutils/dirdiff/pkg-comment new file mode 100644 index 0000000..d785be0 --- /dev/null +++ b/sysutils/dirdiff/pkg-comment @@ -0,0 +1 @@ +A graphical diff tool diff --git a/sysutils/dirdiff/pkg-descr b/sysutils/dirdiff/pkg-descr new file mode 100644 index 0000000..e98aad8 --- /dev/null +++ b/sysutils/dirdiff/pkg-descr @@ -0,0 +1,100 @@ + Dirdiff-1.2. + + Paul Mackerras + Linuxcare, Inc. + <paulus@linuxcare.com.au> + +Dirdiff is a graphical tool for displaying the differences between +directory trees and for merging changes from one tree into another. +Dirdiff can handle up to 5 trees. It displays a main window with a +list of the files which are different between the trees, with colored +squares to indicate the relative ages of the versions. A menu allows +you to display the differences between any two of the versions in +another window. Another menu allows you to copy the file from one +tree to another. + +The differences window basically displays the output of `diff -u' with +colored backgrounds to indicate which version each line comes from. +The differences window also has a series of checkboxes which allow you +to selectively apply changes from one version to another. You apply +the selected changes using the merge menu. Dirdiff will then pop up +another window containing the merged file. You can then edit the +merged version and save it back into file. + + +What's new in dirdiff-1.2. +-------------------------- + +* The help text and Makefile have been updated, thanks to Martin Pool. + + +What was new in dirdiff-1.1. +---------------------------- + +* Dirdiff can now generate a patch containing the differences in a + selected set of files between any two directory trees. See the + File -> Make patch submenu in the main window. + +* Some key bindings have been fixed. + +* The results of a merge are now put into a window where it can be + inspected and edited, rather than immediately replacing the original + file. + +* There is now a find function which can be used in the differences + window, the merge window and the patch window. + +* Various bugs have been fixed. + + +Installation. +------------- + +Dirdiff is a Tcl/TK script, so no compilation is required. Dirdiff +however can make use of a shared library called filecmp.so.0.0 for +comparing files. This is optional, but it has two benefits: (a) +comparing files is faster with filecmp.so.0.0 (without it, dirdiff has +to start an external process running `cmp'), and (b) filecmp.so.0.0 +can optionally ignore RCS strings when it is comparing two files. + +The Makefile in this directory will compile filecmp.so.0.0, and +install it and dirdiff. By default dirdiff is installed in +/usr/local/bin and filecmp.so.0.0 is installed in /usr/local/lib. +Doing `make' will compile filecmp.so.0.0; `make install' will install +dirdiff and filecmp.so.0.0. + +However, on many systems, Tcl/Tk does not look in /usr/local/lib for +shared libraries, and so it will not find filecmp.so.0.0. This is not +fatal; the consequences are that it will be a bit slower and that the +`ignore RCS strings' option is not available. One solution is to +install in /usr/bin or /usr/lib. To do this, you can do `make install +DESTDIR=/usr'. Under Linux, you can alternatively edit your +/etc/ld.so.conf to add /usr/local/lib and re-run ldconfig (after +installing filecmp.so.0.0 in /usr/local/lib). + + +Usage. +------ + +To use dirdiff, you invoke it from the command line with a list of +directories (between 2 and 5). For example, suppose I have 3 copies +of the Linux kernel source code, in directories called linux, bk, and +pmac. I can see the differences between these 3 trees with a command +like: + +$ dirdiff linux bk pmac + +This will display the file list window and start comparing the trees, +displaying files which differ as they are found. To see the +differences between two versions, click on the file name and then +select the versions to compare from the Diff menu. To copy from one +tree to another, click on the file name and select the copy operation +from the Copy menu. + +In the differences window, there are checkboxes to the left of all the +sections which are different. You can use button 1 to select an +individual checkbox, or shift-button 1 or button 3 to select a whole +group. Selecting a line means that you are asking for that change to +be made when you update either of the files using the Merge menu. The +line will be removed if it is already present or added if it is not +present. diff --git a/sysutils/dirdiff/pkg-plist b/sysutils/dirdiff/pkg-plist new file mode 100644 index 0000000..87595ff --- /dev/null +++ b/sysutils/dirdiff/pkg-plist @@ -0,0 +1,2 @@ +bin/dirdiff +lib/filecmp.so.0.0 |