fix(FN-4726): complete Step 2 — fix done-task diff precedence
Fusion-Task-Id: FN-4726 Fusion-Task-Lineage: 9fa3bfd7-f277-4c03-8d1e-6162eb7771b2
This commit is contained in:
committed by
gsxdsm
parent
a92f9aac2b
commit
6c7b60b6c2
@@ -641,6 +641,29 @@ export function registerSessionDiffRoutes(router: Router, deps: SessionDiffRoute
|
||||
}
|
||||
|
||||
if (aggregated.usedAggregation && aggregated.files.length > 0) {
|
||||
const rebaseBaseSha = task.mergeDetails?.rebaseBaseSha?.trim();
|
||||
if (resolvedMergeSha && rebaseBaseSha) {
|
||||
const rebaseDiffSpec = await resolveRebaseDiffSpec(rebaseBaseSha, resolvedMergeSha, scopedStore.getRootDir());
|
||||
if (rebaseDiffSpec) {
|
||||
const rebaseRangeFiles = await collectDoneRangeFiles(rebaseDiffSpec.range, scopedStore.getRootDir()).catch(() => []);
|
||||
if (rebaseRangeFiles.length >= aggregated.stats.filesChanged) {
|
||||
const files = rebaseRangeFiles.map((file) => ({
|
||||
...file,
|
||||
status: file.status === "renamed" ? "modified" : file.status,
|
||||
}));
|
||||
res.json({
|
||||
files,
|
||||
stats: {
|
||||
filesChanged: files.length,
|
||||
additions: files.reduce((sum, file) => sum + file.additions, 0),
|
||||
deletions: files.reduce((sum, file) => sum + file.deletions, 0),
|
||||
},
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
res.json({
|
||||
files: aggregated.files.map((file) => ({
|
||||
...file,
|
||||
@@ -867,6 +890,18 @@ export function registerSessionDiffRoutes(router: Router, deps: SessionDiffRoute
|
||||
}
|
||||
|
||||
if (aggregated.usedAggregation && aggregated.files.length > 0) {
|
||||
const rebaseBaseSha = task.mergeDetails?.rebaseBaseSha?.trim();
|
||||
if (resolvedMergeSha && rebaseBaseSha) {
|
||||
const rebaseDiffSpec = await resolveRebaseDiffSpec(rebaseBaseSha, resolvedMergeSha, scopedStore.getRootDir());
|
||||
if (rebaseDiffSpec) {
|
||||
const rebaseRangeFiles = await collectDoneRangeFiles(rebaseDiffSpec.range, scopedStore.getRootDir()).catch(() => []);
|
||||
if (rebaseRangeFiles.length >= aggregated.stats.filesChanged) {
|
||||
res.json(rebaseRangeFiles.map((file) => ({ path: file.path, status: file.status, diff: file.patch })));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
res.json(aggregated.files.map((file) => ({ path: file.path, status: file.status, diff: file.patch })));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user