--- tkdiff 2008-05-04 00:01:34.000000000 +0100 +++ tkdiff 2008-05-04 01:04:24.000000000 +0100 @@ -6094,38 +6112,45 @@ debug-info "do-usage ($mode)" set usage { - $g(name) may be started in any of the following ways: +$g(name) may be started in any of the following ways: - Interactive selection of files to compare: - tkdiff +Interactive selection of files to compare: - Plain files: - tkdiff FILE1 FILE2 + tkdiff - Plain file with conflict markers: - tkdiff -conflict FILE - - Source control (AccuRev, BitKeeper, CVS, Subversion, Perforce, PVCS, - RCS, SCCS, ClearCase) - tkdiff FILE - tkdiff -rREV FILE - tkdiff -rREV1 -rREV2 FILE - tkdiff OLD-URL[@OLDREV] NEW-URL[@NEWREV] (Subversion) - - Additional optional parameters: - -a ANCESTORFILE - -o MERGEOUTPUTFILE - -L LEFT_FILE_LABEL [-L RIGHT_FILE_LABEL] - } +Plain files: + + tkdiff FILE1 FILE2 + +Plain file with conflict markers: + + tkdiff -conflict FILE + +Source control (AccuRev, BitKeeper, CVS, Subversion, Perforce, PVCS, \ +RCS, SCCS, ClearCase, Bazaar NG) + + tkdiff FILE + tkdiff -rREV FILE + tkdiff -rREV1 -rREV2 FILE + tkdiff OLD-URL[@OLDREV] NEW-URL[@NEWREV] (Subversion) + +Additional optional parameters: + + -a ANCESTORFILE + -o MERGEOUTPUTFILE + -L LEFT_FILE_LABEL [-L RIGHT_FILE_LABEL] +} set usage [subst -nobackslashes -nocommands $usage] set text { $g(name) detects and supports RCS, CVS, Subversion and SCCS by looking for a \ directory with the same name. It detects and supports PVCS by looking \ - for a vcs.cfg file. It detects and supports AccuRev, Perforce and \ - ClearCase by looking for the environment variables named ACCUREV_BIN, \ - P4CLIENT, and CLEARCASE_ROOT respectively. + for a vcs.cfg file. It detects and supports AccuRev, Perforce and \ + ClearCase by looking for the environment variables named ACCUREV_BIN, \ + P4CLIENT, and CLEARCASE_ROOT respectively. It detects \ + Bazaar NG by looking for a .bzr directory in the current \ + directory or one further up the tree. In the first form, tkdiff will present a dialog to allow you to choose the \ files to diff interactively. At present this dialog only supports a \ @@ -6139,9 +6164,9 @@ In the remaining forms, REV (or REV1 and \ REV2) must be a valid revision number for FILE. \ - Where AccuRev, RCS, CVS, Subversion, SCCS, PVCS or Perforce is implied \ - but no revision number is specified, FILE is compared with \ - the the revision most recently checked in. + Where AccuRev, RCS, CVS, Subversion, SCCS, PVCS, Perforce, or Bazaar NG \ + is implied but no revision number is specified, FILE is \ + compared with the the revision most recently checked in. To merge a file with conflict markers generated by "merge", \ "cvs", or "vmrg", use \ @@ -6152,15 +6177,16 @@ Subversion version, followed by the SCCS version -- i.e. if a CVS \ directory is present, CVS; if not and a Subversion directory is \ present, Subversion; if not and an SCCS directory is present, SCCS is \ - assumed; otherwise, if a CVS.CFG file is found, PVCS is assumed; \ + assumed; otherwise, if a CVS.CFG file is found, PVCS is assumed; \ otherwise RCS is assumed. If none of the above apply and the AccuRev \ - environment variable ACCUREV_BIN is found, AccuRev is used. If P4CLIENT \ - is found, Perforce is used. If CLEARCASE_ROOT is found, ClearCase is used. + environment variable ACCUREV_BIN is found, AccuRev is used. If P4CLIENT \ + is found, Perforce is used. If CLEARCASE_ROOT is found, ClearCase is used. \ + Finally, if a .bzr directory is used, Bazaar NG is used. If the merge output filename is not specified, tkdiff will present a dialog \ to allow you to choose the name of the merge output file. -Note further that anything with a leading dash that isn\'t recognized as a \ +Note further that anything with a leading dash that isn't recognized as a \ $g(name) option is passed through to diff. This permits you to \ temporarily alter the way diff is called, without resorting to a change \ in your preferences file. @@ -6209,6 +6235,7 @@ can be set by merely clicking on any line in the display. This window \ may be hidden if the View menu item\ Show Line Comparison is deselected. + All difference regions (DRs) are highlighted to set them apart from the \ surrounding text. The current difference region, or \ CDR, is further set apart so that it can be\ @@ -6232,7 +6259,7 @@ Operations -1. From the File menu: +

From the File menu

The New... button displays a dialog where you may choose two files \ to compare. Selecting "Ok" from the dialog will diff the two files. The \ @@ -6243,7 +6270,7 @@ visible in the windows. Lastly, the Exit button terminates \ $g(name). -2. From the Edit menu: +

From the Edit menu

Copy copies the currently selected text to the system clipboard. \ Find pops up a dialog to let you search either text window \ @@ -6253,7 +6280,7 @@ which display (and other) options can be changed and saved. -3. From the View menu: +

From the View menu

Show Line Numbers toggles the display of line numbers in the text \ widgets. If Synchronize Scrollbars is on, the left and right \ @@ -6266,21 +6293,21 @@ the display of the "line comparison" window at\ the bottom of the display. -4. From the Mark menu: +

From the Mark menu

The Mark Current Diff creates a new toolbar button that will jump \ to the current diff region. The Clear Current Diff Mark will \ remove the toolbar mark button associated with\ the current diff region, if one exists. -5. From the Merge menu: +

From the Merge menu

The Show Merge Window button pops up a window with the current \ merged version of the two files. The Write Merge File button \ will allow you to save the contents of that window\ to a file. -6. From the Help menu: +

From the Help menu

The About $g(name) button displays copyright and author \ information. The On GUI button generates this window. The \ @@ -6288,7 +6315,7 @@ $g(name) command line options. The On Preferences button \ displays help on the user-settable preferences. -7. From the toolbar: +

From the toolbar

The first tool is a dropdown list of all of the differences in a standard \ diff-type format. You may use this list to go directly to any diff \ @@ -6303,15 +6330,15 @@ Keyboard Navigation When a text widget has the focus, you may use the following shortcut keys: - - f First diff - c Center current diff - l Last diff - n Next diff - p Previous diff - 1 Merge Choice 1 - 2 Merge Choice 2 - + + f First diff + c Center current diff + l Last diff + n Next diff + p Previous diff + 1 Merge Choice 1 + 2 Merge Choice 2 + The cursor, Home, End, PageUp and PageDown keys work as expected, adjusting \ the view in whichever text window has the focus. Note that if \ Synchronize Scrollbars is set in\ @@ -6342,6 +6369,7 @@ overlap regions are marked in yellow. The height of each patch \ corresponds to the relative size of the diff region. A\ thumb lets you interact with the map as if it were a scrollbar. + All diff regions are drawn on the map even if too small to be visible. For \ large files with small diff regions, this may result in patches \ overwriting each other. @@ -6367,9 +6395,11 @@ "Synchronize Scrollbars" is on. Author + John M. Klassa Comments + Questions and comments should be sent to the TkDiff mailing list at \ tkdiff-discuss@lists.sourceforge.net. } @@ -6406,26 +6436,26 @@ General -$pref(diffcmd) +

