svn commit: r327064 - head/usr.bin/patch

Pedro F. Giffuni pfg at FreeBSD.org
Thu Dec 21 16:25:34 UTC 2017


Author: pfg
Date: Thu Dec 21 16:25:33 2017
New Revision: 327064
URL: https://svnweb.freebsd.org/changeset/base/327064

Log:
  patch: further cleanup to git-style diffs.
  
  Fix adding and removing files with git-style a/ b/ diffs: only skip
  six letters if they actually match "--- a/" and "+++ b/" instead of
  laxer checks.
  
  Obtained from:	OpenBSD (CVS 1.59)

Modified:
  head/usr.bin/patch/pch.c

Modified: head/usr.bin/patch/pch.c
==============================================================================
--- head/usr.bin/patch/pch.c	Thu Dec 21 16:19:10 2017	(r327063)
+++ head/usr.bin/patch/pch.c	Thu Dec 21 16:25:33 2017	(r327064)
@@ -311,14 +311,16 @@ intuit_diff_type(void)
 			    &names[OLD_FILE].exists, strippath);
 		else if (strnEQ(s, "--- ", 4)) {
 			size_t off = 4;
-			if (piece_of_git && strippath == 957)
+			if (piece_of_git && strippath == 957 &&
+			    strnEQ(s, "--- a/", 6))
 				off = 6;
 			names[NEW_FILE].path = fetchname(s + off,
 			    &names[NEW_FILE].exists, strippath);
 		} else if (strnEQ(s, "+++ ", 4)) {
 			/* pretend it is the old name */
 			size_t off = 4;
-			if (piece_of_git && strippath == 957)
+			if (piece_of_git && strippath == 957 &&
+			    strnEQ(s, "+++ b/", 6))
 				off = 6;
 			names[OLD_FILE].path = fetchname(s + off,
 			    &names[OLD_FILE].exists, strippath);


More information about the svn-src-all mailing list