|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0 |
|
| #
3728c4d3 |
| 25-Jan-2021 |
Jamie Landeg-Jones <[email protected]> |
diff: fix incorrectly displaying files as duplicates
When diff hits certain access errors, function diffreg() shows the error message, and then returns to the calling function, which calls print_sta
diff: fix incorrectly displaying files as duplicates
When diff hits certain access errors, function diffreg() shows the error message, and then returns to the calling function, which calls print_status() with the return value.
However, in these cases, the return value isn't changed from the initial default value of D_SAME.
Normally, print_status() with a value of D_SAME does nothing, so this works out ok, however, if the "-s" flag is set, a message is displayed showing identicality:
case D_SAME: if (sflag) printf("Files %s%s and %s%s are identical\n", path1, entry, path2, entry); break;
This then produces such results as:
% diff -s /COPYRIGHT /var/run/rpcbind.sock diff: /var/run/rpcbind.sock: Operation not supported Files /COPYRIGHT and /var/run/rpcbind.sock are identical
% diff -s /COPYRIGHT /etc/master.passwd diff: /etc/master.passwd: Permission denied Files /COPYRIGHT and /etc/master.passwd are identical
Create a D_ERROR status which is returned in such cases, and print_status() then deals with that status seperately from D_SAME
PR: 252614 MFC after: 1 week
(cherry picked from commit fefb3c46a80fdde6f307e73a2b5b5aed806df1ce)
show more ...
|
| #
b0d30b27 |
| 27-Oct-2020 |
Kyle Evans <[email protected]> |
diff: don't force the format to 'context' with -p immediately
Instead, leave the fomat as unspecified (if it hasn't been) and use the -p flag as a hint to 'context' if no other formatting option is
diff: don't force the format to 'context' with -p immediately
Instead, leave the fomat as unspecified (if it hasn't been) and use the -p flag as a hint to 'context' if no other formatting option is specified.
This fixes `diff -purw`, used frequently by emaste, and matches the behavior of its GNU counterpart.
PR: 250015 Reviewed by: emaste MFC after: 1 week
show more ...
|
|
Revision tags: release/12.2.0, release/11.4.0 |
|
| #
2816b999 |
| 01-Jun-2020 |
Baptiste Daroussin <[email protected]> |
diff: restore compatibility with GNU diff regarding -N option
When -N is used the missing files are treated as empty.
PR: 233402 Submitted by: Fehmi Noyan Isi <[email protected]> Reported by: Ro
diff: restore compatibility with GNU diff regarding -N option
When -N is used the missing files are treated as empty.
PR: 233402 Submitted by: Fehmi Noyan Isi <[email protected]> Reported by: Roman Neuhauser <[email protected]> MFC after: 3 days Differential Revision: D25081
show more ...
|
| #
f096ed98 |
| 01-Jun-2020 |
Baptiste Daroussin <[email protected]> |
Restore compatibility with GNU diff regarding --label
Various options to "diff(1)" show filenames, and traditionally make use of the "--label" parameter, if set.
Restore this behaviour in BSD diff.
Restore compatibility with GNU diff regarding --label
Various options to "diff(1)" show filenames, and traditionally make use of the "--label" parameter, if set.
Restore this behaviour in BSD diff.
While here add a regression test
PR: 244533 Submitted by: Jamie Landeg-Jones <[email protected]> MFC after: 3 days
show more ...
|
| #
67c90765 |
| 28-Apr-2020 |
Kyle Evans <[email protected]> |
diff(1): don't reject specifying the same format multiple times
This may happen, for instance, if one happens to have an alias of diff to diff -up and attempts to specify the amount of context on to
diff(1): don't reject specifying the same format multiple times
This may happen, for instance, if one happens to have an alias of diff to diff -up and attempts to specify the amount of context on top of that.
Aliases like this may cause other problems, but if they're really not ever generating non-unified diffs then we should at least not break that use-case.
In addition, we'll now pick up a format mismatch if -p is specified with !contextual && !unified && !unset.
Fix up a small trailing whitespace nit in the tests while we're here, and add tests to make sure that we can double up all the formatting options.
Reported by: jbeich MFC after: 3 days
show more ...
|
| #
db9cccfb |
| 20-Apr-2020 |
Kyle Evans <[email protected]> |
diff(1): reject conflicting formatting options
This matches GNU diff(1) behavior and, more importantly, eliminates any source of confusion if multiple formatting options are specified.
Note that th
diff(1): reject conflicting formatting options
This matches GNU diff(1) behavior and, more importantly, eliminates any source of confusion if multiple formatting options are specified.
Note that the committed diff differs slightly from the submitted: I've modified it so that we initialize diff_format to something that isn't an accepted format option so that we can also reject --normal -c and -c --normal, which would've otherwise been accepted because the default was --normal. After option parsing we default it to D_NORMAL if it's still unset.
PR: 243975 Submitted by: fehmi noyan isi MFC after: 1 week
show more ...
|
| #
43fbd654 |
| 13-Feb-2020 |
Kyle Evans <[email protected]> |
diff: fix segfault with --tabsize and no/malformed argument
--tabsize was previously listed as optional_argument, but didn't account for the optionality of it in the argument handling. This is irrel
diff: fix segfault with --tabsize and no/malformed argument
--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
show more ...
|
| #
64793e74 |
| 07-Feb-2020 |
Baptiste Daroussin <[email protected]> |
diff: implement -y (--side-by-side) along with -W and --suppress-common-lines
PR: 219933 Submitted by: fehmi noyan isi <[email protected]> MFC after: 3 weeks
|
| #
12d9c0dc |
| 14-Jan-2020 |
Baptiste Daroussin <[email protected]> |
When system calls indicate an error they return -1, not some arbitrary value < 0. errno is only updated in this case.
Obtained from: OpenBSD MFC after: 3 days
|
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0 |
|
| #
e68edb8c |
| 19-Aug-2018 |
Kyle Evans <[email protected]> |
diff(1): Implement -B/--ignore-blank-lines
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 G
diff(1): Implement -B/--ignore-blank-lines
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
show more ...
|
|
Revision tags: release/11.2.0, release/10.4.0, release/11.1.0 |
|
| #
ea67c7a0 |
| 02-Jun-2017 |
John Baldwin <[email protected]> |
Add -H as an alias for --speed-large-file to match GNU diff.
This is undocumented to match GNU diff where -H is also undocumented. Some existing software (such as kompare) uses this option by defaul
Add -H as an alias for --speed-large-file to match GNU diff.
This is undocumented to match GNU diff where -H is also undocumented. Some existing software (such as kompare) uses this option by default.
Reviewed by: emaste, rpokala Differential Revision: https://reviews.freebsd.org/D11022
show more ...
|
| #
fddcb7b8 |
| 20-Apr-2017 |
Baptiste Daroussin <[email protected]> |
Implement a basic --changed-group-format
etcupdate(8) requires that option, while GNU diff supports many more variation of that options, their behaviour beside the simple verion implemented here are
Implement a basic --changed-group-format
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
show more ...
|
| #
7752043c |
| 15-Apr-2017 |
Baptiste Daroussin <[email protected]> |
Clean up headers declaration
|
| #
a077708d |
| 08-Apr-2017 |
Baptiste Daroussin <[email protected]> |
add a stub --speed-large-files for compatibility with GNU diff
There is no intention to implement it, but lots of scripts/tools using diff(1) passes GNU diff option
|
| #
5c8e56f6 |
| 22-Mar-2017 |
Baptiste Daroussin <[email protected]> |
Use strndup(3) instead of malloc + memcpy
|
| #
901a475b |
| 12-Mar-2017 |
Baptiste Daroussin <[email protected]> |
Implement a stub --horizon-lines=NUM for compatibility with GNU diff3
some options of GNU diff3 would call diff with --horizon-lines, rcs is depending on that.
Reported by: antoine
|
| #
3bbe3f67 |
| 11-Mar-2017 |
Baptiste Daroussin <[email protected]> |
Import diff from OpenBSD and remove GNU diff
Some of the modifications from the previous summer of code has been integrated Modification for compatibility with GNU diff output has been added
Main d
Import diff from OpenBSD and remove GNU diff
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
show more ...
|