------------------------------------------------------------------------------ TkDiff v1.0 (production) 05/14/96 ------------------------------------------------------------------------------ TkDiff is a graphical front-end for the standard Unix 'diff' utility. Its features include: + Support for Tk 4.x. + RCS *and* CVS support (CVS support as of 1.0b9). + Highlighted difference regions. + Side-by-side viewing of files. + Linked (synchronized) scrolling of the two files. + Random access to difference regions. + On-line help. ------------------------------------------------------------------------------ Changes from 1.0b9 ------------------------------------------------------------------------------ This is the first offical "production" release. I decided to call it that mostly because I haven't had the chance to work on the code for a while, and it isn't likely that any major changes will be forthcoming anytime soon. The code appears to be stable, though (I've only gotten one serious bug report, and it's fixed in this release), so it seems like a good time to call it a production version... The fix in this release is for the bug that manifests itself as follows: > application-specific initialization failed: bad window path name "PosMsgQ.cc" > can't invoke "winfo" command: application has been destroyed > while executing > "winfo visual ." > invoked from within > "string first "color" [winfo visual .]..." > invoked from within > "if {[string first "color" [winfo visual .]] >= 0} { > set bg "#9977cc" > set opts(currtag) "-background blue -foreground white" > set opts(diff ..." > (file "/usr/local/bin/tkdiff" line 70) The bug is caused by the fact that "wish" (as of some release of Tk after the last TkDiff was released) started to interpret "-c" for itself rather than passing it off to TkDiff. The fix was to have TkDiff look for "-C" (upper case) rather than "-c" (lower case). A corresponding has been made to tkCVS (a very nice GUI for CVS -- get the latest version to be sure that you have the fix) so that it will continue to work with TkDiff. Other than that, this release is the same as the last release. I still have a long list of things I'd like to add, and hopefully (someday) I'll have the time to work on them. Until then, thanks for using TkDiff! I've gotten mail from all over the world... It's nice to know that people are using and enjoying this tool! ------------------------------------------------------------------------------ Changes from 1.0b8 ------------------------------------------------------------------------------ I redid/revamped the look of the startup sequence thanks to valuable suggestions (and code!) from Greg McFarlane and Warren Jones. In particular, you should note the messages that show up in the label at the bottom of the window as files are loaded, diffed and marked. Thanks, guys! I added CVS support thanks to prodding (and code!) from D. Elson (Del), the author of tkCVS. As a by-product, I expanded (slightly) the options available via the RCS support that's been in since 1.0b7 (in particular, you can now do "tkdiff -rREV -r FILE" to compare FILE with the last checked-in version. The CVS support amounts to CVS equivalents for all of the RCS flags added in 1.0b7 (in fact, you can swap "-c" for "-r" and you should get useful results). Thanks, Del! I'm still working on the merge capability! :-) ------------------------------------------------------------------------------ Changes from 1.0b7 ------------------------------------------------------------------------------ I moved the part of the code that sizes the window so that, now, the window is properly sized at the outset rather than after the 'diff' processing has been done. Apparently, v1.0b7 is blowing up for a lot of people, much like 1.0b5 did. I'm still open to explanations as to why doing it the way it is in 1.0b7 (and 1.0b5) causes Tk to bomb... I also removed the "Computing Differences..." popup, since it was causing grief for those people who don't use RandomPlacement. It was just there to let you know that something was going on, anyway. This is, then, mostly just a bug-fix release. ------------------------------------------------------------------------------ Changes from 1.0b6 ------------------------------------------------------------------------------ I added Tk 4.0-awareness... At this point, TkDiff should work with both Tk 3.x or 4.0. I replaced a lot of the calls to 'pack' with calls to 'place', in an attempt to make the result of resizing the main window more pleasant. I also added a 'center' button, which centers the top lines of the current difference regions in their respective text widgets (I got tired of having a difference region start at the bottom of the screen). I took out the filename completion code and put in RCS support instead. At this point, you should be able to compare two files via: tkdiff or compare a file with the most recent RCS version via: tkdiff or compare a file with a particular RCS version via: tkdiff -r or compare two different RCS-stored versions of a file via: tkdiff -r -r Lastly, I added a 'config' button which allows you to customize the look & feel of TkDiff without having to edit your ~/.tkdiffrc manually. ------------------------------------------------------------------------------ Changes from 1.0b5 ------------------------------------------------------------------------------ I removed the iconify/deiconify step (for the main window) from the startup code. It seems to have been the cause of one of the nastier bugs people were seeing. If somebody can explain it to me, I'm all ears... Is this a known Tcl/Tk bug, perchance? I added the patch that Joe Moss sent (thanks, Joe!) to fix one of the other problems people were having... Lastly, I replaced the man page with one whipped up by Warren Jones (thanks, Warren!). As you can see, this is (for the most part) just a bug-fix release... ------------------------------------------------------------------------------ Changes from 1.0b4 ------------------------------------------------------------------------------ I fixed the 'chdir' problem that people were having... If you still see this problem, let me know (I can't imagine why it'd still happen, though). I added a "Computing differences..." popup (which goes away on its own) to let you know that TkDiff is doing something, but isn't yet ready to show you the differences between your two files. ------------------------------------------------------------------------------ Tar-file Contents ------------------------------------------------------------------------------ This tar file should have contained three things: 1. This README. 2. The TkDiff wish script. 3. A very brief man page (which contains just enough information to get you started, and to let you know about the on-line help). ------------------------------------------------------------------------------ Configuration ------------------------------------------------------------------------------ To configure the TkDiff script for your site, you'll need to edit the top-most line in the file: #!/usr/local/bin/wish -f Change it to whatever will cause your system run the TkDiff source file through "wish -f" at startup. ------------------------------------------------------------------------------ Disclaimer ------------------------------------------------------------------------------ THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JOHN KLASSA OR INTELLIGENT VISUAL COMPUTING OR ALCATEL NETWORK SYSTEMS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ Getting the Latest Version ------------------------------------------------------------------------------ The latest version of TkDiff should always be available from ftp.neosoft.com. My mailbot (through which versions up to and including 1.0b9 were available) is no longer active. ------------------------------------------------------------------------------ Future Directions ------------------------------------------------------------------------------ Numerous people have asked for the ability to merge two files into one... I've given this some thought, but the interface to such a thing isn't clear to me. If you have some insights, please speak up! At this point, adding this is first on my "to do" list. [1.0b9 Update to 1.08b Update: I'm *still* working on merging :-).] [1.0p Update to 1.0b9 Update: Ditto :-).] ------------------------------------------------------------------------------ Reaching the Author ------------------------------------------------------------------------------ I can be reached via klassa@ivc.com. Enjoy! John -- John Klassa // Intelligent Visual Computing // Apex, NC // klassa@ivc.com -------------------------------------------------------------------------------