{ hunks:
[ { oldStart: 264,
oldLines: 6,
newStart: 264,
newLines: 13,
lines: [Object] },
{ oldStart: 272,
oldLines: 6,
newStart: 279,
newLines: 9,
lines: [Object] },
{ oldStart: 522,
oldLines: 7,
newStart: 522,
newLines: 7,
lines: [Object] },
{ oldStart: 625,
oldLines: 6,
newStart: 625,
newLines: 9,
lines: [Object] },
{ oldStart: 33,
oldLines: 10,
newStart: 33,
newLines: 12,
lines: [Object] },
{ oldStart: 54,
oldLines: 18,
newStart: 56,
newLines: 21,
lines: [Object] },
{ oldStart: 85,
oldLines: 21,
newStart: 90,
newLines: 21,
lines: [Object] },
{ oldStart: 108,
oldLines: 3,
newStart: 113,
newLines: 74,
lines: [Object] },
{ oldStart: 30,
oldLines: 3,
newStart: 30,
newLines: 7,
lines: [Object] },
{ oldStart: 184,
oldLines: 6,
newStart: 184,
newLines: 7,
lines: [Object] },
{ oldStart: 200,
oldLines: 6,
newStart: 201,
newLines: 7,
lines: [Object] },
{ oldStart: 215,
oldLines: 6,
newStart: 217,
newLines: 7,
lines: [Object] },
{ oldStart: 28,
oldLines: 6,
newStart: 28,
newLines: 8,
lines: [Object] },
{ oldStart: 47,
oldLines: 28,
newStart: 47,
newLines: 13,
lines: [Object] },
{ oldStart: 26736,
oldLines: 6,
newStart: 26736,
newLines: 9,
lines: [Object] },
{ oldStart: 26769,
oldLines: 6,
newStart: 26772,
newLines: 7,
lines: [Object] },
{ oldStart: 26851,
oldLines: 6,
newStart: 26855,
newLines: 9,
lines: [Object] },
{ oldStart: 4719,
oldLines: 6,
newStart: 4719,
newLines: 9,
lines: [Object] },
{ oldStart: 4752,
oldLines: 6,
newStart: 4755,
newLines: 7,
lines: [Object] },
{ oldStart: 4817,
oldLines: 6,
newStart: 4821,
newLines: 9,
lines: [Object] },
{ oldStart: 19,
oldLines: 7,
newStart: 19,
newLines: 8,
lines: [Object] },
{ oldStart: 4,
oldLines: 7,
newStart: 4,
newLines: 7,
lines: [Object] },
{ oldStart: 125,
oldLines: 6,
newStart: 125,
newLines: 7,
lines: [Object] },
{ oldStart: 251,
oldLines: 17,
newStart: 252,
newLines: 13,
lines: [Object] },
{ oldStart: 295,
oldLines: 7,
newStart: 292,
newLines: 7,
lines: [Object] },
{ oldStart: 304,
oldLines: 7,
newStart: 301,
newLines: 7,
lines: [Object] },
{ oldStart: 361,
oldLines: 7,
newStart: 358,
newLines: 6,
lines: [Object] },
{ oldStart: 370,
oldLines: 10,
newStart: 366,
newLines: 8,
lines: [Object] },
{ oldStart: 407,
oldLines: 7,
newStart: 401,
newLines: 7,
lines: [Object] },
{ oldStart: 415,
oldLines: 11,
newStart: 409,
newLines: 10,
lines: [Object] },
{ oldStart: 820,
oldLines: 10,
newStart: 813,
newLines: 6,
lines: [Object] },
{ oldStart: 1132,
oldLines: 8,
newStart: 1121,
newLines: 13,
lines: [Object] },
{ oldStart: 1346,
oldLines: 6,
newStart: 1340,
newLines: 7,
lines: [Object] },
{ oldStart: 21,
oldLines: 3,
newStart: 21,
newLines: 4,
lines: [Object] },
{ oldStart: 30,
oldLines: 3,
newStart: 30,
newLines: 7,
lines: [Object] },
{ oldStart: 25,
oldLines: 16,
newStart: 25,
newLines: 19,
lines: [Object] },
{ oldStart: 101,
oldLines: 5,
newStart: 104,
newLines: 6,
lines: [Object] },
{ oldStart: 64,
oldLines: 6,
newStart: 64,
newLines: 23,
lines: [Object] },
{ oldStart: 40,
oldLines: 7,
newStart: 40,
newLines: 11,
lines: [Object] },
{ oldStart: 18,
oldLines: 3,
newStart: 18,
newLines: 10,
lines: [Object] },
{ oldStart: 2112,
oldLines: 6,
newStart: 2112,
newLines: 10,
lines: [Object] },
{ oldStart: 364,
oldLines: 17,
newStart: 364,
newLines: 21,
lines: [Object] },
{ oldStart: 18,
oldLines: 3,
newStart: 18,
newLines: 4,
lines: [Object] },
{ oldStart: 551,
oldLines: 6,
newStart: 551,
newLines: 9,
lines: [Object] },
{ oldStart: 611,
oldLines: 7,
newStart: 614,
newLines: 8,
lines: [Object] },
{ oldStart: 789,
oldLines: 15,
newStart: 793,
newLines: 18,
lines: [Object] },
{ oldStart: 923,
oldLines: 6,
newStart: 930,
newLines: 7,
lines: [Object] } ] }
As you can see, the file names on the patch are not added anywhere, and in fact the whole patch is considered to be for only one (anonimous) index. I think the problem is related to be using Index: as identifier of each one of the files, while each file is being separated with a diff line:
When using
applyPatches()with https://raw.githubusercontent.com/GregorR/musl-cross/master/patches/gcc-4.7.3-musl.diff I get the next result onloadFilecallback:As you can see, the file names on the patch are not added anywhere, and in fact the whole patch is considered to be for only one (anonimous) index. I think the problem is related to be using Index: as identifier of each one of the files, while each file is being separated with a
diffline:I believe it would be as simple as allowing to use not only
Index:as identifier but alsodifftoo.Also, I think that instead of ignoring the headers when no index is found, it would be good to add them although they are partial, or if it's done this way to consume the patch lines, maybe the var
iwould be increased directly without callingparseFileHeader()with an empty object...