Skip to content

Commit 62d7734

Browse files
committed
Merge pull request #56 from rgeissert/twofilespatch
Two files patch
2 parents 2b9ec73 + beede57 commit 62d7734

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

Diff for: README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,20 @@ or
5353

5454
Returns a list of change objects (See below).
5555

56-
* `JsDiff.createPatch(fileName, oldStr, newStr, oldHeader, newHeader)` - creates a unified diff patch.
56+
* `JsDiff.createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader)` - creates a unified diff patch.
5757

5858
Parameters:
59-
* `fileName` : String to be output in the filename sections of the patch
59+
* `oldFileName` : String to be output in the filename section of the patch for the removals
60+
* `newFileName` : String to be output in the filename section of the patch for the additions
6061
* `oldStr` : Original string value
6162
* `newStr` : New string value
6263
* `oldHeader` : Additional information to include in the old file header
6364
* `newHeader` : Additional information to include in thew new file header
6465

66+
* `JsDiff.createPatch(fileName, oldStr, newStr, oldHeader, newHeader)` - creates a unified diff patch.
67+
68+
Just like JsDiff.createTwoFilesPatch, but with oldFileName being equal to newFileName.
69+
6570
* `JsDiff.applyPatch(oldStr, diffStr)` - applies a unified diff patch.
6671

6772
Return a string containing new version of provided data.

Diff for: diff.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -370,13 +370,15 @@
370370
);
371371
},
372372

373-
createPatch: function(fileName, oldStr, newStr, oldHeader, newHeader) {
373+
createTwoFilesPatch: function(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader) {
374374
var ret = [];
375375

376-
ret.push('Index: ' + fileName);
376+
if (oldFileName == newFileName) {
377+
ret.push('Index: ' + oldFileName);
378+
}
377379
ret.push('===================================================================');
378-
ret.push('--- ' + fileName + (typeof oldHeader === 'undefined' ? '' : '\t' + oldHeader));
379-
ret.push('+++ ' + fileName + (typeof newHeader === 'undefined' ? '' : '\t' + newHeader));
380+
ret.push('--- ' + oldFileName + (typeof oldHeader === 'undefined' ? '' : '\t' + oldHeader));
381+
ret.push('+++ ' + newFileName + (typeof newHeader === 'undefined' ? '' : '\t' + newHeader));
380382

381383
var diff = LineDiff.diff(oldStr, newStr);
382384
if (!diff[diff.length-1].value) {
@@ -455,6 +457,10 @@
455457
return ret.join('\n') + '\n';
456458
},
457459

460+
createPatch: function(fileName, oldStr, newStr, oldHeader, newHeader) {
461+
return JsDiff.createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader);
462+
},
463+
458464
applyPatch: function(oldStr, uniDiff) {
459465
var diffstr = uniDiff.split('\n');
460466
var diff = [];

0 commit comments

Comments
 (0)