aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/diff/diff.1
Commit message (Collapse)AuthorAgeFilesLines
* diff: minor fixes to manual pagePau Amma2025-06-061-8/+12
| | | | | | | | | * Add missing dash before long option name in synopsis. * Remove spurious paragraph break and bullet item. * While there, fix mandoc -T lint complaints. Reviewed by: ziaee, des Differential Revision: https://reviews.freebsd.org/D48388
* diff: Fix usage message and documentation.Dag-Erling Smørgrav2024-07-291-3/+3
| | | | | | | | | | | The `--ignore-all-space` option was incorrectly documented as `--ignore-all-blanks` in some (but not all) places. MFC after: 3 days PR: 280434 Sponsored by: Klara, Inc. Reviewed by: 0mp, markj Differential Revision: https://reviews.freebsd.org/D46160
* diff: Document the --no-dereference option.Dag-Erling Smørgrav2024-06-301-1/+9
| | | | | | | | | Also, --no-dereference should not imply --recurse. MFC after: 3 days Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D45779
* diff: Integrate libdiff from OpenBSD GoT.Dag-Erling Smørgrav2024-03-271-2/+54
| | | | | | | | | | | | | | | | | | | | | | | This adds support for two new diff algorithms, Myers diff and Patience diff. These algorithms perform a different form of search compared to the classic Stone algorithm and support escapes when worst case scenarios are encountered. Add the -A flag to allow selection of the algorithm, but default to using the new Myers diff implementation. The libdiff implementation currently only supports a subset of input and output options supported by diff. When these options are used, but the algorithm is not selected, automatically fallback to the classic Stone algorithm until support for these modes can be added. Based on work originally done by thj@ with contributions from kevans@. Sponsored by: Klara, Inc. Reviewed by: thj Differential Revision: https://reviews.freebsd.org/D44302
* diff: Improve history section.Dag-Erling Smørgrav2024-03-191-6/+8
| | | | | Reviewed by: gbe Differential Revision: https://reviews.freebsd.org/D44409
* diff(1) add FreeBSD HISTORYDavid E. O'Brien2024-03-151-0/+9
|
* diff: Bump manual page date.Dag-Erling Smørgrav2024-02-261-1/+1
| | | | Sponsored by: Klara, Inc.
* diff: Fix --expand-tabs and --side-by-side.Dag-Erling Smørgrav2024-02-261-0/+9
| | | | | | | | | | | | * Overhaul column width and padding calculation. * Rewrite print_space() so it is now a) correct and b) understandable. * Rewrite tab expansion in fetch() for the same reason. This brings us in line with GNU diff for all cases I could think of. Sponsored by: Klara, Inc. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44014
* diff(1): fix a typoPin-Yi Kuo2023-12-261-1/+1
| | | | | | | | | On the manpage of diff(1), "when" is mistyped to "wen". Event: Advanced UNIX Programming Course (Fall'23) at NTHU. Signed-off-by: Pin-Yi Kuo <kuokuoyiyi@gapp.nthu.edu.tw> Reviewed by: imp, zlei Pull Request: https://github.com/freebsd/freebsd-src/pull/943
* usr.bin: Remove ancient SCCS tags.Warner Losh2023-11-271-2/+0
| | | | | | | | Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
* Remove $FreeBSD$: one-line nroff patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\.\\"\s*\$FreeBSD\$$\n/
* diff: add support for --help and --versionTom Jones2022-03-101-1/+14
| | | | | | | | | | Add support for --help and --version to be compatible with gnu diff. gnu diff --help writes to stdout, do the same to be compatible Reviewed by: bapt, pstef, debrup, Pau Amma Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D34508
* diff: Detect Objective-C methodsTom Jones2022-02-181-2/+2
| | | | | | | | | | When searching back for function definitions, consider lines starting with '+' and '-', this allows us to pick up Objective-C methods as well as C style function definitions. Reviewed by: bapt Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D34202
* diff: implement option -F (--show-function-line)Piotr Pawel Stefaniak2021-09-151-0/+8
| | | | | | | | With unified and context diffs, show the last line that matches the provided pattern before the context. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D31714
* diff(1): Add --color supportCameron Katri2021-09-151-0/+35
| | | | | | | | | | Adds a --color flag to diff(1) that supports the same options as GNU's diff(1). The colors are customizable with the env var DIFFCOLORS in a format similar to grep(1)'s GREPCOLORS. An example would be 04;36:41 for additions to be underlined light blue, and deletions have a red background. Differential Revision: https://reviews.freebsd.org/D30545
* diff(1): Add EXAMPLES sectionFernando Apesteguía2020-06-191-3/+45
| | | | | | | | | | Add examples for -r, -u, -N, -x, -q and -I Approved by: 0mp@ Differential Revision: https://reviews.freebsd.org/D25345 Notes: svn path=/head/; revision=362367
* Document long version of -b optionBaptiste Daroussin2020-06-011-2/+2
| | | | | | | | | | PR: 234195 Submitted by: Fehmi Noyan Isi <fnoyanisi@yahoo.com> Reported by: Andras Farkas <deepbluemistake@gmail.com> MFC after: 3 days Notes: svn path=/head/; revision=361690
* diff: fix segfault with --tabsize and no/malformed argumentKyle Evans2020-02-131-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | --tabsize was previously listed as optional_argument, but didn't account for the optionality of it in the argument handling. This is irrelevant -- the manpage doesn't indicate that the argument is optional, and indeed there's no clear interpretation of omitting the argument because there's no other side effect of --tabsize. The "malformed" argument part of the header on this message is simply referring to usage like this: % diff --tabsize 4 A B With an optional_argument, the argument must be attached to the parameter directly (e.g. --tabsize=4), so the argument is effectively NULL with the above invocation as if no argument had been passed. PR: 243974 Submitted by: fehmi noyan isi <fnoyanisi yahoo com> (diff.c portion) MFC after: 3 days Notes: svn path=/head/; revision=357875
* diff.1: Fix style & document -y as extension to POSIXMateusz Piotrowski2020-02-121-13/+13
| | | | | | | | | | | - Long options must be stylized with the Fl macro as well. Reviewed by: bapt Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D23642 Notes: svn path=/head/; revision=357841
* Fix most of the style warningsBaptiste Daroussin2020-02-071-12/+11
| | | | Notes: svn path=/head/; revision=357652
* diff: implement -y (--side-by-side) along with -W and --suppress-common-linesBaptiste Daroussin2020-02-071-3/+38
| | | | | | | | | PR: 219933 Submitted by: fehmi noyan isi <fnoyanisi@yahoo.com> MFC after: 3 weeks Notes: svn path=/head/; revision=357648
* diff(1): Implement -B/--ignore-blank-linesKyle Evans2018-08-191-6/+8
| | | | | | | | | | | | | | | | As noted by cem in r338035, coccinelle invokes diff(1) with the -B flag. This was not previously implemented here, so one was forced to create a link for GNU diff to /usr/local/bin/diff Implement the -B flag and add some primitive tests for it. It is implemented in the same fashion that -I is implemented; each chunk's lines are scanned, and if a non-blank line is encountered then the chunk will be output. Otherwise, it's skipped. MFC after: 2 weeks Notes: svn path=/head/; revision=338039
* Cross reference pr(1) which diff might call with -l optionBaptiste Daroussin2017-04-201-0/+1
| | | | Notes: svn path=/head/; revision=317207
* Document all long optionsBaptiste Daroussin2017-04-201-25/+37
| | | | Notes: svn path=/head/; revision=317205
* Implement a basic --changed-group-formatBaptiste Daroussin2017-04-201-1/+16
| | | | | | | | | | | | | etcupdate(8) requires that option, while GNU diff supports many more variation of that options, their behaviour beside the simple verion implemented here are quite inconsistent as such I do not plan to implement those. The only special keyword supported by this implementation are: %< and %> %= is not implemented as the documentation of GNU diff says: common lines, but it actually when tested print the changes from the first file Notes: svn path=/head/; revision=317194
* add a stub --speed-large-files for compatibility with GNU diffBaptiste Daroussin2017-04-081-1/+6
| | | | | | | | There is no intention to implement it, but lots of scripts/tools using diff(1) passes GNU diff option Notes: svn path=/head/; revision=316639
* diff(1): document remaining long optionsEnji Cooper2017-03-231-15/+85
| | | | | | | | | | While here, try and tie together some of the short options with their long option equivalents, where possible. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=315779
* diff(1): fix SYNOPSIS section noting non-existent option, --no-ignore-caseEnji Cooper2017-03-221-6/+6
| | | | | | | | | | `--no-ignore-case` should be `--no-ignore-file-name-case` per code for compatibility with [g]diff(1). Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=315726
* diff(1): add --strip-trailing-cr to last example in the SYNOPSISEnji Cooper2017-03-191-1/+2
| | | | | | | | | | | This syncs the last example in the SYNOPSIS with the other examples. Reviewed by: bapt Sponsored by: Dell EMC Isilon Differential Revision: D10017 Notes: svn path=/head/; revision=315590
* diff(1): sort long options under -D example in SYNOPSYSEnji Cooper2017-03-151-2/+2
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=315319
* Fix wrong date in diff(1)Baptiste Daroussin2017-03-121-1/+1
| | | | | | | Reported by: rgrimes Notes: svn path=/head/; revision=315101
* Import diff from OpenBSD and remove GNU diffBaptiste Daroussin2017-03-111-0/+506
Some of the modifications from the previous summer of code has been integrated Modification for compatibility with GNU diff output has been added Main difference with OpenBSD: Implement multiple GNU diff options: * --ignore-file-name-case * --no-ignore-file-name-case * --normal * --tabsize * --strip-trailing-cr Make diff -p compatible with GNU diff Implement diff -l Make diff -r compatible with GNU diff Capsicumize diffing 2 regular files Add a simple test suite Approved by: AsiaBSDcon devsummit Obtained from: OpenBSD, GSoC Relnotes: yes Notes: svn path=/head/; revision=315051