airbyte-faros-destination 0.19.56-rc6 → 0.19.56-rc7
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.
|
@@ -4,7 +4,6 @@ import { AzureTfvcConverter } from './common';
|
|
|
4
4
|
export declare class Changesets extends AzureTfvcConverter {
|
|
5
5
|
private readonly branchCollector;
|
|
6
6
|
private readonly fileCollector;
|
|
7
|
-
private readonly mergeChainTracker;
|
|
8
7
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
9
8
|
id(record: AirbyteRecord): number;
|
|
10
9
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
@@ -5,69 +5,11 @@ const azure_devops_1 = require("faros-airbyte-common/azure-devops");
|
|
|
5
5
|
const faros_js_client_1 = require("faros-js-client");
|
|
6
6
|
const vcs_1 = require("../common/vcs");
|
|
7
7
|
const common_1 = require("./common");
|
|
8
|
-
/**
|
|
9
|
-
* Tracks merge chains to compute transitive branch associations.
|
|
10
|
-
* When a changeset is merged from branch A to B, all changesets on A
|
|
11
|
-
* are transitively associated with B.
|
|
12
|
-
*/
|
|
13
|
-
class MergeChainTracker {
|
|
14
|
-
constructor() {
|
|
15
|
-
// Maps changeset ID to the branch it was originally committed to
|
|
16
|
-
this.changesetBranch = new Map();
|
|
17
|
-
// Maps branch path to all changesets on that branch (including transitive)
|
|
18
|
-
this.branchChangesets = new Map();
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Track a changeset and return only NEW associations for this branch.
|
|
22
|
-
*/
|
|
23
|
-
trackAndGetNewChangesets(changesetId, branch, mergedChangesetIds) {
|
|
24
|
-
this.changesetBranch.set(changesetId, branch);
|
|
25
|
-
const branchChangesets = this.getOrCreateBranchSet(branch);
|
|
26
|
-
const newAssociations = new Set();
|
|
27
|
-
this.addIfNew(changesetId, branchChangesets, newAssociations);
|
|
28
|
-
this.processMergedChangesets(mergedChangesetIds, branchChangesets, newAssociations);
|
|
29
|
-
return newAssociations;
|
|
30
|
-
}
|
|
31
|
-
getOrCreateBranchSet(branch) {
|
|
32
|
-
if (!this.branchChangesets.has(branch)) {
|
|
33
|
-
this.branchChangesets.set(branch, new Set());
|
|
34
|
-
}
|
|
35
|
-
return this.branchChangesets.get(branch);
|
|
36
|
-
}
|
|
37
|
-
addIfNew(id, branchChangesets, newAssociations) {
|
|
38
|
-
if (!branchChangesets.has(id)) {
|
|
39
|
-
newAssociations.add(id);
|
|
40
|
-
branchChangesets.add(id);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
processMergedChangesets(mergedChangesetIds, branchChangesets, newAssociations) {
|
|
44
|
-
for (const mergedId of mergedChangesetIds) {
|
|
45
|
-
const mergedIdStr = String(mergedId);
|
|
46
|
-
const sourceChangesets = this.getSourceBranchChangesets(mergedIdStr);
|
|
47
|
-
if (sourceChangesets) {
|
|
48
|
-
for (const cs of sourceChangesets) {
|
|
49
|
-
this.addIfNew(cs, branchChangesets, newAssociations);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.addIfNew(mergedIdStr, branchChangesets, newAssociations);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
getSourceBranchChangesets(mergedIdStr) {
|
|
58
|
-
const sourceBranch = this.changesetBranch.get(mergedIdStr);
|
|
59
|
-
if (sourceBranch && this.branchChangesets.has(sourceBranch)) {
|
|
60
|
-
return this.branchChangesets.get(sourceBranch);
|
|
61
|
-
}
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
8
|
class Changesets extends common_1.AzureTfvcConverter {
|
|
66
9
|
constructor() {
|
|
67
10
|
super(...arguments);
|
|
68
11
|
this.branchCollector = new vcs_1.BranchCollector();
|
|
69
12
|
this.fileCollector = new vcs_1.FileCollector();
|
|
70
|
-
this.mergeChainTracker = new MergeChainTracker();
|
|
71
13
|
this.destinationModels = [
|
|
72
14
|
'tms_TaskCommitAssociation',
|
|
73
15
|
'vcs_Branch',
|
|
@@ -151,9 +93,7 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
151
93
|
},
|
|
152
94
|
});
|
|
153
95
|
}
|
|
154
|
-
|
|
155
|
-
mergedIds.push(id);
|
|
156
|
-
}
|
|
96
|
+
mergedIds.push(...this.getMergedChangesetIds(change));
|
|
157
97
|
}
|
|
158
98
|
return { commitFiles, mergedChangesetIds: new Set(mergedIds) };
|
|
159
99
|
}
|
|
@@ -167,10 +107,7 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
167
107
|
const from = mergeSource.versionFrom;
|
|
168
108
|
const to = (_b = mergeSource.versionTo) !== null && _b !== void 0 ? _b : from;
|
|
169
109
|
if (from && to) {
|
|
170
|
-
|
|
171
|
-
for (let i = from; i <= to; i++) {
|
|
172
|
-
ids.push(i);
|
|
173
|
-
}
|
|
110
|
+
ids.push(...Array.from({ length: to - from + 1 }, (_, i) => from + i));
|
|
174
111
|
}
|
|
175
112
|
}
|
|
176
113
|
return ids;
|
|
@@ -180,15 +117,17 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
180
117
|
if (!branch) {
|
|
181
118
|
return [];
|
|
182
119
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
120
|
+
const records = [
|
|
121
|
+
{
|
|
122
|
+
model: 'vcs_BranchCommitAssociation',
|
|
123
|
+
record: { commit, branch, committedAt },
|
|
124
|
+
},
|
|
125
|
+
];
|
|
126
|
+
for (const mergedId of mergedChangesetIds) {
|
|
188
127
|
records.push({
|
|
189
128
|
model: 'vcs_BranchCommitAssociation',
|
|
190
129
|
record: {
|
|
191
|
-
commit: { sha:
|
|
130
|
+
commit: { sha: String(mergedId), repository },
|
|
192
131
|
branch,
|
|
193
132
|
committedAt,
|
|
194
133
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":";;;AACA,oEAA+E;AAE/E,qDAAsC;AAEtC,uCAOuB;AAEvB,qCAAoE;AAOpE
|
|
1
|
+
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
|