to the --merge option to choose the output formats for conflicts.
* patch.man: Document the new optional argument of --merge.
* src/merge.c (merge_hunk): Implement diff3-style conflicts.
* src/common.h (conflict_style): This global variable determines the
output format for conflicts.
* tests/merge: Add test cases for the diff3 output format.
'<' and '>' lines of normal-style diffs will have CRLF endings even
when the patch itself has not been CRLF mangled. Do not assume a
mangled patch in this case.
* tests/crlf-handling: Update test case to cover this case.
2.5.9: when none of the filenames in the old, new, and index headers
exists, patch chose the wrong filename (bug 28367).
(maybe_reverse): Return if the patch looks reversed, not if this
function toggled the reverse flag.
* tests/filename-choice: New test case.
* Makefile.in (TESTS): Add test case.
Patch should default to not try to get files from revision control software
unless actively asked by the user with the "-g" or "--get" command-line
switches, or the PATCH_GET environment variable.
Make the posixly correct behaviour of not using source control, the global
patch default. I.e. default to "-g0".
This is related to debian BTS bug: #200895
Please refer to that discussion for more background
information and discussion.
Hi,
this is from a recent discussion in the cygwin mailing list:
(http://cygwin.com/ml/cygwin/2006-04/msg00699.html)
The patch options -Z and -T do not set filetime if the seconds part
of the timestamp is greater 59.5. This is because maketime() does
not handle denormalized times and returns an error on tm_sec = 60.
The bug could also be reproduced with patch 2.5.9 on Linux.
It might be better to ignore the fractional part of the second at all.
This would make timestamps set by patch identical to those set by tar.
[agruen: Christian's second version of the patch.]