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)
This commit is contained in:
Pedro F. Giffuni 2017-12-21 16:25:33 +00:00
parent c844f14e37
commit 76df519fe0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=327064

View File

@ -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);