From 2aec4298639bf30fb88a00b356bf404d3551b8c0 Mon Sep 17 00:00:00 2001 From: Kevin Decker Date: Sun, 4 Mar 2018 22:00:42 -0600 Subject: [PATCH] Optimize parch header parser --- src/patch/parse.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/patch/parse.js b/src/patch/parse.js index 310e3a94..dd2df2ff 100755 --- a/src/patch/parse.js +++ b/src/patch/parse.js @@ -53,16 +53,16 @@ export function parsePatch(uniDiff, options = {}) { // Parses the --- and +++ headers, if none are found, no lines // are consumed. function parseFileHeader(index) { - const headerPattern = /^(---|\+\+\+)\s+([\S ]*)(?:\t(.*?)\s*)?$/; - const fileHeader = headerPattern.exec(diffstr[i]); + const fileHeader = (/^(---|\+\+\+)\s+(.*)$/).exec(diffstr[i]); if (fileHeader) { let keyPrefix = fileHeader[1] === '---' ? 'old' : 'new'; - let fileName = fileHeader[2].replace(/\\\\/g, '\\'); + const data = fileHeader[2].split('\t', 2); + let fileName = data[0].replace(/\\\\/g, '\\'); if (/^".*"$/.test(fileName)) { fileName = fileName.substr(1, fileName.length - 2); } index[keyPrefix + 'FileName'] = fileName; - index[keyPrefix + 'Header'] = fileHeader[3]; + index[keyPrefix + 'Header'] = (data[1] || '').trim(); i++; }