airbyte-faros-destination 0.19.57-rc3 → 0.19.57-rc4

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,13 +4,11 @@ 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>>;
11
10
  private getDiffStats;
12
11
  private processChanges;
13
- private getMergedChangesetIds;
14
12
  private createBranchAssociations;
15
13
  private createTaskAssociations;
16
14
  onProcessingComplete(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',
@@ -111,8 +53,8 @@ class Changesets extends common_1.AzureTfvcConverter {
111
53
  diffStats: this.getDiffStats(changeset),
112
54
  },
113
55
  };
114
- const { commitFiles, mergedChangesetIds } = this.processChanges(commit, repository, changeset.changesetId, changeset.changes, ctx.logger);
115
- const branchAssociations = this.createBranchAssociations(commit, repository, mergedChangesetIds, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate));
56
+ const commitFiles = this.processChanges(commit, repository, changeset.changes);
57
+ const branchAssociations = this.createBranchAssociations(commit, repository, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate));
116
58
  const taskAssociations = this.createTaskAssociations(commit, changeset.workItems);
117
59
  return [
118
60
  commitRecord,
@@ -133,10 +75,9 @@ class Changesets extends common_1.AzureTfvcConverter {
133
75
  linesDeleted: null,
134
76
  };
135
77
  }
136
- processChanges(commit, repository, changesetId, changes, logger) {
78
+ processChanges(commit, repository, changes) {
137
79
  var _a;
138
80
  const commitFiles = [];
139
- const mergedIds = [];
140
81
  for (const change of changes !== null && changes !== void 0 ? changes : []) {
141
82
  if ((_a = change.item) === null || _a === void 0 ? void 0 : _a.path) {
142
83
  const filePath = change.item.path;
@@ -151,56 +92,24 @@ class Changesets extends common_1.AzureTfvcConverter {
151
92
  },
152
93
  });
153
94
  }
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
95
  }
182
- return ids;
96
+ return commitFiles;
183
97
  }
184
- createBranchAssociations(commit, repository, mergedChangesetIds, branchName, committedAt) {
98
+ createBranchAssociations(commit, repository, branchName, committedAt) {
185
99
  const branch = this.branchCollector.collectBranch(branchName, repository);
186
100
  if (!branch) {
187
101
  return [];
188
102
  }
189
- // Get NEW changesets to associate with this branch
190
- // (current changeset + newly merged via transitive chain)
191
- const newChangesets = this.mergeChainTracker.trackAndGetNewChangesets(commit.sha, branchName, mergedChangesetIds);
192
- const records = [];
193
- for (const changesetId of newChangesets) {
194
- records.push({
103
+ return [
104
+ {
195
105
  model: 'vcs_BranchCommitAssociation',
196
106
  record: {
197
- commit: { sha: changesetId, repository },
107
+ commit,
198
108
  branch,
199
109
  committedAt,
200
110
  },
201
- });
202
- }
203
- return records;
111
+ },
112
+ ];
204
113
  }
205
114
  createTaskAssociations(commit, workItems) {
206
115
  const records = [];
@@ -1 +1 @@
1
- {"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}