diff options
author | Denis Laxalde <denis@laxalde.org> | 2019-10-16 22:11:33 +0200 |
---|---|---|
committer | Denis Laxalde <denis@laxalde.org> | 2019-10-16 22:53:29 +0200 |
commit | 11de594f85479e4804b07dc4f7b33cfe9212bea0 (patch) | |
tree | 4212d8619ba52d3c8fc52ef7909a221d8f01d3d5 /src/patch_parse.c | |
parent | 9333fc2af65c13c7e6f8450dc7839f481bb018d8 (diff) | |
download | libgit2-11de594f85479e4804b07dc4f7b33cfe9212bea0.tar.gz |
patch_parse: handle patches without extended headers
Extended header lines (especially the "index <hash>..<hash> <mode>") are
not required by "git apply" so it import patches. So we allow the
from-file/to-file lines (--- a/file\n+++ b/file) to directly follow the
git diff header.
This fixes #5267.
Diffstat (limited to 'src/patch_parse.c')
-rw-r--r-- | src/patch_parse.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/patch_parse.c b/src/patch_parse.c index 51c4bb200..126918249 100644 --- a/src/patch_parse.c +++ b/src/patch_parse.c @@ -389,6 +389,7 @@ static const parse_header_transition transitions[] = { { "index " , STATE_DIFF, STATE_INDEX, parse_header_git_index }, { "index " , STATE_END, STATE_INDEX, parse_header_git_index }, + { "--- " , STATE_DIFF, STATE_PATH, parse_header_git_oldpath }, { "--- " , STATE_INDEX, STATE_PATH, parse_header_git_oldpath }, { "+++ " , STATE_PATH, STATE_END, parse_header_git_newpath }, { "GIT binary patch" , STATE_INDEX, STATE_END, NULL }, |