$pref(diffcmd)

This is the command to run to generate a diff of the two files. Typically \ this will be "diff". When this command is run, the ignore-blanks \ options and the names of two files to be diffed will be added as the \ last to arguments on the command line. -$pref(ignoreblanksopt) +

$pref(ignoreblanksopt)

Arguments to send with the diff command to tell it how to ignore whitespace. \ If you are using gnu diff, "-b" or "--ignore-space-change" ignores \ changes in the amount of whitespace, while "-w" or \ "--ignore-all-space" ignores all white space. -$pref(tmpdir) +

$pref(tmpdir)

The name of a directory for files that are temporarily created while $g(name) \ is running. -$pref(editor) +

$pref(editor)

The name of an external editor program to use when editing a file (ie: when \ you select "Edit" from the popup menu). If this value is blank, a \ @@ -6434,68 +6464,71 @@ want to set this to "xterm -e vi" or perhaps "gnuclient". When run, the \ name of the file to edit will be appened as the\ last argument on the command line. + If the supplied string contains the string "\$file", it\'s treated as a whole \ command line, where the following parameters can be used: + \$file: the file of your choice \$line: the starting line of the current diff + For example, in the case of NEdit or Emacs you can use "nc -line \$line \ \$file" and "emacs +\$line \$file" respectively. -$pref(geometry) +

