#
851a9da3 |
|
12-Feb-2024 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
patch: Support long context lines. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D43850
|
#
7e8afbb6 |
|
02-Dec-2023 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch: fix locate_hunk in empty files if `first_guess' is zero then main() assumes that locate_hunk has failed and aborts the patch operation. Instead, make sure to return 1 (the line number) so that the patch operation can continue. Issue originally found by Neels Hofmeyr in the regress suite of the diff implementation for got, where the tests assume that applying a diff with `patch' and then again with `patch -R' yields back the original file. Obtained from: OpenBSD (CVS patch.c,v 1.71)
|
#
42b38843 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .h pattern Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
7e688ed4 |
|
24-Jan-2023 |
Kyle Evans <kevans@FreeBSD.org> |
patch: omit filename if the prompt was ignored When a file is missing, patch(1) will prompt for a filename to try and patch it. If we're doing a dry-run, we'll output that the patch to the source file was either ignored/failed. If you ignore the prompt in a dry-run (i.e. just hit enter), we'll output: X out of X hunks ignored while patching (null) Let's improve the aesthetics a bit and just omit the last part if the prompt was ignored: X out of X hunks ignored Unfortunately we can't really test this without expect(1) because both force and batch mode will use the first best guess, which is wiped out by the "File to patch:" prompt. We could record the initially derived bestguess there and use *that*, but given that this is only possible in an interactive session I think it's fine to just omit the filename rather than adding a fair amount of complexity (which could also break other scenarios I haven't considered yet).. Reviewed by: des Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38179
|
#
50dacbf6 |
|
03-Nov-2019 |
Kyle Evans <kevans@FreeBSD.org> |
patch(1): give /dev/null patches special treatment We have a bad habit of duplicating contents of files that are sourced from /dev/null and applied more than once... take the more sane (in most ways) GNU route and complain if the file exists and offer reversal options. This still falls short a little bit as selecting "don't reverse, apply anyway" will still give you duplicated file contents. There's probably other issues as well, but awareness is the first step to happiness. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21535
|
#
ef30b5a8 |
|
28-Feb-2019 |
Kyle Evans <kevans@FreeBSD.org> |
patch(1): Exit successfully if we're fed a 0-length patch This change is made in the name of GNU patch compatibility. If GNU patch is fed a zero-length patch, it will exit successfully with no output. This is used in at least one port to date (comms/wsjtx), and we break on this usage. It seems unlikely that anyone relies on patch(1) calling their completely empty patch garbage and failing, and GNU compatibility is a plus if it helps with porting, so make the switch. Reported by: db MFC after: 2 weeks
|
#
c844f14e |
|
21-Dec-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch: rejname[] is also -r option buffer, and should be PATH_MAX. Obtained from: OpenBSD (CVS 1.64)
|
#
bc4f0fe3 |
|
21-Nov-2017 |
Kyle Evans <kevans@FreeBSD.org> |
patch(1): don't assume a match if we run out of context to check Patches with very little context (-U0 and -U1) could get misapplied if the file to be patched changes and a hunk is no longer applicable. Matching with fuzz would be attempted and default to a match when we unexpectedly ran out of context. This also affected patches with higher levels of context but had limited actual context due to the hunk being located near the beginning/end of file. PR: 74127, 223545 (exp-run) Reviewed by: emaste, pfg Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D12631
|
#
752e881d |
|
08-Nov-2017 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r325365 r325365 caused several ports to fail to patch correctly. Revert it for the time being until an exp-run can be completed. Requested by: antoine Approved by: emaste (implicit)
|
#
ed3b3059 |
|
03-Nov-2017 |
Kyle Evans <kevans@FreeBSD.org> |
patch(1): don't assume a match if we run out of context to check Patches with very little context (-U0 and -U1) could get misapplied if the file to be patched changes and a hunk is no longer applicable. Matching with fuzz would be attempted and default to a match when we unexpectedly ran out of context. PR: 74127 Reviewed by: emaste, pfg Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D12631
|
#
fa812237 |
|
02-Jan-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch(1): replace strnlen() with a simpler strlen(). Small style fix with here. Pointed out by: kib
|
#
4f548c19 |
|
02-Jan-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Revert r311106: patch(1): extend the maximum length of a line from USHRT_MAX to UINT_MAX. This doesn't really work for 32 bit platforms. Pointed out by: kib
|
#
ad8469fe |
|
02-Jan-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch(1): extend the maximum length of a line from USHRT_MAX to UINT_MAX. We can handle such "big data" without much trouble. Try to do a better job at detecting the rejection cause while here. MFC after: 2 weeks
|
#
3548708c |
|
23-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Adjust a type from r267490. Independent of the maximum length, the return type for strnlen(3) is always size_t.
|
#
300ca9a8 |
|
21-Jul-2015 |
Conrad Meyer <cem@FreeBSD.org> |
patch(1): Add -Vnone option to disable backup files Differential Revision: https://reviews.freebsd.org/D3146 Reviewed by: pfg Approved by: markj (mentor) MFC after: 1 week Relnotes: yes Sponsored by: EMC / Isilon Storage Division
|
#
f718bedc |
|
31-Dec-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Fixes to exit status. Exit with EXIT_FAILURE for invalid arguments. Fixes NetBSD-PR 43517. Print version string to stdout instead of stderr; it is user-requested and not an error. Obtained from: NetBSD MFC after: 5 days
|
#
547e0acb |
|
25-Dec-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch: Bring in xstrdup and use it when appropriate. The function savestr allows NULL return values during Plan A patching so in case of out of memory conditions, Plan B can step in. In many cases, NULL value is not properly handled, so use xstrdup here (it's outside Plan A/B patching, which means that even Plan B relies on successful operations). Clean up some whitespaces while here Obtained from: OpenBSD MFC after: 2 weeks
|
#
ab761cdb |
|
07-Dec-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Prefer setvbuf() to setlinebuf(). On FreeBSD's libc setlinebuf is a wrapper to setvbuf anyways. Obtained from: OpenBSD MFC after: 5 days
|
#
5e64d66c |
|
15-Jun-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch: add dry-run alias for compatibility with other implementations. Other implementations of patch(1), including GNU patch and "svn patch" have a --dry-run option which does the same as our -C or --check option. Add a new alias to make our implementation more compatible. MFC after: 1 week
|
#
c1a08643 |
|
14-Jun-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch: unsign the line length to avoid overflows. Patch(1) uses a short int for the line length, which is usually sufficient for regular diffs, but makes no effort to signal when there is an overflow. Change the line length to an unsigned short int to better use the fact that a length is never negative. The change is loosely inspired on a related change in DragonFly, but we avoid spending more memory than necessary. While here adjust the messages to be clearer on what is happening. MFC after: 1 week
|
#
e11cd3bc |
|
26-Sep-2013 |
Xin LI <delphij@FreeBSD.org> |
Improve bsdpatch usability: - Ask only once for "Apply anyway". [1] - Tell user what file have failed patch rather than just how many hunks failed. Reported by: jmg via pfg [1] Tested by: pfg [1] Approved by: re (gjb)
|
#
b9740ba1 |
|
24-Jul-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
patch: style fix Submitted by: gogolok
|
#
ffca5883 |
|
25-May-2013 |
Glen Barber <gjb@FreeBSD.org> |
Revert r250972 to fix build.
|
#
2360cb0e |
|
24-May-2013 |
Stefan Eßer <se@FreeBSD.org> |
The error handling for writes to the target file could lead to the final fclose() being skipped. Fix this by using boolean "&" and "|" instead of short-cut operators "&&" and "||". While here, increment the last part of the version string. The reason is the fixed output file selection logic in pch.c, which was committed as r250943, yesterday. Reviewed by: pfg
|
#
e56ef7d3 |
|
29-Jan-2013 |
Xin LI <delphij@FreeBSD.org> |
- Refresh code with latest OpenBSD revisions. - Remove $DragonFly$ tags as they are using git nowadays and VCS tags will not help merging. - Other changes to Copyright headers to make them consistent with other source code, we intend to fork from this point. Reviewed by: pfg
|
#
2dd076b8 |
|
29-Jan-2013 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Add a BSD-licensed patch, ported by Pedro F. Giffuni (pfg) from DragonflyBSD and install it as bsdpatch. WITH_BSD_PATCH makes it default and installs GNU patch as gnupatch. Submitted by: pfg Obtained from: The DragonflyBSD Project
|
#
a9c7144e |
|
01-Aug-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Import of a BSD-licensed version of `patch', which will eventually replace the version we currently have in src/gnu/usr.bin/patch/. Among other things, this version includes a --posix option for strict POSIX conformance. This version is the current source from OpenBSD as of today. It is their 3.5-release, plus a few updates to patch.c and pch.c that they made about three weeks ago.
|
#
65b3003d |
|
13-Jul-1997 |
Peter Wemm <peter@FreeBSD.org> |
kill the undead
|
#
c44252b6 |
|
06-Jul-1997 |
Bruce Evans <bde@FreeBSD.org> |
Finish importing Lite2's src/usr.bin, except for ex, diff, grep, mail, pascal and vmstat.sparc. All changed files on the vendor branch should already have been imported.
|
#
6065a0be |
|
30-Dec-1995 |
Peter Wemm <peter@FreeBSD.org> |
This commit was generated by cvs2svn to compensate for changes in r13122, which included commits to RCS files with non-trunk default branches.
|
#
9b50d902 |
|
26-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite Usr.bin Sources
|