@fern-api/replay 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FernignoreMigrator.d.ts +0 -27
- package/dist/FernignoreMigrator.d.ts.map +1 -1
- package/dist/FernignoreMigrator.js +9 -36
- package/dist/FernignoreMigrator.js.map +1 -1
- package/dist/ReplayApplicator.d.ts +1 -33
- package/dist/ReplayApplicator.d.ts.map +1 -1
- package/dist/ReplayApplicator.js +73 -62
- package/dist/ReplayApplicator.js.map +1 -1
- package/dist/ReplayCommitter.d.ts +1 -21
- package/dist/ReplayCommitter.d.ts.map +1 -1
- package/dist/ReplayCommitter.js +1 -21
- package/dist/ReplayCommitter.js.map +1 -1
- package/dist/ReplayDetector.d.ts +0 -5
- package/dist/ReplayDetector.d.ts.map +1 -1
- package/dist/ReplayDetector.js +5 -8
- package/dist/ReplayDetector.js.map +1 -1
- package/dist/ReplayService.d.ts +10 -23
- package/dist/ReplayService.d.ts.map +1 -1
- package/dist/ReplayService.js +84 -67
- package/dist/ReplayService.js.map +1 -1
- package/dist/ThreeWayMerge.d.ts.map +1 -1
- package/dist/ThreeWayMerge.js +4 -4
- package/dist/ThreeWayMerge.js.map +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +23 -48
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/forget.d.ts +0 -10
- package/dist/commands/forget.d.ts.map +1 -1
- package/dist/commands/forget.js +2 -12
- package/dist/commands/forget.js.map +1 -1
- package/dist/commands/reset.d.ts +0 -12
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +3 -15
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/status.d.ts +0 -8
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +2 -10
- package/dist/commands/status.js.map +1 -1
- package/dist/git/CommitDetection.d.ts +0 -4
- package/dist/git/CommitDetection.d.ts.map +1 -1
- package/dist/git/CommitDetection.js +9 -8
- package/dist/git/CommitDetection.js.map +1 -1
- package/dist/git/GitClient.d.ts +0 -11
- package/dist/git/GitClient.d.ts.map +1 -1
- package/dist/git/GitClient.js +7 -16
- package/dist/git/GitClient.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -24,42 +24,15 @@ export declare class FernignoreMigrator {
|
|
|
24
24
|
private lockManager;
|
|
25
25
|
private outputDir;
|
|
26
26
|
constructor(git: GitClient, lockManager: LockfileManager, outputDir: string);
|
|
27
|
-
/**
|
|
28
|
-
* Check if .fernignore exists in the output directory.
|
|
29
|
-
*/
|
|
30
27
|
fernignoreExists(): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Read and parse .fernignore patterns.
|
|
33
|
-
* Filters out comments and empty lines.
|
|
34
|
-
*/
|
|
35
28
|
readFernignorePatterns(): string[];
|
|
36
29
|
/** Analyze .fernignore patterns vs git history. Creates synthetic patches for files differing from pristine generation. */
|
|
37
30
|
analyzeMigration(): Promise<MigrationAnalysis>;
|
|
38
|
-
/**
|
|
39
|
-
* Resolve glob patterns to actual file paths on disk.
|
|
40
|
-
*/
|
|
41
31
|
private resolvePatterns;
|
|
42
|
-
/**
|
|
43
|
-
* Read file content from the output directory.
|
|
44
|
-
*/
|
|
45
32
|
private readFileContent;
|
|
46
|
-
/**
|
|
47
|
-
* Create a unified diff for a new file (not in generation tree).
|
|
48
|
-
*/
|
|
49
33
|
private createNewFileDiff;
|
|
50
|
-
/**
|
|
51
|
-
* Create a unified diff between pristine and current content.
|
|
52
|
-
*/
|
|
53
34
|
private createFileDiff;
|
|
54
|
-
/**
|
|
55
|
-
* Perform the migration - create patches for .fernignore files that have history.
|
|
56
|
-
* Adds detected patches to the lockfile.
|
|
57
|
-
*/
|
|
58
35
|
migrate(): Promise<MigrationResult>;
|
|
59
|
-
/**
|
|
60
|
-
* Move .fernignore patterns to replay.yml exclude list.
|
|
61
|
-
* This lets Replay skip these files during application.
|
|
62
|
-
*/
|
|
63
36
|
movePatternsToReplayYml(patterns: string[]): void;
|
|
64
37
|
}
|
|
65
38
|
//# sourceMappingURL=FernignoreMigrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FernignoreMigrator.d.ts","sourceRoot":"","sources":["../src/FernignoreMigrator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"FernignoreMigrator.d.ts","sourceRoot":"","sources":["../src/FernignoreMigrator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAwB,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,mFAAmF;IACnF,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,oFAAoF;IACpF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iFAAiF;IACjF,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,2FAA2F;IAC3F,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAS;gBAEd,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM;IAM3E,gBAAgB,IAAI,OAAO;IAI3B,sBAAsB,IAAI,MAAM,EAAE;IAYlC,2HAA2H;IACrH,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;YAkGtC,eAAe;IAc7B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,cAAc;IAgBhB,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAgCzC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;CAmBpD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync, statSync } from "node:fs";
|
|
2
|
-
import { join, dirname } from "node:path";
|
|
3
1
|
import { createHash } from "node:crypto";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
4
|
import { minimatch } from "minimatch";
|
|
5
|
-
import {
|
|
5
|
+
import { parse, stringify } from "yaml";
|
|
6
6
|
import { ReplayDetector } from "./ReplayDetector.js";
|
|
7
7
|
export class FernignoreMigrator {
|
|
8
8
|
git;
|
|
@@ -13,16 +13,9 @@ export class FernignoreMigrator {
|
|
|
13
13
|
this.lockManager = lockManager;
|
|
14
14
|
this.outputDir = outputDir;
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Check if .fernignore exists in the output directory.
|
|
18
|
-
*/
|
|
19
16
|
fernignoreExists() {
|
|
20
17
|
return existsSync(join(this.outputDir, ".fernignore"));
|
|
21
18
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Read and parse .fernignore patterns.
|
|
24
|
-
* Filters out comments and empty lines.
|
|
25
|
-
*/
|
|
26
19
|
readFernignorePatterns() {
|
|
27
20
|
const fernignorePath = join(this.outputDir, ".fernignore");
|
|
28
21
|
if (!existsSync(fernignorePath)) {
|
|
@@ -49,7 +42,7 @@ export class FernignoreMigrator {
|
|
|
49
42
|
if (matchingPatch) {
|
|
50
43
|
trackedByBoth.push({
|
|
51
44
|
file: pattern,
|
|
52
|
-
commit: matchingPatch.original_commit
|
|
45
|
+
commit: matchingPatch.original_commit
|
|
53
46
|
});
|
|
54
47
|
}
|
|
55
48
|
else {
|
|
@@ -96,11 +89,11 @@ export class FernignoreMigrator {
|
|
|
96
89
|
original_author: "Fern Replay <replay@buildwithfern.com>",
|
|
97
90
|
base_generation: currentGen.commit_sha,
|
|
98
91
|
files: patchFiles,
|
|
99
|
-
patch_content: patchContent
|
|
92
|
+
patch_content: patchContent
|
|
100
93
|
});
|
|
101
94
|
trackedByBoth.push({
|
|
102
95
|
file: pattern,
|
|
103
|
-
commit: `synthetic (differs from generated)
|
|
96
|
+
commit: `synthetic (differs from generated)`
|
|
104
97
|
});
|
|
105
98
|
}
|
|
106
99
|
else {
|
|
@@ -121,9 +114,6 @@ export class FernignoreMigrator {
|
|
|
121
114
|
}
|
|
122
115
|
return { trackedByBoth, fernignoreOnly, commitsOnly, syntheticPatches };
|
|
123
116
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Resolve glob patterns to actual file paths on disk.
|
|
126
|
-
*/
|
|
127
117
|
async resolvePatterns(patterns) {
|
|
128
118
|
const allFiles = (await this.git.exec(["ls-files"])).trim().split("\n").filter(Boolean);
|
|
129
119
|
const results = [];
|
|
@@ -133,9 +123,6 @@ export class FernignoreMigrator {
|
|
|
133
123
|
}
|
|
134
124
|
return results;
|
|
135
125
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Read file content from the output directory.
|
|
138
|
-
*/
|
|
139
126
|
readFileContent(filePath) {
|
|
140
127
|
const fullPath = join(this.outputDir, filePath);
|
|
141
128
|
if (!existsSync(fullPath)) {
|
|
@@ -152,9 +139,6 @@ export class FernignoreMigrator {
|
|
|
152
139
|
return null;
|
|
153
140
|
}
|
|
154
141
|
}
|
|
155
|
-
/**
|
|
156
|
-
* Create a unified diff for a new file (not in generation tree).
|
|
157
|
-
*/
|
|
158
142
|
createNewFileDiff(filePath, content) {
|
|
159
143
|
const lines = content.split("\n");
|
|
160
144
|
const hunks = lines.map((l) => `+${l}`).join("\n");
|
|
@@ -164,12 +148,9 @@ export class FernignoreMigrator {
|
|
|
164
148
|
`--- /dev/null`,
|
|
165
149
|
`+++ b/${filePath}`,
|
|
166
150
|
`@@ -0,0 +1,${lines.length} @@`,
|
|
167
|
-
hunks
|
|
151
|
+
hunks
|
|
168
152
|
].join("\n");
|
|
169
153
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Create a unified diff between pristine and current content.
|
|
172
|
-
*/
|
|
173
154
|
createFileDiff(filePath, pristine, current) {
|
|
174
155
|
const oldLines = pristine.split("\n");
|
|
175
156
|
const newLines = current.split("\n");
|
|
@@ -182,13 +163,9 @@ export class FernignoreMigrator {
|
|
|
182
163
|
`+++ b/${filePath}`,
|
|
183
164
|
`@@ -1,${oldLines.length} +1,${newLines.length} @@`,
|
|
184
165
|
removals,
|
|
185
|
-
additions
|
|
166
|
+
additions
|
|
186
167
|
].join("\n");
|
|
187
168
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Perform the migration - create patches for .fernignore files that have history.
|
|
190
|
-
* Adds detected patches to the lockfile.
|
|
191
|
-
*/
|
|
192
169
|
async migrate() {
|
|
193
170
|
const analysis = await this.analyzeMigration();
|
|
194
171
|
const detector = new ReplayDetector(this.git, this.lockManager, this.outputDir);
|
|
@@ -210,13 +187,9 @@ export class FernignoreMigrator {
|
|
|
210
187
|
return {
|
|
211
188
|
patchesCreated,
|
|
212
189
|
filesSkipped: analysis.fernignoreOnly,
|
|
213
|
-
warnings
|
|
190
|
+
warnings
|
|
214
191
|
};
|
|
215
192
|
}
|
|
216
|
-
/**
|
|
217
|
-
* Move .fernignore patterns to replay.yml exclude list.
|
|
218
|
-
* This lets Replay skip these files during application.
|
|
219
|
-
*/
|
|
220
193
|
movePatternsToReplayYml(patterns) {
|
|
221
194
|
const replayYmlPath = join(this.outputDir, ".fern", "replay.yml");
|
|
222
195
|
let config = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FernignoreMigrator.js","sourceRoot":"","sources":["../src/FernignoreMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FernignoreMigrator.js","sourceRoot":"","sources":["../src/FernignoreMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GitClient } from "./git/GitClient.js";
|
|
2
2
|
import type { LockfileManager } from "./LockfileManager.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { ReplayResult, StoredPatch } from "./types.js";
|
|
4
4
|
export declare class ReplayApplicator {
|
|
5
5
|
private git;
|
|
6
6
|
private lockManager;
|
|
@@ -17,46 +17,14 @@ export declare class ReplayApplicator {
|
|
|
17
17
|
applyPatches(patches: StoredPatch[]): Promise<ReplayResult[]>;
|
|
18
18
|
/** Populate accumulator after git apply succeeds. */
|
|
19
19
|
private populateAccumulatorForPatch;
|
|
20
|
-
/** Apply patch: try git apply --3way, fall back to per-file 3-way merge. */
|
|
21
20
|
private applyPatchWithFallback;
|
|
22
|
-
/**
|
|
23
|
-
* Manual 3-way merge for when git am fails.
|
|
24
|
-
* Creates a single shared temp git repo for all files in the patch.
|
|
25
|
-
*/
|
|
26
21
|
private applyWithThreeWayMerge;
|
|
27
|
-
/**
|
|
28
|
-
* Merge a single file using 3-way merge.
|
|
29
|
-
*/
|
|
30
22
|
private mergeFile;
|
|
31
|
-
/**
|
|
32
|
-
* Check if patch should be skipped based on exclude patterns in replay.yml
|
|
33
|
-
*/
|
|
34
23
|
private isExcluded;
|
|
35
|
-
/**
|
|
36
|
-
* Resolve a file path that may have been renamed between generations.
|
|
37
|
-
* Checks manual moves in replay.yml first, then git rename detection.
|
|
38
|
-
*/
|
|
39
24
|
private resolveFilePath;
|
|
40
|
-
/**
|
|
41
|
-
* Apply patch content to base to reconstruct user's version.
|
|
42
|
-
* Uses the shared temp repo + git apply.
|
|
43
|
-
*/
|
|
44
25
|
private applyPatchToContent;
|
|
45
|
-
/**
|
|
46
|
-
* Extract the diff for a single file from a multi-file patch.
|
|
47
|
-
* Returns just the `diff --git ...` block for the target file.
|
|
48
|
-
*/
|
|
49
26
|
private extractFileDiff;
|
|
50
|
-
/**
|
|
51
|
-
* Extract the rename source path from a patch for a given target file.
|
|
52
|
-
* Returns the original path if the diff block for targetFilePath is a rename,
|
|
53
|
-
* or null if it's not a rename.
|
|
54
|
-
*/
|
|
55
27
|
private extractRenameSource;
|
|
56
|
-
/**
|
|
57
|
-
* Extract new file content from a patch (when base is null).
|
|
58
|
-
* Parses the unified diff to get the added lines.
|
|
59
|
-
*/
|
|
60
28
|
private extractNewFileFromPatch;
|
|
61
29
|
}
|
|
62
30
|
//# sourceMappingURL=ReplayApplicator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplayApplicator.d.ts","sourceRoot":"","sources":["../src/ReplayApplicator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ReplayApplicator.d.ts","sourceRoot":"","sources":["../src/ReplayApplicator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAKR,YAAY,EACZ,WAAW,EACd,MAAM,YAAY,CAAC;AAoDpB,qBAAa,gBAAgB;IACzB,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA0D;IAC7E,OAAO,CAAC,qBAAqB,CAMzB;gBAEQ,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM;IAM3E,qDAAqD;IACrD,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqBnE,qDAAqD;YACvC,2BAA2B;YAoC3B,sBAAsB;YA6DtB,sBAAsB;YAmDtB,SAAS;IAwLvB,OAAO,CAAC,UAAU;YAOJ,eAAe;YAuCf,mBAAmB;IAyDjC,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,uBAAuB;CAmClC"}
|
package/dist/ReplayApplicator.js
CHANGED
|
@@ -1,19 +1,56 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { join, dirname, extname } from "node:path";
|
|
1
|
+
import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
2
|
import { tmpdir } from "node:os";
|
|
3
|
+
import { dirname, extname, join } from "node:path";
|
|
4
4
|
import { minimatch } from "minimatch";
|
|
5
5
|
import { threeWayMerge } from "./ThreeWayMerge.js";
|
|
6
6
|
const BINARY_EXTENSIONS = new Set([
|
|
7
|
-
".png",
|
|
8
|
-
".
|
|
9
|
-
".
|
|
10
|
-
".
|
|
11
|
-
".
|
|
12
|
-
".
|
|
13
|
-
".
|
|
14
|
-
".
|
|
15
|
-
".
|
|
16
|
-
".
|
|
7
|
+
".png",
|
|
8
|
+
".jpg",
|
|
9
|
+
".jpeg",
|
|
10
|
+
".gif",
|
|
11
|
+
".bmp",
|
|
12
|
+
".ico",
|
|
13
|
+
".webp",
|
|
14
|
+
".svg",
|
|
15
|
+
".pdf",
|
|
16
|
+
".doc",
|
|
17
|
+
".docx",
|
|
18
|
+
".xls",
|
|
19
|
+
".xlsx",
|
|
20
|
+
".ppt",
|
|
21
|
+
".pptx",
|
|
22
|
+
".zip",
|
|
23
|
+
".gz",
|
|
24
|
+
".tar",
|
|
25
|
+
".bz2",
|
|
26
|
+
".7z",
|
|
27
|
+
".rar",
|
|
28
|
+
".jar",
|
|
29
|
+
".war",
|
|
30
|
+
".ear",
|
|
31
|
+
".class",
|
|
32
|
+
".exe",
|
|
33
|
+
".dll",
|
|
34
|
+
".so",
|
|
35
|
+
".dylib",
|
|
36
|
+
".o",
|
|
37
|
+
".a",
|
|
38
|
+
".woff",
|
|
39
|
+
".woff2",
|
|
40
|
+
".ttf",
|
|
41
|
+
".eot",
|
|
42
|
+
".otf",
|
|
43
|
+
".mp3",
|
|
44
|
+
".mp4",
|
|
45
|
+
".avi",
|
|
46
|
+
".mov",
|
|
47
|
+
".wav",
|
|
48
|
+
".flac",
|
|
49
|
+
".sqlite",
|
|
50
|
+
".db",
|
|
51
|
+
".pyc",
|
|
52
|
+
".pyo",
|
|
53
|
+
".DS_Store"
|
|
17
54
|
]);
|
|
18
55
|
export class ReplayApplicator {
|
|
19
56
|
git;
|
|
@@ -42,7 +79,7 @@ export class ReplayApplicator {
|
|
|
42
79
|
results.push({
|
|
43
80
|
patch,
|
|
44
81
|
status: "skipped",
|
|
45
|
-
method: "git-am"
|
|
82
|
+
method: "git-am"
|
|
46
83
|
});
|
|
47
84
|
continue;
|
|
48
85
|
}
|
|
@@ -72,7 +109,7 @@ export class ReplayApplicator {
|
|
|
72
109
|
if (theirs && base) {
|
|
73
110
|
this.fileTheirsAccumulator.set(resolvedPath, {
|
|
74
111
|
content: theirs,
|
|
75
|
-
baseGeneration: patch.base_generation
|
|
112
|
+
baseGeneration: patch.base_generation
|
|
76
113
|
});
|
|
77
114
|
}
|
|
78
115
|
}
|
|
@@ -81,7 +118,6 @@ export class ReplayApplicator {
|
|
|
81
118
|
await rm(tempDir, { recursive: true }).catch(() => { });
|
|
82
119
|
}
|
|
83
120
|
}
|
|
84
|
-
/** Apply patch: try git apply --3way, fall back to per-file 3-way merge. */
|
|
85
121
|
async applyPatchWithFallback(patch) {
|
|
86
122
|
// Resolve all file paths to check accumulator (need baseGen for resolution)
|
|
87
123
|
const baseGen = this.lockManager.getGeneration(patch.base_generation);
|
|
@@ -117,8 +153,10 @@ export class ReplayApplicator {
|
|
|
117
153
|
// will skip fast path and use the pre-merge logic instead
|
|
118
154
|
await this.populateAccumulatorForPatch(patch, baseGen, currentTreeHash);
|
|
119
155
|
return {
|
|
120
|
-
patch,
|
|
121
|
-
|
|
156
|
+
patch,
|
|
157
|
+
status: "applied",
|
|
158
|
+
method: "git-am",
|
|
159
|
+
...(Object.keys(resolvedFiles).length > 0 && { resolvedFiles })
|
|
122
160
|
};
|
|
123
161
|
}
|
|
124
162
|
catch {
|
|
@@ -134,10 +172,6 @@ export class ReplayApplicator {
|
|
|
134
172
|
// Strategy 2: Fall back to file-by-file 3-way merge (uses accumulator)
|
|
135
173
|
return this.applyWithThreeWayMerge(patch);
|
|
136
174
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Manual 3-way merge for when git am fails.
|
|
139
|
-
* Creates a single shared temp git repo for all files in the patch.
|
|
140
|
-
*/
|
|
141
175
|
async applyWithThreeWayMerge(patch) {
|
|
142
176
|
const fileResults = [];
|
|
143
177
|
const resolvedFiles = {};
|
|
@@ -153,7 +187,7 @@ export class ReplayApplicator {
|
|
|
153
187
|
fileResults.push({
|
|
154
188
|
file: filePath,
|
|
155
189
|
status: "skipped",
|
|
156
|
-
reason: "binary-file"
|
|
190
|
+
reason: "binary-file"
|
|
157
191
|
});
|
|
158
192
|
continue;
|
|
159
193
|
}
|
|
@@ -171,9 +205,9 @@ export class ReplayApplicator {
|
|
|
171
205
|
const hasConflicts = conflictFiles.length > 0;
|
|
172
206
|
// Aggregate conflict reason from file-level to patch-level
|
|
173
207
|
const conflictReason = hasConflicts
|
|
174
|
-
?
|
|
208
|
+
? conflictFiles.some((f) => f.conflictReason === "base-generation-mismatch")
|
|
175
209
|
? "base-generation-mismatch"
|
|
176
|
-
: conflictFiles[0]?.conflictReason
|
|
210
|
+
: conflictFiles[0]?.conflictReason
|
|
177
211
|
: undefined;
|
|
178
212
|
return {
|
|
179
213
|
patch,
|
|
@@ -181,12 +215,9 @@ export class ReplayApplicator {
|
|
|
181
215
|
method: "3way-merge",
|
|
182
216
|
fileResults,
|
|
183
217
|
conflictReason,
|
|
184
|
-
...(Object.keys(resolvedFiles).length > 0 && { resolvedFiles })
|
|
218
|
+
...(Object.keys(resolvedFiles).length > 0 && { resolvedFiles })
|
|
185
219
|
};
|
|
186
220
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Merge a single file using 3-way merge.
|
|
189
|
-
*/
|
|
190
221
|
async mergeFile(patch, filePath, tempGit, tempDir) {
|
|
191
222
|
try {
|
|
192
223
|
const baseGen = this.lockManager.getGeneration(patch.base_generation);
|
|
@@ -203,7 +234,7 @@ export class ReplayApplicator {
|
|
|
203
234
|
patchId: patch.id,
|
|
204
235
|
patchMessage: patch.original_message,
|
|
205
236
|
baseGeneration: patch.base_generation,
|
|
206
|
-
currentGeneration: lock.current_generation
|
|
237
|
+
currentGeneration: lock.current_generation
|
|
207
238
|
};
|
|
208
239
|
// BASE: pristine state from when user made their edit (old path)
|
|
209
240
|
let base = await this.git.showFile(baseGen.tree_hash, filePath);
|
|
@@ -281,7 +312,7 @@ export class ReplayApplicator {
|
|
|
281
312
|
status: "conflict",
|
|
282
313
|
conflicts: merged.conflicts,
|
|
283
314
|
conflictReason: "new-file-both",
|
|
284
|
-
conflictMetadata: metadata
|
|
315
|
+
conflictMetadata: metadata
|
|
285
316
|
};
|
|
286
317
|
}
|
|
287
318
|
return { file: resolvedPath, status: "merged" };
|
|
@@ -290,21 +321,20 @@ export class ReplayApplicator {
|
|
|
290
321
|
return {
|
|
291
322
|
file: resolvedPath,
|
|
292
323
|
status: "skipped",
|
|
293
|
-
reason: "missing-content"
|
|
324
|
+
reason: "missing-content"
|
|
294
325
|
};
|
|
295
326
|
}
|
|
296
327
|
if (!base || !ours) {
|
|
297
328
|
return {
|
|
298
329
|
file: resolvedPath,
|
|
299
330
|
status: "skipped",
|
|
300
|
-
reason: "missing-content"
|
|
331
|
+
reason: "missing-content"
|
|
301
332
|
};
|
|
302
333
|
}
|
|
303
334
|
// Perform 3-way merge.
|
|
304
335
|
// For incremental patches, use the accumulated state as the merge base
|
|
305
336
|
// so the diff is computed relative to prior patches, not the raw generation.
|
|
306
|
-
const mergeBase = useAccumulatorAsMergeBase && accumulatorEntry
|
|
307
|
-
? accumulatorEntry.content : base;
|
|
337
|
+
const mergeBase = useAccumulatorAsMergeBase && accumulatorEntry ? accumulatorEntry.content : base;
|
|
308
338
|
const merged = threeWayMerge(mergeBase, ours, effective_theirs);
|
|
309
339
|
// Write result to the resolved (current) path
|
|
310
340
|
const outDir = dirname(oursPath);
|
|
@@ -315,7 +345,7 @@ export class ReplayApplicator {
|
|
|
315
345
|
if (effective_theirs && base) {
|
|
316
346
|
this.fileTheirsAccumulator.set(resolvedPath, {
|
|
317
347
|
content: effective_theirs,
|
|
318
|
-
baseGeneration: patch.base_generation
|
|
348
|
+
baseGeneration: patch.base_generation
|
|
319
349
|
});
|
|
320
350
|
}
|
|
321
351
|
if (merged.hasConflicts) {
|
|
@@ -324,7 +354,7 @@ export class ReplayApplicator {
|
|
|
324
354
|
status: "conflict",
|
|
325
355
|
conflicts: merged.conflicts,
|
|
326
356
|
conflictReason: baseMismatchSkipped ? "base-generation-mismatch" : "same-line-edit",
|
|
327
|
-
conflictMetadata: metadata
|
|
357
|
+
conflictMetadata: metadata
|
|
328
358
|
};
|
|
329
359
|
}
|
|
330
360
|
return { file: resolvedPath, status: "merged" };
|
|
@@ -333,23 +363,16 @@ export class ReplayApplicator {
|
|
|
333
363
|
return {
|
|
334
364
|
file: filePath,
|
|
335
365
|
status: "skipped",
|
|
336
|
-
reason: `error: ${error instanceof Error ? error.message : String(error)}
|
|
366
|
+
reason: `error: ${error instanceof Error ? error.message : String(error)}`
|
|
337
367
|
};
|
|
338
368
|
}
|
|
339
369
|
}
|
|
340
|
-
/**
|
|
341
|
-
* Check if patch should be skipped based on exclude patterns in replay.yml
|
|
342
|
-
*/
|
|
343
370
|
isExcluded(patch) {
|
|
344
371
|
const config = this.lockManager.getCustomizationsConfig();
|
|
345
372
|
if (!config.exclude)
|
|
346
373
|
return false;
|
|
347
374
|
return patch.files.some((file) => config.exclude.some((pattern) => minimatch(file, pattern)));
|
|
348
375
|
}
|
|
349
|
-
/**
|
|
350
|
-
* Resolve a file path that may have been renamed between generations.
|
|
351
|
-
* Checks manual moves in replay.yml first, then git rename detection.
|
|
352
|
-
*/
|
|
353
376
|
async resolveFilePath(filePath, baseTreeHash, currentTreeHash) {
|
|
354
377
|
// Priority 1: Manual moves from replay.yml
|
|
355
378
|
const config = this.lockManager.getCustomizationsConfig();
|
|
@@ -385,10 +408,6 @@ export class ReplayApplicator {
|
|
|
385
408
|
// Priority 3: No rename detected
|
|
386
409
|
return filePath;
|
|
387
410
|
}
|
|
388
|
-
/**
|
|
389
|
-
* Apply patch content to base to reconstruct user's version.
|
|
390
|
-
* Uses the shared temp repo + git apply.
|
|
391
|
-
*/
|
|
392
411
|
async applyPatchToContent(base, patchContent, filePath, tempGit, tempDir, sourceFilePath) {
|
|
393
412
|
if (!base) {
|
|
394
413
|
// New file - extract content directly from patch
|
|
@@ -406,7 +425,12 @@ export class ReplayApplicator {
|
|
|
406
425
|
await mkdir(dirname(tempSourcePath), { recursive: true });
|
|
407
426
|
await writeFile(tempSourcePath, base);
|
|
408
427
|
await tempGit.exec(["add", sourceFilePath]);
|
|
409
|
-
await tempGit.exec([
|
|
428
|
+
await tempGit.exec([
|
|
429
|
+
"commit",
|
|
430
|
+
"-m",
|
|
431
|
+
`base for rename ${sourceFilePath} -> ${filePath}`,
|
|
432
|
+
"--allow-empty"
|
|
433
|
+
]);
|
|
410
434
|
await tempGit.execWithInput(["apply", "--allow-empty"], fileDiff);
|
|
411
435
|
const tempTargetPath = join(tempDir, filePath);
|
|
412
436
|
return await readFile(tempTargetPath, "utf-8");
|
|
@@ -426,10 +450,6 @@ export class ReplayApplicator {
|
|
|
426
450
|
return null;
|
|
427
451
|
}
|
|
428
452
|
}
|
|
429
|
-
/**
|
|
430
|
-
* Extract the diff for a single file from a multi-file patch.
|
|
431
|
-
* Returns just the `diff --git ...` block for the target file.
|
|
432
|
-
*/
|
|
433
453
|
extractFileDiff(patchContent, filePath) {
|
|
434
454
|
const lines = patchContent.split("\n");
|
|
435
455
|
const diffLines = [];
|
|
@@ -452,11 +472,6 @@ export class ReplayApplicator {
|
|
|
452
472
|
}
|
|
453
473
|
return diffLines.length > 0 ? diffLines.join("\n") + "\n" : null;
|
|
454
474
|
}
|
|
455
|
-
/**
|
|
456
|
-
* Extract the rename source path from a patch for a given target file.
|
|
457
|
-
* Returns the original path if the diff block for targetFilePath is a rename,
|
|
458
|
-
* or null if it's not a rename.
|
|
459
|
-
*/
|
|
460
475
|
extractRenameSource(patchContent, targetFilePath) {
|
|
461
476
|
const lines = patchContent.split("\n");
|
|
462
477
|
let inTargetFile = false;
|
|
@@ -478,10 +493,6 @@ export class ReplayApplicator {
|
|
|
478
493
|
}
|
|
479
494
|
return null;
|
|
480
495
|
}
|
|
481
|
-
/**
|
|
482
|
-
* Extract new file content from a patch (when base is null).
|
|
483
|
-
* Parses the unified diff to get the added lines.
|
|
484
|
-
*/
|
|
485
496
|
extractNewFileFromPatch(patchContent, filePath) {
|
|
486
497
|
const lines = patchContent.split("\n");
|
|
487
498
|
const addedLines = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplayApplicator.js","sourceRoot":"","sources":["../src/ReplayApplicator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReplayApplicator.js","sourceRoot":"","sources":["../src/ReplayApplicator.ts"],"names":[],"mappings":"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"}
|