$pref(geometry)

This defines the default size, in characters of the two text windows. The \ format should be WIDTHxHEIGHT. For example, "80x40". -$pref(fancyButtons) +

$pref(fancyButtons)

If set, toolbar buttons will mimic the visual behavior of typical Microsoft \ Windows applications. Buttons will initially be flat until the cursor \ - moves over them, at which time they will be raised. -If unset, toolbar buttons will always appear raised. + moves over them, at which time they will be raised. \ +If unset, toolbar buttons will always appear raised.\ This feature is not supported in MacOSX. -$pref(toolbarIcons) +

$pref(toolbarIcons)

-If set, the toolbar buttons will use icons instead of text labels. +If set, the toolbar buttons will use icons instead of text labels.\ If unset, the toolbar buttons will use text labels instead of icons. -$pref(autocenter) +

$pref(autocenter)

If set, whenever a new diff record becomes the current diff record (for \ example, when pressing the next or previous buttons), the diff record \ - will be automatically centered on the screen. + will be automatically centered on the screen.\ If unset, no automatic scrolling will occur. -$pref(syncscroll) +

$pref(syncscroll)

-If set, scrolling either text window will result in both windows scrolling. +If set, scrolling either text window will result in both windows scrolling.\ If not set, the windows will scroll independent of each other. -$pref(autoselect) +

$pref(autoselect)

-If set, automatically select the nearest visible diff region when scrolling. -If not set, the current diff region will not change during scrolling. +If set, automatically select the nearest visible diff region when scrolling.\ +If not set, the current diff region will not change during scrolling.\ This only takes effect if $pref(syncscroll) is set. Display -$pref(showln) +

$pref(showln)

-If set, line numbers will be displayed alongside each line of each file. +If set, line numbers will be displayed alongside each line of each file.\ If not set, no line numbers will appear. -$pref(tagln) +

$pref(tagln)

If set, line numbers are highlighted with the options defined in the \ - Appearance section of the preferences. + Appearance section of the preferences.\ If not set, line numbers won\'t be highlighted. -$pref(showcbs) +

$pref(showcbs)

-If set, change bars will be displayed alongside each line of each file. +If set, change bars will be displayed alongside each line of each file. \ If not set, no change bars will appear. -$pref(tagcbs) +

$pref(tagcbs)

If set, change indicators will be highlighted. If $pref(colorcbs) \ is set they will appear as solid colored bars that match the colors \ @@ -6503,23 +6536,23 @@ is not set, the change indicators will be highlighted according to the \ options defined in the Appearance section of preferences. -$pref(showmap) +

$pref(showmap)

If set, colorized, graphical "diff map" will be displayed between the two \ files, showing regions that have changed. Red is used to show deleted \ lines, green for added lines, blue for changed\ - lines, and yellow for overlapping lines during a 3-way merge. + lines, and yellow for overlapping lines during a 3-way merge.\ If not set, the diff map will not be shown. -$pref(showlineview) +

$pref(showlineview)

