@theia/scm 1.75.0-next.8 → 1.75.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/lib/browser/decorations/scm-navigator-decorator.d.ts.map +1 -1
- package/lib/browser/decorations/scm-navigator-decorator.js +1 -0
- package/lib/browser/decorations/scm-navigator-decorator.js.map +1 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js +7 -10
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js.map +1 -1
- package/lib/browser/scm-action-button-widget.js +10 -15
- package/lib/browser/scm-action-button-widget.js.map +1 -1
- package/lib/browser/scm-amend-component.js +24 -57
- package/lib/browser/scm-amend-component.js.map +1 -1
- package/lib/browser/scm-commit-widget.d.ts +1 -1
- package/lib/browser/scm-commit-widget.d.ts.map +1 -1
- package/lib/browser/scm-commit-widget.js +9 -10
- package/lib/browser/scm-commit-widget.js.map +1 -1
- package/lib/browser/scm-context-key-service.d.ts +2 -0
- package/lib/browser/scm-context-key-service.d.ts.map +1 -1
- package/lib/browser/scm-context-key-service.js +4 -0
- package/lib/browser/scm-context-key-service.js.map +1 -1
- package/lib/browser/scm-context-key-service.spec.js +7 -0
- package/lib/browser/scm-context-key-service.spec.js.map +1 -1
- package/lib/browser/scm-frontend-module.d.ts.map +1 -1
- package/lib/browser/scm-frontend-module.js +6 -0
- package/lib/browser/scm-frontend-module.js.map +1 -1
- package/lib/browser/scm-history-graph-contribution.d.ts +49 -0
- package/lib/browser/scm-history-graph-contribution.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-contribution.js +280 -0
- package/lib/browser/scm-history-graph-contribution.js.map +1 -0
- package/lib/browser/scm-history-graph-contribution.spec.d.ts +2 -0
- package/lib/browser/scm-history-graph-contribution.spec.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-contribution.spec.js +119 -0
- package/lib/browser/scm-history-graph-contribution.spec.js.map +1 -0
- package/lib/browser/scm-history-graph-helpers.d.ts +59 -6
- package/lib/browser/scm-history-graph-helpers.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-helpers.js +129 -5
- package/lib/browser/scm-history-graph-helpers.js.map +1 -1
- package/lib/browser/scm-history-graph-helpers.spec.d.ts +2 -0
- package/lib/browser/scm-history-graph-helpers.spec.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-helpers.spec.js +154 -0
- package/lib/browser/scm-history-graph-helpers.spec.js.map +1 -0
- package/lib/browser/scm-history-graph-lanes.d.ts +19 -5
- package/lib/browser/scm-history-graph-lanes.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-lanes.js +25 -9
- package/lib/browser/scm-history-graph-lanes.js.map +1 -1
- package/lib/browser/scm-history-graph-lanes.spec.js +62 -25
- package/lib/browser/scm-history-graph-lanes.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-model.d.ts +75 -6
- package/lib/browser/scm-history-graph-model.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-model.js +155 -10
- package/lib/browser/scm-history-graph-model.js.map +1 -1
- package/lib/browser/scm-history-graph-model.spec.js +299 -4
- package/lib/browser/scm-history-graph-model.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-tooltip.d.ts +27 -2
- package/lib/browser/scm-history-graph-tooltip.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-tooltip.js +113 -22
- package/lib/browser/scm-history-graph-tooltip.js.map +1 -1
- package/lib/browser/scm-history-graph-tooltip.spec.d.ts +2 -0
- package/lib/browser/scm-history-graph-tooltip.spec.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-tooltip.spec.js +213 -0
- package/lib/browser/scm-history-graph-tooltip.spec.js.map +1 -0
- package/lib/browser/scm-history-graph-widget.d.ts +36 -2
- package/lib/browser/scm-history-graph-widget.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-widget.js +174 -67
- package/lib/browser/scm-history-graph-widget.js.map +1 -1
- package/lib/browser/scm-history-graph-widget.spec.d.ts +2 -0
- package/lib/browser/scm-history-graph-widget.spec.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-widget.spec.js +273 -0
- package/lib/browser/scm-history-graph-widget.spec.js.map +1 -0
- package/lib/browser/scm-provider.d.ts +9 -1
- package/lib/browser/scm-provider.d.ts.map +1 -1
- package/lib/browser/scm-provider.js.map +1 -1
- package/lib/browser/scm-repositories-widget.js +12 -21
- package/lib/browser/scm-repositories-widget.js.map +1 -1
- package/lib/browser/scm-tree-widget.js +35 -53
- package/lib/browser/scm-tree-widget.js.map +1 -1
- package/lib/common/scm-preferences.d.ts +3 -0
- package/lib/common/scm-preferences.d.ts.map +1 -1
- package/lib/common/scm-preferences.js +24 -0
- package/lib/common/scm-preferences.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/decorations/scm-navigator-decorator.ts +3 -2
- package/src/browser/scm-context-key-service.spec.ts +9 -0
- package/src/browser/scm-context-key-service.ts +6 -0
- package/src/browser/scm-frontend-module.ts +7 -1
- package/src/browser/scm-history-graph-contribution.spec.ts +148 -0
- package/src/browser/scm-history-graph-contribution.ts +273 -0
- package/src/browser/scm-history-graph-helpers.spec.ts +193 -0
- package/src/browser/scm-history-graph-helpers.ts +180 -6
- package/src/browser/scm-history-graph-lanes.spec.ts +70 -25
- package/src/browser/scm-history-graph-lanes.ts +48 -11
- package/src/browser/scm-history-graph-model.spec.ts +378 -12
- package/src/browser/scm-history-graph-model.ts +181 -13
- package/src/browser/scm-history-graph-tooltip.spec.ts +254 -0
- package/src/browser/scm-history-graph-tooltip.ts +144 -24
- package/src/browser/scm-history-graph-widget.spec.ts +322 -0
- package/src/browser/scm-history-graph-widget.tsx +199 -39
- package/src/browser/scm-provider.ts +9 -1
- package/src/browser/style/scm-history-graph.css +53 -2
- package/src/common/scm-preferences.ts +27 -0
|
@@ -33,9 +33,13 @@ describe('computeGraphRows', () => {
|
|
|
33
33
|
it('all commits stay in lane 0', () => {
|
|
34
34
|
(0, chai_1.expect)(lanes(commits)).to.deep.equal([0, 0, 0]);
|
|
35
35
|
});
|
|
36
|
-
it('colors
|
|
36
|
+
it('colors default to the first rotation color (foreground1 = index 3)', () => {
|
|
37
37
|
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(commits);
|
|
38
|
-
(0, chai_1.expect)(rows.map(r => r.color)).to.deep.equal([
|
|
38
|
+
(0, chai_1.expect)(rows.map(r => r.color)).to.deep.equal([3, 3, 3]);
|
|
39
|
+
});
|
|
40
|
+
it('topColor equals color when no ref color overrides the lane', () => {
|
|
41
|
+
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(commits);
|
|
42
|
+
rows.forEach(r => (0, chai_1.expect)(r.topColor).to.equal(r.color));
|
|
39
43
|
});
|
|
40
44
|
it('first parent same-lane continuation emits no separate edge (handled by commit line)', () => {
|
|
41
45
|
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(commits);
|
|
@@ -174,9 +178,13 @@ describe('computeGraphRows', () => {
|
|
|
174
178
|
const mergeIn = rows[0].edges.filter(e => e.type === 'merge-in');
|
|
175
179
|
(0, chai_1.expect)(mergeIn.length).to.equal(0);
|
|
176
180
|
});
|
|
177
|
-
it('lane colors
|
|
181
|
+
it('lane colors rotate through the default registry (indices 3-7)', () => {
|
|
178
182
|
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(commits);
|
|
179
|
-
|
|
183
|
+
// O and P1 share lane 0 → first rotation color; P2/P3 opened new lanes
|
|
184
|
+
(0, chai_1.expect)(rows[0].color).to.equal(3);
|
|
185
|
+
(0, chai_1.expect)(rows[1].color).to.equal(3);
|
|
186
|
+
(0, chai_1.expect)(rows[2].color).to.not.equal(rows[3].color);
|
|
187
|
+
rows.forEach(r => (0, chai_1.expect)(r.color).to.be.within(3, 7));
|
|
180
188
|
});
|
|
181
189
|
});
|
|
182
190
|
// -------------------------------------------------------------------------
|
|
@@ -337,25 +345,14 @@ describe('computeGraphRows', () => {
|
|
|
337
345
|
});
|
|
338
346
|
});
|
|
339
347
|
// -------------------------------------------------------------------------
|
|
340
|
-
//
|
|
348
|
+
// Default color rotation (VS Code cycles scmGraph.foreground1-5)
|
|
341
349
|
// -------------------------------------------------------------------------
|
|
342
|
-
describe('color
|
|
343
|
-
it('
|
|
344
|
-
//
|
|
345
|
-
|
|
346
|
-
const commits = [
|
|
347
|
-
{ id: 'X0', parentIds: ['X1'] },
|
|
348
|
-
{ id: 'Y0', parentIds: ['Y1'] },
|
|
349
|
-
{ id: 'Z0', parentIds: ['Z1'] },
|
|
350
|
-
{ id: 'W0', parentIds: ['W1'] },
|
|
351
|
-
{ id: 'X1', parentIds: [] },
|
|
352
|
-
{ id: 'Y1', parentIds: [] },
|
|
353
|
-
{ id: 'Z1', parentIds: [] },
|
|
354
|
-
{ id: 'W1', parentIds: [] },
|
|
355
|
-
];
|
|
350
|
+
describe('default color rotation', () => {
|
|
351
|
+
it('cycles through indices 3-7 and wraps', () => {
|
|
352
|
+
// 6 independent tips → 6 lanes; the sixth wraps back to the first color
|
|
353
|
+
const commits = ['A', 'B', 'C', 'D', 'E', 'F'].map(id => ({ id, parentIds: [id.toLowerCase()] }));
|
|
356
354
|
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(commits);
|
|
357
|
-
|
|
358
|
-
rows.forEach(r => (0, chai_1.expect)(r.color).to.equal(r.lane % 8));
|
|
355
|
+
(0, chai_1.expect)(rows.map(r => r.color)).to.deep.equal([3, 4, 5, 6, 7, 3]);
|
|
359
356
|
});
|
|
360
357
|
it('assigns distinct lanes to 8 simultaneous branches', () => {
|
|
361
358
|
// 8 independent commits whose parents haven't been seen yet
|
|
@@ -372,10 +369,50 @@ describe('computeGraphRows', () => {
|
|
|
372
369
|
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(commits);
|
|
373
370
|
const laneSet = new Set(rows.map(r => r.lane));
|
|
374
371
|
(0, chai_1.expect)(laneSet.size).to.equal(8); // all distinct lanes
|
|
375
|
-
//
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
372
|
+
// Default colors never use the reserved ref color indices 0-2
|
|
373
|
+
rows.forEach(r => (0, chai_1.expect)(r.color).to.be.within(3, 7));
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
// -------------------------------------------------------------------------
|
|
377
|
+
// Ref-based colors (VS Code colorMap: current=0, remote=1, base=2)
|
|
378
|
+
// -------------------------------------------------------------------------
|
|
379
|
+
describe('ref-based colors', () => {
|
|
380
|
+
// Remote is one commit ahead: R (origin/main) → L (main = HEAD) → A
|
|
381
|
+
const behindCommits = [
|
|
382
|
+
{ id: 'R', parentIds: ['L'], colorIndex: 1 },
|
|
383
|
+
{ id: 'L', parentIds: ['A'], colorIndex: 0 },
|
|
384
|
+
{ id: 'A', parentIds: [] },
|
|
385
|
+
];
|
|
386
|
+
it('a tip with a color index colors its row', () => {
|
|
387
|
+
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(behindCommits);
|
|
388
|
+
(0, chai_1.expect)(rows[0].color).to.equal(1);
|
|
389
|
+
});
|
|
390
|
+
it('an overriding commit recolors the chain from its row downward', () => {
|
|
391
|
+
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(behindCommits);
|
|
392
|
+
(0, chai_1.expect)(rows[1].color).to.equal(0);
|
|
393
|
+
(0, chai_1.expect)(rows[2].color).to.equal(0);
|
|
394
|
+
});
|
|
395
|
+
it('topColor keeps the inherited color for the segment above an overriding commit', () => {
|
|
396
|
+
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(behindCommits);
|
|
397
|
+
(0, chai_1.expect)(rows[0].topColor).to.equal(1);
|
|
398
|
+
(0, chai_1.expect)(rows[1].topColor).to.equal(1);
|
|
399
|
+
(0, chai_1.expect)(rows[2].topColor).to.equal(0);
|
|
400
|
+
});
|
|
401
|
+
// Diverged: L (main = HEAD) and R (origin/main) both branched off A
|
|
402
|
+
const divergedCommits = [
|
|
403
|
+
{ id: 'L', parentIds: ['A'], colorIndex: 0 },
|
|
404
|
+
{ id: 'R', parentIds: ['A'], colorIndex: 1 },
|
|
405
|
+
{ id: 'A', parentIds: [] },
|
|
406
|
+
];
|
|
407
|
+
it('pass-through edges use the propagated ref color', () => {
|
|
408
|
+
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(divergedCommits);
|
|
409
|
+
const pass = rows[1].edges.find(e => e.type === 'pass-through');
|
|
410
|
+
(0, chai_1.expect)(pass?.color).to.equal(0);
|
|
411
|
+
});
|
|
412
|
+
it('merge-in edges from a ref-colored lane keep that color', () => {
|
|
413
|
+
const rows = (0, scm_history_graph_lanes_1.computeGraphRows)(divergedCommits);
|
|
414
|
+
const mergeIn = rows[2].edges.find(e => e.type === 'merge-in');
|
|
415
|
+
(0, chai_1.expect)(mergeIn?.color).to.equal(1);
|
|
379
416
|
});
|
|
380
417
|
});
|
|
381
418
|
// -------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-lanes.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-lanes.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scm-history-graph-lanes.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-lanes.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
2
|
-
import { Emitter } from '@theia/core/lib/common/event';
|
|
2
|
+
import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
3
3
|
import { CancellationTokenSource } from '@theia/core/lib/common/cancellation';
|
|
4
4
|
import { ScmService } from './scm-service';
|
|
5
|
-
import { ScmHistoryItem, ScmHistoryProvider } from './scm-provider';
|
|
5
|
+
import { ScmHistoryItem, ScmHistoryItemRef, ScmHistoryProvider } from './scm-provider';
|
|
6
6
|
import { GraphRow } from './scm-history-graph-lanes';
|
|
7
|
+
import { ILogger } from '@theia/core';
|
|
8
|
+
import { ScmPreferences } from '../common/scm-preferences';
|
|
7
9
|
export declare const PAGE_SIZE = 50;
|
|
10
|
+
/** How the changes of an expanded history item are laid out. */
|
|
11
|
+
export type ScmHistoryViewMode = 'list' | 'tree';
|
|
12
|
+
export declare const ScmHistoryGraphModelProvider: unique symbol;
|
|
13
|
+
/**
|
|
14
|
+
* Resolves the {@link ScmHistoryGraphModel} singleton on first use. The model
|
|
15
|
+
* starts loading history and subscribing to provider events as soon as it is
|
|
16
|
+
* instantiated, so clients that may not need it (e.g. command contributions
|
|
17
|
+
* instantiated at application start) must inject this provider instead of the
|
|
18
|
+
* model itself.
|
|
19
|
+
*/
|
|
20
|
+
export type ScmHistoryGraphModelProvider = () => ScmHistoryGraphModel;
|
|
8
21
|
export interface HistoryGraphEntry {
|
|
9
22
|
readonly item: ScmHistoryItem;
|
|
10
23
|
readonly graphRow: GraphRow;
|
|
24
|
+
/** True when this item is the commit the current history item ref points at (HEAD). */
|
|
25
|
+
readonly isCurrent: boolean;
|
|
11
26
|
}
|
|
12
27
|
export declare class ScmHistoryGraphModel {
|
|
13
28
|
protected readonly scmService: ScmService;
|
|
29
|
+
protected readonly scmPreferences: ScmPreferences;
|
|
30
|
+
protected readonly logger: ILogger;
|
|
14
31
|
protected readonly toDispose: DisposableCollection;
|
|
15
32
|
protected readonly toDisposeOnProviderChange: DisposableCollection;
|
|
16
33
|
protected _entries: HistoryGraphEntry[];
|
|
@@ -18,12 +35,37 @@ export declare class ScmHistoryGraphModel {
|
|
|
18
35
|
protected _loading: boolean;
|
|
19
36
|
protected _hasAttemptedLoad: boolean;
|
|
20
37
|
protected _provider: ScmHistoryProvider | undefined;
|
|
38
|
+
/** Explicitly picked ref ids to filter the graph by; `undefined` = auto (current/remote/base). */
|
|
39
|
+
protected _historyItemRefFilter: string[] | undefined;
|
|
40
|
+
protected _viewMode: ScmHistoryViewMode;
|
|
21
41
|
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
22
|
-
readonly onDidChange:
|
|
42
|
+
readonly onDidChange: Event<void>;
|
|
43
|
+
protected readonly onDidRequestRevealEmitter: Emitter<number>;
|
|
44
|
+
/** Fired with the index of an entry the view should scroll to and select. */
|
|
45
|
+
readonly onDidRequestReveal: Event<number>;
|
|
23
46
|
protected cancelSource: CancellationTokenSource;
|
|
24
47
|
protected init(): void;
|
|
25
48
|
dispose(): void;
|
|
26
49
|
get provider(): ScmHistoryProvider | undefined;
|
|
50
|
+
/** The explicitly picked ref ids filtering the graph, or `undefined` in auto mode. */
|
|
51
|
+
get historyItemRefFilter(): readonly string[] | undefined;
|
|
52
|
+
/** How the changes of an expanded history item are laid out. */
|
|
53
|
+
get viewMode(): ScmHistoryViewMode;
|
|
54
|
+
/**
|
|
55
|
+
* Switches how the changes of an expanded history item are laid out. This
|
|
56
|
+
* only affects rendering, so the loaded history is kept as is.
|
|
57
|
+
*/
|
|
58
|
+
setViewMode(viewMode: ScmHistoryViewMode): void;
|
|
59
|
+
/**
|
|
60
|
+
* Sets the ref ids to filter the graph by (`undefined` returns to auto
|
|
61
|
+
* mode) and reloads the graph.
|
|
62
|
+
*/
|
|
63
|
+
setHistoryItemRefFilter(refIds: readonly string[] | undefined): void;
|
|
64
|
+
/**
|
|
65
|
+
* Whether the current history item ref is part of the graph's filter.
|
|
66
|
+
* Always true in auto mode, which includes the current ref.
|
|
67
|
+
*/
|
|
68
|
+
isCurrentRefInFilter(): boolean;
|
|
27
69
|
get entries(): readonly HistoryGraphEntry[];
|
|
28
70
|
get hasMore(): boolean;
|
|
29
71
|
get loading(): boolean;
|
|
@@ -34,12 +76,39 @@ export declare class ScmHistoryGraphModel {
|
|
|
34
76
|
*/
|
|
35
77
|
get hasAttemptedLoad(): boolean;
|
|
36
78
|
refresh(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Drops refs that no longer exist from the explicit filter, so that
|
|
81
|
+
* deleting or renaming a filtered ref does not leave the graph stuck
|
|
82
|
+
* requesting history for it. When the last filtered ref is removed,
|
|
83
|
+
* the filter falls back to auto mode.
|
|
84
|
+
*/
|
|
85
|
+
protected pruneHistoryItemRefFilter(removed: readonly ScmHistoryItemRef[]): void;
|
|
86
|
+
/** Clears the loaded entries and loads the first page again from the current provider. */
|
|
87
|
+
protected reload(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Locates the commit the current history item ref points at, loading
|
|
90
|
+
* further pages while it is outside the loaded range, and asks the view to
|
|
91
|
+
* reveal it. Returns its index, or `undefined` when there is no current
|
|
92
|
+
* history item ref or the commit is not part of the graph (e.g. the ref is
|
|
93
|
+
* excluded by the filter).
|
|
94
|
+
*/
|
|
95
|
+
revealCurrentHistoryItem(): Promise<number | undefined>;
|
|
96
|
+
protected indexOfCurrentHistoryItem(): number | undefined;
|
|
37
97
|
loadMore(): Promise<void>;
|
|
38
98
|
protected loadPage(): Promise<void>;
|
|
99
|
+
/** The configured page size (`scm.graph.pageSize`). */
|
|
100
|
+
protected get pageSize(): number;
|
|
101
|
+
/**
|
|
102
|
+
* Resolves the ref-based color index of an item from its references,
|
|
103
|
+
* preferring current (0) over remote (1) over base (2). Refs excluded by
|
|
104
|
+
* an explicit filter get no role color, mirroring VS Code's color map.
|
|
105
|
+
*/
|
|
106
|
+
protected resolveColorIndex(item: ScmHistoryItem): number | undefined;
|
|
39
107
|
/**
|
|
40
|
-
* Returns the
|
|
41
|
-
*
|
|
42
|
-
*
|
|
108
|
+
* Returns the refs to pass to `provideHistoryItems`: the explicitly picked
|
|
109
|
+
* ref ids when a filter is active, otherwise (auto mode) the revisions of
|
|
110
|
+
* the current branch ref, its remote tracking ref, and the merge-base ref.
|
|
111
|
+
* Providers walk history starting from these refs.
|
|
43
112
|
*/
|
|
44
113
|
protected getCurrentHistoryItemRefs(): string[];
|
|
45
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-model.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-model.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-model.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ScmHistoryGraphModel = exports.PAGE_SIZE = void 0;
|
|
18
|
+
exports.ScmHistoryGraphModel = exports.ScmHistoryGraphModelProvider = exports.PAGE_SIZE = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
@@ -23,7 +23,11 @@ const event_1 = require("@theia/core/lib/common/event");
|
|
|
23
23
|
const cancellation_1 = require("@theia/core/lib/common/cancellation");
|
|
24
24
|
const scm_service_1 = require("./scm-service");
|
|
25
25
|
const scm_history_graph_lanes_1 = require("./scm-history-graph-lanes");
|
|
26
|
+
const core_1 = require("@theia/core");
|
|
27
|
+
const scm_history_graph_helpers_1 = require("./scm-history-graph-helpers");
|
|
28
|
+
const scm_preferences_1 = require("../common/scm-preferences");
|
|
26
29
|
exports.PAGE_SIZE = 50;
|
|
30
|
+
exports.ScmHistoryGraphModelProvider = Symbol('ScmHistoryGraphModelProvider');
|
|
27
31
|
let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
28
32
|
constructor() {
|
|
29
33
|
this.toDispose = new disposable_1.DisposableCollection();
|
|
@@ -32,15 +36,25 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
32
36
|
this._hasMore = false;
|
|
33
37
|
this._loading = false;
|
|
34
38
|
this._hasAttemptedLoad = false;
|
|
39
|
+
this._viewMode = 'list';
|
|
35
40
|
this.onDidChangeEmitter = new event_1.Emitter();
|
|
36
41
|
this.onDidChange = this.onDidChangeEmitter.event;
|
|
42
|
+
this.onDidRequestRevealEmitter = new event_1.Emitter();
|
|
43
|
+
/** Fired with the index of an entry the view should scroll to and select. */
|
|
44
|
+
this.onDidRequestReveal = this.onDidRequestRevealEmitter.event;
|
|
37
45
|
this.cancelSource = new cancellation_1.CancellationTokenSource();
|
|
38
46
|
}
|
|
39
47
|
init() {
|
|
40
48
|
this.toDispose.pushAll([
|
|
41
49
|
disposable_1.Disposable.create(() => this.toDisposeOnProviderChange.dispose()),
|
|
42
50
|
this.onDidChangeEmitter,
|
|
51
|
+
this.onDidRequestRevealEmitter,
|
|
43
52
|
this.scmService.onDidChangeSelectedRepository(() => this.refresh()),
|
|
53
|
+
this.scmPreferences.onPreferenceChanged(e => {
|
|
54
|
+
if (e.preferenceName === 'scm.graph.pageSize') {
|
|
55
|
+
this.reload();
|
|
56
|
+
}
|
|
57
|
+
}),
|
|
44
58
|
]);
|
|
45
59
|
this.refresh();
|
|
46
60
|
}
|
|
@@ -51,6 +65,44 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
51
65
|
get provider() {
|
|
52
66
|
return this._provider;
|
|
53
67
|
}
|
|
68
|
+
/** The explicitly picked ref ids filtering the graph, or `undefined` in auto mode. */
|
|
69
|
+
get historyItemRefFilter() {
|
|
70
|
+
return this._historyItemRefFilter;
|
|
71
|
+
}
|
|
72
|
+
/** How the changes of an expanded history item are laid out. */
|
|
73
|
+
get viewMode() {
|
|
74
|
+
return this._viewMode;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Switches how the changes of an expanded history item are laid out. This
|
|
78
|
+
* only affects rendering, so the loaded history is kept as is.
|
|
79
|
+
*/
|
|
80
|
+
setViewMode(viewMode) {
|
|
81
|
+
if (this._viewMode === viewMode) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this._viewMode = viewMode;
|
|
85
|
+
this.onDidChangeEmitter.fire();
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Sets the ref ids to filter the graph by (`undefined` returns to auto
|
|
89
|
+
* mode) and reloads the graph.
|
|
90
|
+
*/
|
|
91
|
+
setHistoryItemRefFilter(refIds) {
|
|
92
|
+
this._historyItemRefFilter = refIds && refIds.length > 0 ? [...refIds] : undefined;
|
|
93
|
+
this.reload();
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Whether the current history item ref is part of the graph's filter.
|
|
97
|
+
* Always true in auto mode, which includes the current ref.
|
|
98
|
+
*/
|
|
99
|
+
isCurrentRefInFilter() {
|
|
100
|
+
if (!this._historyItemRefFilter) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
const currentId = this._provider?.currentHistoryItemRef?.id;
|
|
104
|
+
return currentId !== undefined && this._historyItemRefFilter.includes(currentId);
|
|
105
|
+
}
|
|
54
106
|
get entries() {
|
|
55
107
|
return this._entries;
|
|
56
108
|
}
|
|
@@ -69,25 +121,79 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
69
121
|
return this._hasAttemptedLoad;
|
|
70
122
|
}
|
|
71
123
|
refresh() {
|
|
72
|
-
this.cancelSource.cancel();
|
|
73
|
-
this.cancelSource = new cancellation_1.CancellationTokenSource();
|
|
74
124
|
this.toDisposeOnProviderChange.dispose();
|
|
75
125
|
const repo = this.scmService.selectedRepository;
|
|
76
126
|
const hp = repo?.provider.historyProvider;
|
|
127
|
+
if (hp !== this._provider) {
|
|
128
|
+
// The repository changed — a filter picked for the old provider does not apply.
|
|
129
|
+
this._historyItemRefFilter = undefined;
|
|
130
|
+
}
|
|
77
131
|
this._provider = hp;
|
|
78
132
|
if (this._provider) {
|
|
79
133
|
this.toDisposeOnProviderChange.push(this._provider.onDidChangeCurrentHistoryItemRefs(() => this.refresh()));
|
|
80
|
-
this.toDisposeOnProviderChange.push(this._provider.onDidChangeHistoryItemRefs(
|
|
134
|
+
this.toDisposeOnProviderChange.push(this._provider.onDidChangeHistoryItemRefs(e => {
|
|
135
|
+
this.pruneHistoryItemRefFilter(e.removed);
|
|
136
|
+
this.refresh();
|
|
137
|
+
}));
|
|
81
138
|
}
|
|
82
139
|
else if (repo) {
|
|
83
140
|
// historyProvider is not yet available; listen for provider changes
|
|
84
141
|
// so that refresh() is retried when historyProvider becomes available.
|
|
85
142
|
this.toDisposeOnProviderChange.push(repo.provider.onDidChange(() => this.refresh()));
|
|
86
143
|
}
|
|
144
|
+
this.reload();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Drops refs that no longer exist from the explicit filter, so that
|
|
148
|
+
* deleting or renaming a filtered ref does not leave the graph stuck
|
|
149
|
+
* requesting history for it. When the last filtered ref is removed,
|
|
150
|
+
* the filter falls back to auto mode.
|
|
151
|
+
*/
|
|
152
|
+
pruneHistoryItemRefFilter(removed) {
|
|
153
|
+
if (!this._historyItemRefFilter || removed.length === 0) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const removedIds = new Set(removed.map(ref => ref.id));
|
|
157
|
+
const remaining = this._historyItemRefFilter.filter(id => !removedIds.has(id));
|
|
158
|
+
if (remaining.length !== this._historyItemRefFilter.length) {
|
|
159
|
+
this._historyItemRefFilter = remaining.length > 0 ? remaining : undefined;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** Clears the loaded entries and loads the first page again from the current provider. */
|
|
163
|
+
reload() {
|
|
164
|
+
this.cancelSource.cancel();
|
|
165
|
+
this.cancelSource = new cancellation_1.CancellationTokenSource();
|
|
87
166
|
this._entries = [];
|
|
88
167
|
this._hasMore = false;
|
|
89
168
|
this.loadPage();
|
|
90
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Locates the commit the current history item ref points at, loading
|
|
172
|
+
* further pages while it is outside the loaded range, and asks the view to
|
|
173
|
+
* reveal it. Returns its index, or `undefined` when there is no current
|
|
174
|
+
* history item ref or the commit is not part of the graph (e.g. the ref is
|
|
175
|
+
* excluded by the filter).
|
|
176
|
+
*/
|
|
177
|
+
async revealCurrentHistoryItem() {
|
|
178
|
+
let index = this.indexOfCurrentHistoryItem();
|
|
179
|
+
while (index === undefined && this._hasMore) {
|
|
180
|
+
const loadedBefore = this._entries.length;
|
|
181
|
+
await this.loadMore();
|
|
182
|
+
if (this._entries.length === loadedBefore) {
|
|
183
|
+
// The page added nothing new; paging further cannot find the item.
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
index = this.indexOfCurrentHistoryItem();
|
|
187
|
+
}
|
|
188
|
+
if (index !== undefined) {
|
|
189
|
+
this.onDidRequestRevealEmitter.fire(index);
|
|
190
|
+
}
|
|
191
|
+
return index;
|
|
192
|
+
}
|
|
193
|
+
indexOfCurrentHistoryItem() {
|
|
194
|
+
const index = this._entries.findIndex(entry => entry.isCurrent);
|
|
195
|
+
return index === -1 ? undefined : index;
|
|
196
|
+
}
|
|
91
197
|
async loadMore() {
|
|
92
198
|
if (this._loading || !this._hasMore) {
|
|
93
199
|
return;
|
|
@@ -107,10 +213,11 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
107
213
|
this.onDidChangeEmitter.fire();
|
|
108
214
|
const token = this.cancelSource.token;
|
|
109
215
|
try {
|
|
216
|
+
const pageSize = this.pageSize;
|
|
110
217
|
const historyItemRefs = this.getCurrentHistoryItemRefs();
|
|
111
218
|
const options = {
|
|
112
219
|
skip: this._entries.length,
|
|
113
|
-
limit:
|
|
220
|
+
limit: pageSize,
|
|
114
221
|
historyItemRefs: historyItemRefs.length > 0 ? historyItemRefs : undefined,
|
|
115
222
|
};
|
|
116
223
|
const items = await this._provider.provideHistoryItems(options, token);
|
|
@@ -118,7 +225,7 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
118
225
|
return;
|
|
119
226
|
}
|
|
120
227
|
const fetchedItems = items ?? [];
|
|
121
|
-
this._hasMore = fetchedItems.length >=
|
|
228
|
+
this._hasMore = fetchedItems.length >= pageSize;
|
|
122
229
|
// Filter out any items already loaded so the graph does not show duplicates.
|
|
123
230
|
const existingIds = new Set(this._entries.map(e => e.item.id));
|
|
124
231
|
const newItems = fetchedItems.filter(i => !existingIds.has(i.id));
|
|
@@ -126,15 +233,18 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
126
233
|
const graphRows = (0, scm_history_graph_lanes_1.computeGraphRows)(allItems.map(i => ({
|
|
127
234
|
id: i.id,
|
|
128
235
|
parentIds: i.parentIds,
|
|
236
|
+
colorIndex: this.resolveColorIndex(i),
|
|
129
237
|
})));
|
|
238
|
+
const currentRevision = this._provider.currentHistoryItemRef?.revision;
|
|
130
239
|
this._entries = allItems.map((item, idx) => ({
|
|
131
240
|
item,
|
|
132
241
|
graphRow: graphRows[idx],
|
|
242
|
+
isCurrent: currentRevision !== undefined && item.id === currentRevision,
|
|
133
243
|
}));
|
|
134
244
|
}
|
|
135
245
|
catch (err) {
|
|
136
246
|
if (!token.isCancellationRequested) {
|
|
137
|
-
|
|
247
|
+
this.logger.error('Failed to load history', err);
|
|
138
248
|
}
|
|
139
249
|
}
|
|
140
250
|
finally {
|
|
@@ -145,12 +255,38 @@ let ScmHistoryGraphModel = class ScmHistoryGraphModel {
|
|
|
145
255
|
}
|
|
146
256
|
}
|
|
147
257
|
}
|
|
258
|
+
/** The configured page size (`scm.graph.pageSize`). */
|
|
259
|
+
get pageSize() {
|
|
260
|
+
return this.scmPreferences['scm.graph.pageSize'] ?? exports.PAGE_SIZE;
|
|
261
|
+
}
|
|
148
262
|
/**
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
263
|
+
* Resolves the ref-based color index of an item from its references,
|
|
264
|
+
* preferring current (0) over remote (1) over base (2). Refs excluded by
|
|
265
|
+
* an explicit filter get no role color, mirroring VS Code's color map.
|
|
266
|
+
*/
|
|
267
|
+
resolveColorIndex(item) {
|
|
268
|
+
let result;
|
|
269
|
+
for (const ref of item.references ?? []) {
|
|
270
|
+
if (this._historyItemRefFilter && !this._historyItemRefFilter.includes(ref.id)) {
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
const index = (0, scm_history_graph_helpers_1.getRefColorIndex)(ref, this._provider);
|
|
274
|
+
if (index !== undefined && (result === undefined || index < result)) {
|
|
275
|
+
result = index;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return result;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Returns the refs to pass to `provideHistoryItems`: the explicitly picked
|
|
282
|
+
* ref ids when a filter is active, otherwise (auto mode) the revisions of
|
|
283
|
+
* the current branch ref, its remote tracking ref, and the merge-base ref.
|
|
284
|
+
* Providers walk history starting from these refs.
|
|
152
285
|
*/
|
|
153
286
|
getCurrentHistoryItemRefs() {
|
|
287
|
+
if (this._historyItemRefFilter) {
|
|
288
|
+
return [...this._historyItemRefFilter];
|
|
289
|
+
}
|
|
154
290
|
if (!this._provider) {
|
|
155
291
|
return [];
|
|
156
292
|
}
|
|
@@ -172,6 +308,15 @@ tslib_1.__decorate([
|
|
|
172
308
|
(0, inversify_1.inject)(scm_service_1.ScmService),
|
|
173
309
|
tslib_1.__metadata("design:type", scm_service_1.ScmService)
|
|
174
310
|
], ScmHistoryGraphModel.prototype, "scmService", void 0);
|
|
311
|
+
tslib_1.__decorate([
|
|
312
|
+
(0, inversify_1.inject)(scm_preferences_1.ScmPreferences),
|
|
313
|
+
tslib_1.__metadata("design:type", Object)
|
|
314
|
+
], ScmHistoryGraphModel.prototype, "scmPreferences", void 0);
|
|
315
|
+
tslib_1.__decorate([
|
|
316
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
317
|
+
(0, inversify_1.named)('scm:ScmHistoryGraphModel'),
|
|
318
|
+
tslib_1.__metadata("design:type", Object)
|
|
319
|
+
], ScmHistoryGraphModel.prototype, "logger", void 0);
|
|
175
320
|
tslib_1.__decorate([
|
|
176
321
|
(0, inversify_1.postConstruct)(),
|
|
177
322
|
tslib_1.__metadata("design:type", Function),
|