airbyte-faros-destination 0.19.57-rc3 → 0.19.57-rc5
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/lib/converters/azure-tfvc/changesets.d.ts +5 -2
- package/lib/converters/azure-tfvc/changesets.js +62 -101
- package/lib/converters/azure-tfvc/changesets.js.map +1 -1
- package/lib/converters/azure-tfvc/common.d.ts +5 -1
- package/lib/converters/azure-tfvc/common.js +4 -0
- package/lib/converters/azure-tfvc/common.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/resources/source-specific-configs/azure-tfvc.json +26 -0
- package/resources/source-specific-configs/spec.json +3 -0
|
@@ -4,14 +4,17 @@ 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
|
|
7
|
+
private readonly mergeReferences;
|
|
8
|
+
private trackedChangesets;
|
|
8
9
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
9
10
|
id(record: AirbyteRecord): number;
|
|
10
11
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
11
12
|
private getDiffStats;
|
|
12
13
|
private processChanges;
|
|
13
|
-
private getMergedChangesetIds;
|
|
14
14
|
private createBranchAssociations;
|
|
15
15
|
private createTaskAssociations;
|
|
16
|
+
private getTrackedChangesets;
|
|
17
|
+
private collectMergeReferences;
|
|
16
18
|
onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
19
|
+
private logMergeReferences;
|
|
17
20
|
}
|
|
@@ -5,69 +5,12 @@ 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.
|
|
13
|
+
this.mergeReferences = new Map();
|
|
71
14
|
this.destinationModels = [
|
|
72
15
|
'tms_TaskCommitAssociation',
|
|
73
16
|
'vcs_Branch',
|
|
@@ -111,8 +54,9 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
111
54
|
diffStats: this.getDiffStats(changeset),
|
|
112
55
|
},
|
|
113
56
|
};
|
|
114
|
-
const
|
|
115
|
-
|
|
57
|
+
const commitFiles = this.processChanges(commit, repository, changeset.changes);
|
|
58
|
+
this.collectMergeReferences(ctx, changeset.changesetId, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate), changeset.changes);
|
|
59
|
+
const branchAssociations = this.createBranchAssociations(commit, repository, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate));
|
|
116
60
|
const taskAssociations = this.createTaskAssociations(commit, changeset.workItems);
|
|
117
61
|
return [
|
|
118
62
|
commitRecord,
|
|
@@ -133,10 +77,9 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
133
77
|
linesDeleted: null,
|
|
134
78
|
};
|
|
135
79
|
}
|
|
136
|
-
processChanges(commit, repository,
|
|
80
|
+
processChanges(commit, repository, changes) {
|
|
137
81
|
var _a;
|
|
138
82
|
const commitFiles = [];
|
|
139
|
-
const mergedIds = [];
|
|
140
83
|
for (const change of changes !== null && changes !== void 0 ? changes : []) {
|
|
141
84
|
if ((_a = change.item) === null || _a === void 0 ? void 0 : _a.path) {
|
|
142
85
|
const filePath = change.item.path;
|
|
@@ -151,56 +94,24 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
151
94
|
},
|
|
152
95
|
});
|
|
153
96
|
}
|
|
154
|
-
for (const id of this.getMergedChangesetIds(change, changesetId, logger)) {
|
|
155
|
-
mergedIds.push(id);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return { commitFiles, mergedChangesetIds: new Set(mergedIds) };
|
|
159
|
-
}
|
|
160
|
-
getMergedChangesetIds(change, changesetId, logger) {
|
|
161
|
-
var _a, _b;
|
|
162
|
-
const ids = [];
|
|
163
|
-
const MAX_RANGE = 100000;
|
|
164
|
-
for (const mergeSource of (_a = change.mergeSources) !== null && _a !== void 0 ? _a : []) {
|
|
165
|
-
if (mergeSource.isRename) {
|
|
166
|
-
continue;
|
|
167
|
-
}
|
|
168
|
-
const from = mergeSource.versionFrom;
|
|
169
|
-
const to = (_b = mergeSource.versionTo) !== null && _b !== void 0 ? _b : from;
|
|
170
|
-
if (from && to) {
|
|
171
|
-
const rangeSize = to - from + 1;
|
|
172
|
-
if (rangeSize > MAX_RANGE) {
|
|
173
|
-
logger === null || logger === void 0 ? void 0 : logger.warn(`Changeset ${changesetId}: skipping merge range ${from}-${to} ` +
|
|
174
|
-
`(${rangeSize} changesets). Likely a baseless merge.`);
|
|
175
|
-
continue;
|
|
176
|
-
}
|
|
177
|
-
for (let i = from; i <= to; i++) {
|
|
178
|
-
ids.push(i);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
97
|
}
|
|
182
|
-
return
|
|
98
|
+
return commitFiles;
|
|
183
99
|
}
|
|
184
|
-
createBranchAssociations(commit, repository,
|
|
100
|
+
createBranchAssociations(commit, repository, branchName, committedAt) {
|
|
185
101
|
const branch = this.branchCollector.collectBranch(branchName, repository);
|
|
186
102
|
if (!branch) {
|
|
187
103
|
return [];
|
|
188
104
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const newChangesets = this.mergeChainTracker.trackAndGetNewChangesets(commit.sha, branchName, mergedChangesetIds);
|
|
192
|
-
const records = [];
|
|
193
|
-
for (const changesetId of newChangesets) {
|
|
194
|
-
records.push({
|
|
105
|
+
return [
|
|
106
|
+
{
|
|
195
107
|
model: 'vcs_BranchCommitAssociation',
|
|
196
108
|
record: {
|
|
197
|
-
commit
|
|
109
|
+
commit,
|
|
198
110
|
branch,
|
|
199
111
|
committedAt,
|
|
200
112
|
},
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
return records;
|
|
113
|
+
},
|
|
114
|
+
];
|
|
204
115
|
}
|
|
205
116
|
createTaskAssociations(commit, workItems) {
|
|
206
117
|
const records = [];
|
|
@@ -217,12 +128,62 @@ class Changesets extends common_1.AzureTfvcConverter {
|
|
|
217
128
|
}
|
|
218
129
|
return records;
|
|
219
130
|
}
|
|
131
|
+
getTrackedChangesets(ctx) {
|
|
132
|
+
var _a;
|
|
133
|
+
if (!this.trackedChangesets) {
|
|
134
|
+
const trackList = (_a = this.azureTfvcConfig(ctx).track_changesets) !== null && _a !== void 0 ? _a : [];
|
|
135
|
+
this.trackedChangesets = new Set(trackList);
|
|
136
|
+
}
|
|
137
|
+
return this.trackedChangesets;
|
|
138
|
+
}
|
|
139
|
+
collectMergeReferences(ctx, changesetId, branch, createdDate, changes) {
|
|
140
|
+
var _a, _b;
|
|
141
|
+
const tracked = this.getTrackedChangesets(ctx);
|
|
142
|
+
if (tracked.size === 0) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
for (const change of changes !== null && changes !== void 0 ? changes : []) {
|
|
146
|
+
for (const mergeSource of (_a = change.mergeSources) !== null && _a !== void 0 ? _a : []) {
|
|
147
|
+
if (mergeSource.isRename) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
const from = mergeSource.versionFrom;
|
|
151
|
+
const to = (_b = mergeSource.versionTo) !== null && _b !== void 0 ? _b : from;
|
|
152
|
+
for (const trackedId of tracked) {
|
|
153
|
+
if (from && to && trackedId >= from && trackedId <= to) {
|
|
154
|
+
if (!this.mergeReferences.has(trackedId)) {
|
|
155
|
+
this.mergeReferences.set(trackedId, []);
|
|
156
|
+
}
|
|
157
|
+
this.mergeReferences.get(trackedId).push({
|
|
158
|
+
referencedBy: changesetId,
|
|
159
|
+
branch,
|
|
160
|
+
date: createdDate,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
220
167
|
async onProcessingComplete(ctx) {
|
|
168
|
+
this.logMergeReferences(ctx);
|
|
221
169
|
return [
|
|
222
170
|
...this.branchCollector.convertBranches(),
|
|
223
171
|
...this.fileCollector.convertFiles(),
|
|
224
172
|
];
|
|
225
173
|
}
|
|
174
|
+
logMergeReferences(ctx) {
|
|
175
|
+
var _a, _b, _c;
|
|
176
|
+
if (this.mergeReferences.size === 0) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
for (const [tracked, references] of this.mergeReferences) {
|
|
180
|
+
ctx.logger.info(`=== Merge references for tracked changeset ${tracked} ===`);
|
|
181
|
+
for (const ref of references) {
|
|
182
|
+
ctx.logger.info(` Changeset ${ref.referencedBy} | Branch: ${(_a = ref.branch) !== null && _a !== void 0 ? _a : 'unknown'} | Date: ${(_c = (_b = ref.date) === null || _b === void 0 ? void 0 : _b.toISOString()) !== null && _c !== void 0 ? _c : 'unknown'}`);
|
|
183
|
+
}
|
|
184
|
+
ctx.logger.info(` Total: ${references.length} references`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
226
187
|
}
|
|
227
188
|
exports.Changesets = Changesets;
|
|
228
189
|
//# sourceMappingURL=changesets.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
2
|
import { OrgKey } from '../common/vcs';
|
|
3
|
-
import { Converter } from '../converter';
|
|
3
|
+
import { Converter, StreamContext } from '../converter';
|
|
4
4
|
export declare const MAX_DESCRIPTION_LENGTH = 1000;
|
|
5
|
+
export interface AzureTfvcConfig {
|
|
6
|
+
track_changesets?: number[];
|
|
7
|
+
}
|
|
5
8
|
/** Azure TFVC converter base */
|
|
6
9
|
export declare abstract class AzureTfvcConverter extends Converter {
|
|
7
10
|
source: string;
|
|
11
|
+
protected azureTfvcConfig(ctx: StreamContext): AzureTfvcConfig;
|
|
8
12
|
id(record: AirbyteRecord): any;
|
|
9
13
|
private static readonly _uidsFromUsersStream;
|
|
10
14
|
get uidsFromUsersStream(): Set<string>;
|
|
@@ -9,6 +9,10 @@ class AzureTfvcConverter extends converter_1.Converter {
|
|
|
9
9
|
super(...arguments);
|
|
10
10
|
this.source = 'Azure-TFVC';
|
|
11
11
|
}
|
|
12
|
+
azureTfvcConfig(ctx) {
|
|
13
|
+
var _a, _b, _c;
|
|
14
|
+
return (_c = (_b = (_a = ctx.config) === null || _a === void 0 ? void 0 : _a.source_specific_configs) === null || _b === void 0 ? void 0 : _b['azure-tfvc']) !== null && _c !== void 0 ? _c : {};
|
|
15
|
+
}
|
|
12
16
|
id(record) {
|
|
13
17
|
var _a, _b;
|
|
14
18
|
return (_b = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/common.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/common.ts"],"names":[],"mappings":";;;AAGA,4CAAsD;AAEzC,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAM3C,gCAAgC;AAChC,MAAsB,kBAAmB,SAAQ,qBAAS;IAA1D;;QACE,WAAM,GAAG,YAAY,CAAC;IAqBxB,CAAC;IAnBW,eAAe,CAAC,GAAkB;;QAC1C,OAAO,MAAA,MAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,uBAAuB,0CAAG,YAAY,CAAC,mCAAI,EAAE,CAAC;IACnE,CAAC;IAED,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;IAMD,IAAW,mBAAmB;QAC5B,OAAO,kBAAkB,CAAC,oBAAoB,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC;IACxD,CAAC;;AArBH,gDAsBC;AAXC,8EAA8E;AAC9E,4EAA4E;AAC5E,gBAAgB;AACQ,uCAAoB,GAAgB,IAAI,GAAG,EAAE,AAAzB,CAA0B"}
|