If set, show a window at the bottom of the display that shows the current \ line from each file, one on top of the other. This window is most \ useful to do a byte-by-byte comparison of a line that has\ - changed. + changed.\ If not set, the window will not be shown. -$pref(showinline1) +

$pref(showinline1)

If set, show inline diffs in the main window. This is useful to see what the \ actual diffs are within a large diff region. \ @@ -6527,7 +6560,7 @@ simpler approach, where byte-by-byte comparisons \ are used. -$pref(showinline2) +

$pref(showinline2)

If set, show inline diffs in the main window. This is useful to see what the \ actual diffs are within a large diff region. \ @@ -6538,35 +6571,35 @@ finds the largest common substring, and recursively repeats on the left and \ right remainders. -$pref(tagtext) +

$pref(tagtext)

If set, the file contents will be highlighted with the options defined in the \ - Appearance section of the preferences. -If not set, the file contents won\'t be highlighted. + Appearance section of the preferences.\ +If not set, the file contents won't be highlighted. -$pref(colorcbs) +

$pref(colorcbs)

If set, the change bars will display as solid bars of color that match the \ - colors used by the diff map. + colors used by the diff map.\ If not set, the change bars will display a "+" for lines that exist in only \ one file, a "-" for lines that are missing from only one file, and \ "!" for lines that are different between the two files. Appearance -$pref(textopt) +

$pref(textopt)

This is a list of Tk text widget options that are applied to each of the two \ text windows in the main display. If you have Tk installed on your \ machine these will be documented in the "Text.n" man\ page. -$pref(difftag) +

$pref(difftag)

This is a list of Tk text widget tag options that are applied to all diff \ regions. Use this option to make diff regions stand out from regular text. -$pref(deltag) +

$pref(deltag)

This is a list of Tk text widget tag options that are applied to the current \ diff region. These options have a higher priority than those for all \ @@ -6575,39 +6608,39 @@ the current diff region to be blue, the current diff region foreground \ color will be used. -$pref(instag) +

$pref(instag)

This is a list of Tk text widget tag options that are applied to regions that \ have been inserted. These options have a higher priority than those for \ all diff regions. -$pref(chgtag) +

$pref(chgtag)

This is a list of Tk text widget tag options that are applied to regions that \ have been changed. These options have a higher priority than those for \ all diff regions. -$pref(currtag) +

$pref(currtag)

This is a list of Tk text widget tag options that are applied to the current \ diff region. These tags have a higher priority than those for all diff \ regions, and a higher priority than the change,\ inserted and deleted diff regions. -$pref(inlinetag) +

$pref(inlinetag)

This is a list of Tk text widget tag options that are applied to differences \ within lines in a diff region. These tags have a higher priority than \ those for all diff regions, and a higher priority than the change,\ inserted and deleted diff regions. -$pref(bytetag) +

$pref(bytetag)

This is a list of Tk text widget tag options that are applied to individual \ characters in the line view. These options do not affect the main text \ displays. -$pref(tabstops) +

$pref(tabstops)

This defines the number of characters for each tabstop in the main display \ windows. The default is 8. @@ -6662,12 +6695,11 @@ $tw tag configure bld -font -*-Times-Bold-R-Normal-*-14-* $tw tag configure cmp -font -*-Courier-Medium-R-Normal-*-12-* - $tw tag configure hdr -font -*-Helvetica-Bold-R-Normal-*-16-* -underline 1 + $tw tag configure hdr -font -*-Helvetica-Bold-R-Normal-*-16-* $tw tag configure itl -font -*-Times-Medium-I-Normal-*-14-* $tw tag configure ttl -font -*-Helvetica-Bold-R-Normal-*-18-* - #$tw tag configure h3 -font -*-Helvetica-Bold-R-Normal-*-14-* - #$tw tag configure itl -font -*-Times-Medium-I-Normal-*-14-* - #$tw tag configure rev -foreground white -background black + $tw tag configure h3 -font -*-Helvetica-Bold-R-Normal-*-14-* + $tw tag configure rev -foreground white -background black $tw mark set insert 0.0