Show the difference between the current version of each of the FILEsspecified (as they exist on disk) and that same file as it was checked-out. Or if the FILE arguments are omitted, show all unsaved changescurrently in the working check-out. The "gdiff" variant means touse a GUI diff.
The default output format is a "unified patch" (the same as theoutput of "diff -u" on most unix systems). Many alternative formatsare available. A few of the more useful alternatives:
- --tk
- Pop up a Tcl/Tk-based GUI to show the diff
- --by
- Show a side-by-side diff in the default web browser
- -b
- Show a linear diff in the default web browser
- -y
- Show a text side-by-side diff
- --webpage
- Format output as HTML
- --webpage-y
- HTML output in the side-by-side format
The "--from VERSION" option is used to specify the source check-infor the diff operation. If not specified, the source check-in is thebase check-in for the current check-out. Similarly, the "--to VERSION"option specifies the check-in from which the second version of the fileor files is taken. If there is no "--to" option then the (possibly edited)files in the current check-out are used. The "--checkin VERSION" optionshows the changes made by check-in VERSION relative to its primary parent.The "--branch BRANCHNAME" shows all the changes on the branch BRANCHNAME.
With the "--from VERSION" option, if VERSION is actually a directory name(not a tag or check-in hash) then the files under that directory are usedas the baseline for the diff.
The "-i" command-line option forces the use of Fossil's own internaldiff logic rather than any external diff program that might be configuredusing the "setting" command. If no external diff program is configured,then the "-i" option is a no-op. The "-i" option converts "gdiff" into"diff".
The "--diff-binary" option enables or disables the inclusion of binary fileswhen using an external diff program.
The "--binary" option causes files matching the glob PATTERN to be treatedas binary when considering if they should be used with the external diffprogram. This option overrides the "binary-glob" setting.
These command show differences between managed files. Use the "fossil xdiff"command to see differences in unmanaged files.
Options:
- --binaryPATTERN
- Treat files that match the glob PATTERNas binary
- --branchBRANCH
- Show diff of all changes on BRANCH
- --brief
- Show filenames only
- -b|--browser
- Show the diff output in a web-browser
- --by
- Shorthand for "--browser -y"
- -ci|--checkinVERSION
- Show diff of all changes in VERSION
- --commandPROG
- External diff program. Overrides "diff-command"
- -c|--contextN
- Show N lines of context around each change,with negative N meaning show all content
- --dark
- Use dark mode for the Tcl/Tk-based GUI and HTML
- --diff-binaryBOOL
- Include binary files with external commands
- --exec-abs-paths
- Force absolute path names on external commands
- --exec-rel-paths
- Force relative path names on external commands
- -r|--fromVERSION
- Use VERSION as the baseline for the diff, orif VERSION is a directory name, use files inthat directory as the baseline.
- -w|--ignore-all-space
- Ignore white space when comparing lines
- -i|--internal
- Use internal diff logic
- --invert
- Invert the diff
- --json
- Output formatted as JSON
- -n|--linenum
- Show line numbers
- -N|--new-file
- Alias for --verbose
- -s|--numstat
- Show the number of added and deleted lines perfile, omitting the diff. When combined with
- --brief,showonlythetotalrow.
- -y|--side-by-side
- Side-by-side diff
- --strip-trailing-cr
- Strip trailing CR
- --tcl
- Tcl-formatted output used internally by --tk
- --tclshPATH
- Tcl/Tk shell used for --tk (default: "tclsh")
- --tk
- Launch a Tcl/Tk GUI for display
- --toVERSION
- Select VERSION as target for the diff
- --undo
- Use the undo buffer as the baseline
- --unified
- Unified diff
- -v|--verbose
- Output complete text of added or deleted files
- -h|--versions
- Show compared versions in the diff header
- --webpage
- Format output as a stand-alone HTML webpage
- -W|--widthN
- Width of lines in side-by-side diff
- -Z|--ignore-trailing-space
- Ignore changes to end-of-line whitespace