gitx.do 0.0.1 → 0.0.3
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/dist/cli/commands/blame.d.ts +259 -0
- package/dist/cli/commands/blame.d.ts.map +1 -0
- package/dist/cli/commands/blame.js +609 -0
- package/dist/cli/commands/blame.js.map +1 -0
- package/dist/cli/commands/branch.d.ts +249 -0
- package/dist/cli/commands/branch.d.ts.map +1 -0
- package/dist/cli/commands/branch.js +693 -0
- package/dist/cli/commands/branch.js.map +1 -0
- package/dist/cli/commands/commit.d.ts +182 -0
- package/dist/cli/commands/commit.d.ts.map +1 -0
- package/dist/cli/commands/commit.js +437 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/diff.d.ts +464 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/diff.js +958 -0
- package/dist/cli/commands/diff.js.map +1 -0
- package/dist/cli/commands/log.d.ts +239 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +535 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/review.d.ts +457 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +533 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/status.d.ts +269 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +493 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/web.d.ts +199 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +696 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/fs-adapter.d.ts +656 -0
- package/dist/cli/fs-adapter.d.ts.map +1 -0
- package/dist/cli/fs-adapter.js +1179 -0
- package/dist/cli/fs-adapter.js.map +1 -0
- package/dist/cli/index.d.ts +387 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +523 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/components/DiffView.d.ts +7 -0
- package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
- package/dist/cli/ui/components/DiffView.js +11 -0
- package/dist/cli/ui/components/DiffView.js.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.js +11 -0
- package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.js +12 -0
- package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.js +10 -0
- package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
- package/dist/cli/ui/components/NavigationList.d.ts +9 -0
- package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
- package/dist/cli/ui/components/NavigationList.js +11 -0
- package/dist/cli/ui/components/NavigationList.js.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.js +11 -0
- package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
- package/dist/cli/ui/components/index.d.ts +7 -0
- package/dist/cli/ui/components/index.d.ts.map +1 -0
- package/dist/cli/ui/components/index.js +9 -0
- package/dist/cli/ui/components/index.js.map +1 -0
- package/dist/cli/ui/terminal-ui.d.ts +52 -0
- package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
- package/dist/cli/ui/terminal-ui.js +121 -0
- package/dist/cli/ui/terminal-ui.js.map +1 -0
- package/dist/durable-object/object-store.d.ts +401 -23
- package/dist/durable-object/object-store.d.ts.map +1 -1
- package/dist/durable-object/object-store.js +414 -25
- package/dist/durable-object/object-store.js.map +1 -1
- package/dist/durable-object/schema.d.ts +188 -0
- package/dist/durable-object/schema.d.ts.map +1 -1
- package/dist/durable-object/schema.js +160 -0
- package/dist/durable-object/schema.js.map +1 -1
- package/dist/durable-object/wal.d.ts +336 -31
- package/dist/durable-object/wal.d.ts.map +1 -1
- package/dist/durable-object/wal.js +272 -27
- package/dist/durable-object/wal.js.map +1 -1
- package/dist/index.d.ts +379 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +379 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/adapter.d.ts +579 -38
- package/dist/mcp/adapter.d.ts.map +1 -1
- package/dist/mcp/adapter.js +426 -33
- package/dist/mcp/adapter.js.map +1 -1
- package/dist/mcp/sandbox.d.ts +532 -29
- package/dist/mcp/sandbox.d.ts.map +1 -1
- package/dist/mcp/sandbox.js +389 -22
- package/dist/mcp/sandbox.js.map +1 -1
- package/dist/mcp/sdk-adapter.d.ts +478 -56
- package/dist/mcp/sdk-adapter.d.ts.map +1 -1
- package/dist/mcp/sdk-adapter.js +346 -44
- package/dist/mcp/sdk-adapter.js.map +1 -1
- package/dist/mcp/tools.d.ts +445 -30
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +363 -33
- package/dist/mcp/tools.js.map +1 -1
- package/dist/ops/blame.d.ts +424 -21
- package/dist/ops/blame.d.ts.map +1 -1
- package/dist/ops/blame.js +303 -20
- package/dist/ops/blame.js.map +1 -1
- package/dist/ops/branch.d.ts +583 -32
- package/dist/ops/branch.d.ts.map +1 -1
- package/dist/ops/branch.js +365 -23
- package/dist/ops/branch.js.map +1 -1
- package/dist/ops/commit-traversal.d.ts +164 -24
- package/dist/ops/commit-traversal.d.ts.map +1 -1
- package/dist/ops/commit-traversal.js +68 -2
- package/dist/ops/commit-traversal.js.map +1 -1
- package/dist/ops/commit.d.ts +387 -53
- package/dist/ops/commit.d.ts.map +1 -1
- package/dist/ops/commit.js +249 -29
- package/dist/ops/commit.js.map +1 -1
- package/dist/ops/merge-base.d.ts +195 -21
- package/dist/ops/merge-base.d.ts.map +1 -1
- package/dist/ops/merge-base.js +122 -12
- package/dist/ops/merge-base.js.map +1 -1
- package/dist/ops/merge.d.ts +600 -130
- package/dist/ops/merge.d.ts.map +1 -1
- package/dist/ops/merge.js +408 -60
- package/dist/ops/merge.js.map +1 -1
- package/dist/ops/tag.d.ts +67 -2
- package/dist/ops/tag.d.ts.map +1 -1
- package/dist/ops/tag.js +42 -1
- package/dist/ops/tag.js.map +1 -1
- package/dist/ops/tree-builder.d.ts +102 -6
- package/dist/ops/tree-builder.d.ts.map +1 -1
- package/dist/ops/tree-builder.js +30 -5
- package/dist/ops/tree-builder.js.map +1 -1
- package/dist/ops/tree-diff.d.ts +50 -2
- package/dist/ops/tree-diff.d.ts.map +1 -1
- package/dist/ops/tree-diff.js +50 -2
- package/dist/ops/tree-diff.js.map +1 -1
- package/dist/pack/delta.d.ts +211 -39
- package/dist/pack/delta.d.ts.map +1 -1
- package/dist/pack/delta.js +232 -46
- package/dist/pack/delta.js.map +1 -1
- package/dist/pack/format.d.ts +390 -28
- package/dist/pack/format.d.ts.map +1 -1
- package/dist/pack/format.js +344 -33
- package/dist/pack/format.js.map +1 -1
- package/dist/pack/full-generation.d.ts +313 -28
- package/dist/pack/full-generation.d.ts.map +1 -1
- package/dist/pack/full-generation.js +238 -19
- package/dist/pack/full-generation.js.map +1 -1
- package/dist/pack/generation.d.ts +346 -23
- package/dist/pack/generation.d.ts.map +1 -1
- package/dist/pack/generation.js +269 -21
- package/dist/pack/generation.js.map +1 -1
- package/dist/pack/index.d.ts +407 -86
- package/dist/pack/index.d.ts.map +1 -1
- package/dist/pack/index.js +351 -70
- package/dist/pack/index.js.map +1 -1
- package/dist/refs/branch.d.ts +517 -71
- package/dist/refs/branch.d.ts.map +1 -1
- package/dist/refs/branch.js +410 -26
- package/dist/refs/branch.js.map +1 -1
- package/dist/refs/storage.d.ts +610 -57
- package/dist/refs/storage.d.ts.map +1 -1
- package/dist/refs/storage.js +481 -29
- package/dist/refs/storage.js.map +1 -1
- package/dist/refs/tag.d.ts +677 -67
- package/dist/refs/tag.d.ts.map +1 -1
- package/dist/refs/tag.js +497 -30
- package/dist/refs/tag.js.map +1 -1
- package/dist/storage/lru-cache.d.ts +556 -53
- package/dist/storage/lru-cache.d.ts.map +1 -1
- package/dist/storage/lru-cache.js +439 -36
- package/dist/storage/lru-cache.js.map +1 -1
- package/dist/storage/object-index.d.ts +483 -38
- package/dist/storage/object-index.d.ts.map +1 -1
- package/dist/storage/object-index.js +388 -22
- package/dist/storage/object-index.js.map +1 -1
- package/dist/storage/r2-pack.d.ts +957 -94
- package/dist/storage/r2-pack.d.ts.map +1 -1
- package/dist/storage/r2-pack.js +756 -48
- package/dist/storage/r2-pack.js.map +1 -1
- package/dist/tiered/cdc-pipeline.d.ts +1610 -38
- package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
- package/dist/tiered/cdc-pipeline.js +1131 -22
- package/dist/tiered/cdc-pipeline.js.map +1 -1
- package/dist/tiered/migration.d.ts +903 -41
- package/dist/tiered/migration.d.ts.map +1 -1
- package/dist/tiered/migration.js +646 -24
- package/dist/tiered/migration.js.map +1 -1
- package/dist/tiered/parquet-writer.d.ts +944 -47
- package/dist/tiered/parquet-writer.d.ts.map +1 -1
- package/dist/tiered/parquet-writer.js +667 -39
- package/dist/tiered/parquet-writer.js.map +1 -1
- package/dist/tiered/read-path.d.ts +728 -34
- package/dist/tiered/read-path.d.ts.map +1 -1
- package/dist/tiered/read-path.js +310 -27
- package/dist/tiered/read-path.js.map +1 -1
- package/dist/types/objects.d.ts +457 -0
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +305 -4
- package/dist/types/objects.js.map +1 -1
- package/dist/types/storage.d.ts +407 -35
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/storage.js +27 -3
- package/dist/types/storage.js.map +1 -1
- package/dist/utils/hash.d.ts +133 -12
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +133 -12
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/sha1.d.ts +102 -9
- package/dist/utils/sha1.d.ts.map +1 -1
- package/dist/utils/sha1.js +114 -11
- package/dist/utils/sha1.js.map +1 -1
- package/dist/wire/capabilities.d.ts +896 -88
- package/dist/wire/capabilities.d.ts.map +1 -1
- package/dist/wire/capabilities.js +566 -62
- package/dist/wire/capabilities.js.map +1 -1
- package/dist/wire/pkt-line.d.ts +293 -15
- package/dist/wire/pkt-line.d.ts.map +1 -1
- package/dist/wire/pkt-line.js +251 -15
- package/dist/wire/pkt-line.js.map +1 -1
- package/dist/wire/receive-pack.d.ts +814 -64
- package/dist/wire/receive-pack.d.ts.map +1 -1
- package/dist/wire/receive-pack.js +542 -41
- package/dist/wire/receive-pack.js.map +1 -1
- package/dist/wire/smart-http.d.ts +575 -97
- package/dist/wire/smart-http.d.ts.map +1 -1
- package/dist/wire/smart-http.js +337 -46
- package/dist/wire/smart-http.js.map +1 -1
- package/dist/wire/upload-pack.d.ts +492 -98
- package/dist/wire/upload-pack.d.ts.map +1 -1
- package/dist/wire/upload-pack.js +347 -59
- package/dist/wire/upload-pack.js.map +1 -1
- package/package.json +10 -2
package/dist/ops/merge-base.d.ts
CHANGED
|
@@ -1,62 +1,179 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Merge Base Finding Operations
|
|
2
|
+
* @fileoverview Merge Base Finding Operations
|
|
3
3
|
*
|
|
4
4
|
* Provides functionality for finding merge bases between commits,
|
|
5
5
|
* which is essential for merge operations, rebasing, and understanding
|
|
6
6
|
* branch relationships in the commit graph.
|
|
7
7
|
*
|
|
8
|
+
* ## What is a Merge Base?
|
|
9
|
+
*
|
|
8
10
|
* A merge base is the best common ancestor(s) of two or more commits.
|
|
9
11
|
* The "best" common ancestor is one that is not an ancestor of any
|
|
10
12
|
* other common ancestor (i.e., a maximal common ancestor).
|
|
13
|
+
*
|
|
14
|
+
* ## Features
|
|
15
|
+
*
|
|
16
|
+
* - Find merge base(s) between two commits
|
|
17
|
+
* - Find merge bases for multiple commits (octopus merge)
|
|
18
|
+
* - Fork point detection
|
|
19
|
+
* - Ancestor relationship checking
|
|
20
|
+
* - Independent commit detection
|
|
21
|
+
* - Recursive merge base computation
|
|
22
|
+
*
|
|
23
|
+
* ## Usage Example
|
|
24
|
+
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { findMergeBase, isAncestor } from './ops/merge-base'
|
|
27
|
+
*
|
|
28
|
+
* // Find the merge base between two branches
|
|
29
|
+
* const result = await findMergeBase(provider, [branchA, branchB])
|
|
30
|
+
* if (result.hasCommonHistory) {
|
|
31
|
+
* console.log('Merge base:', result.bases[0])
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* // Check if one commit is an ancestor of another
|
|
35
|
+
* const isOld = await isAncestor(provider, oldCommit, newCommit)
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @module ops/merge-base
|
|
11
39
|
*/
|
|
12
40
|
import type { BasicCommitProvider as CommitProvider } from '../types/storage';
|
|
41
|
+
/**
|
|
42
|
+
* CommitProvider interface for merge base operations.
|
|
43
|
+
* Re-exported from storage types for convenience.
|
|
44
|
+
*/
|
|
13
45
|
export type { CommitProvider };
|
|
14
46
|
/**
|
|
15
|
-
* Result of a merge base operation
|
|
47
|
+
* Result of a merge base operation.
|
|
48
|
+
*
|
|
49
|
+
* Contains the merge base SHA(s) and metadata about the result.
|
|
50
|
+
*
|
|
51
|
+
* @interface MergeBaseResult
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const result = await findMergeBase(provider, [commitA, commitB])
|
|
56
|
+
*
|
|
57
|
+
* if (result.hasCommonHistory) {
|
|
58
|
+
* if (result.isUnique) {
|
|
59
|
+
* console.log('Single merge base:', result.bases[0])
|
|
60
|
+
* } else {
|
|
61
|
+
* console.log('Multiple merge bases (criss-cross):', result.bases)
|
|
62
|
+
* }
|
|
63
|
+
* } else {
|
|
64
|
+
* console.log('No common history (unrelated branches)')
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
16
67
|
*/
|
|
17
68
|
export interface MergeBaseResult {
|
|
18
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* The merge base commit SHA(s).
|
|
71
|
+
* Empty if no common history exists.
|
|
72
|
+
*/
|
|
19
73
|
bases: string[];
|
|
20
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Whether a unique merge base was found.
|
|
76
|
+
* False if multiple merge bases exist (criss-cross merge situation).
|
|
77
|
+
*/
|
|
21
78
|
isUnique: boolean;
|
|
22
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* Whether the commits share any common history.
|
|
81
|
+
* False for unrelated branches (e.g., different repos merged together).
|
|
82
|
+
*/
|
|
23
83
|
hasCommonHistory: boolean;
|
|
24
84
|
/** The number of merge bases found */
|
|
25
85
|
count: number;
|
|
26
86
|
}
|
|
27
87
|
/**
|
|
28
|
-
* Options for merge base finding
|
|
88
|
+
* Options for merge base finding.
|
|
89
|
+
*
|
|
90
|
+
* @interface MergeBaseOptions
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* // Find all merge bases (for criss-cross detection)
|
|
95
|
+
* const result = await findMergeBase(provider, [a, b], { all: true })
|
|
96
|
+
*
|
|
97
|
+
* // Find independent commits from a list
|
|
98
|
+
* const independent = await findMergeBase(provider, commits, { independent: true })
|
|
99
|
+
* ```
|
|
29
100
|
*/
|
|
30
101
|
export interface MergeBaseOptions {
|
|
31
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Return all merge bases instead of just one.
|
|
104
|
+
* Useful for detecting criss-cross merge situations.
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
32
107
|
all?: boolean;
|
|
33
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* Use octopus merge strategy (for >2 commits).
|
|
110
|
+
* Finds a merge base suitable for merging multiple branches.
|
|
111
|
+
* @default false (auto-enabled when >2 commits provided)
|
|
112
|
+
*/
|
|
34
113
|
octopus?: boolean;
|
|
35
|
-
/**
|
|
114
|
+
/**
|
|
115
|
+
* Return independent refs (refs that cannot be reached from each other).
|
|
116
|
+
* Filters the input to only commits that are not ancestors of any other.
|
|
117
|
+
* @default false
|
|
118
|
+
*/
|
|
36
119
|
independent?: boolean;
|
|
37
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Include fork point calculation.
|
|
122
|
+
* Uses reflog information when available for more accurate detection.
|
|
123
|
+
* @default false
|
|
124
|
+
*/
|
|
38
125
|
forkPoint?: boolean;
|
|
39
126
|
}
|
|
40
127
|
/**
|
|
41
|
-
* Result of fork point detection
|
|
128
|
+
* Result of fork point detection.
|
|
129
|
+
*
|
|
130
|
+
* A fork point is where a branch diverged from another branch,
|
|
131
|
+
* taking into account any rebases that may have occurred.
|
|
132
|
+
*
|
|
133
|
+
* @interface ForkPointResult
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const result = await findForkPoint(provider, 'feature', 'main')
|
|
138
|
+
* if (result.found) {
|
|
139
|
+
* console.log(`Feature forked from main at ${result.forkPoint}`)
|
|
140
|
+
* console.log(`${result.commitsSinceFork} commits since then`)
|
|
141
|
+
* }
|
|
142
|
+
* ```
|
|
42
143
|
*/
|
|
43
144
|
export interface ForkPointResult {
|
|
44
|
-
/**
|
|
145
|
+
/**
|
|
146
|
+
* The fork point commit SHA.
|
|
147
|
+
* Null if no fork point could be determined.
|
|
148
|
+
*/
|
|
45
149
|
forkPoint: string | null;
|
|
46
150
|
/** The branch ref that was analyzed */
|
|
47
151
|
ref: string;
|
|
48
152
|
/** Whether the fork point could be determined */
|
|
49
153
|
found: boolean;
|
|
50
|
-
/**
|
|
154
|
+
/** Number of commits on the branch since the fork point */
|
|
51
155
|
commitsSinceFork: number;
|
|
52
156
|
}
|
|
53
157
|
/**
|
|
54
|
-
* Result of ancestor check
|
|
158
|
+
* Result of an ancestor check operation.
|
|
159
|
+
*
|
|
160
|
+
* @interface AncestorCheckResult
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const result = await checkAncestor(provider, oldCommit, newCommit)
|
|
165
|
+
* if (result.isAncestor) {
|
|
166
|
+
* console.log(`${oldCommit} is ${result.distance} commits behind ${newCommit}`)
|
|
167
|
+
* }
|
|
168
|
+
* ```
|
|
55
169
|
*/
|
|
56
170
|
export interface AncestorCheckResult {
|
|
57
171
|
/** Whether the first commit is an ancestor of the second */
|
|
58
172
|
isAncestor: boolean;
|
|
59
|
-
/**
|
|
173
|
+
/**
|
|
174
|
+
* The distance (number of commits) if ancestor, -1 otherwise.
|
|
175
|
+
* A distance of 0 means the commits are the same.
|
|
176
|
+
*/
|
|
60
177
|
distance: number;
|
|
61
178
|
}
|
|
62
179
|
/**
|
|
@@ -150,12 +267,34 @@ export declare function findForkPoint(provider: CommitProvider, ref: string, bas
|
|
|
150
267
|
*/
|
|
151
268
|
export declare function isAncestor(provider: CommitProvider, potentialAncestor: string, commit: string): Promise<boolean>;
|
|
152
269
|
/**
|
|
153
|
-
*
|
|
270
|
+
* Checks ancestor relationship and returns additional information.
|
|
271
|
+
*
|
|
272
|
+
* Unlike `isAncestor`, this function also computes the distance
|
|
273
|
+
* (number of commits) between the two commits if they are related.
|
|
274
|
+
*
|
|
275
|
+
* @description
|
|
276
|
+
* Uses BFS to find the shortest path from `commit` to `potentialAncestor`,
|
|
277
|
+
* which gives the minimum distance between them.
|
|
154
278
|
*
|
|
155
279
|
* @param provider - The commit provider for fetching commits
|
|
156
280
|
* @param potentialAncestor - The commit to check as potential ancestor
|
|
157
281
|
* @param commit - The commit to start walking from
|
|
158
|
-
* @returns Detailed ancestor check result
|
|
282
|
+
* @returns Detailed ancestor check result with distance information
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* ```typescript
|
|
286
|
+
* const result = await checkAncestor(provider, 'abc123', 'def456')
|
|
287
|
+
*
|
|
288
|
+
* if (result.isAncestor) {
|
|
289
|
+
* if (result.distance === 0) {
|
|
290
|
+
* console.log('Same commit')
|
|
291
|
+
* } else {
|
|
292
|
+
* console.log(`abc123 is ${result.distance} commits behind def456`)
|
|
293
|
+
* }
|
|
294
|
+
* } else {
|
|
295
|
+
* console.log('Not an ancestor')
|
|
296
|
+
* }
|
|
297
|
+
* ```
|
|
159
298
|
*/
|
|
160
299
|
export declare function checkAncestor(provider: CommitProvider, potentialAncestor: string, commit: string): Promise<AncestorCheckResult>;
|
|
161
300
|
/**
|
|
@@ -201,23 +340,58 @@ export declare function findOctopusMergeBase(provider: CommitProvider, commits:
|
|
|
201
340
|
*/
|
|
202
341
|
export declare function computeThreeWayMergeBase(provider: CommitProvider, ours: string, theirs: string): Promise<MergeBaseResult>;
|
|
203
342
|
/**
|
|
204
|
-
*
|
|
343
|
+
* Checks if commits have any common history.
|
|
344
|
+
*
|
|
345
|
+
* For multiple commits to share common history, every pair of commits
|
|
346
|
+
* must have at least one common ancestor.
|
|
347
|
+
*
|
|
348
|
+
* @description
|
|
349
|
+
* This is useful for detecting if branches can be merged without
|
|
350
|
+
* creating unrelated histories.
|
|
205
351
|
*
|
|
206
352
|
* @param provider - The commit provider for fetching commits
|
|
207
353
|
* @param commits - List of commit SHAs to check
|
|
208
354
|
* @returns True if all commits share common history
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* const canMerge = await hasCommonHistory(provider, [branchA, branchB, branchC])
|
|
359
|
+
* if (!canMerge) {
|
|
360
|
+
* console.log('Warning: branches have unrelated histories')
|
|
361
|
+
* }
|
|
362
|
+
* ```
|
|
209
363
|
*/
|
|
210
364
|
export declare function hasCommonHistory(provider: CommitProvider, commits: string[]): Promise<boolean>;
|
|
211
365
|
/**
|
|
212
|
-
*
|
|
366
|
+
* Calculates merge base for a recursive merge.
|
|
213
367
|
*
|
|
214
368
|
* When there are multiple merge bases (criss-cross merge situation),
|
|
215
|
-
* this creates a virtual merge base by merging the merge bases.
|
|
369
|
+
* this creates a virtual merge base by recursively merging the merge bases.
|
|
370
|
+
*
|
|
371
|
+
* @description
|
|
372
|
+
* In a criss-cross merge situation, there can be multiple merge bases.
|
|
373
|
+
* The recursive strategy handles this by first finding the merge base
|
|
374
|
+
* of the merge bases, creating a "virtual" common ancestor.
|
|
375
|
+
*
|
|
376
|
+
* This is similar to Git's recursive merge strategy.
|
|
216
377
|
*
|
|
217
378
|
* @param provider - The commit provider for fetching commits
|
|
218
379
|
* @param commit1 - First commit SHA
|
|
219
380
|
* @param commit2 - Second commit SHA
|
|
220
|
-
* @returns The recursive merge base
|
|
381
|
+
* @returns The recursive merge base result
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```typescript
|
|
385
|
+
* // For a criss-cross merge situation:
|
|
386
|
+
* // A---B---C (branch1)
|
|
387
|
+
* // / \ / \
|
|
388
|
+
* // O X (merge)
|
|
389
|
+
* // \ / \ /
|
|
390
|
+
* // D---E---F (branch2)
|
|
391
|
+
*
|
|
392
|
+
* const result = await computeRecursiveMergeBase(provider, 'C', 'F')
|
|
393
|
+
* // Returns a single merge base by recursively merging B and E's common ancestor
|
|
394
|
+
* ```
|
|
221
395
|
*/
|
|
222
396
|
export declare function computeRecursiveMergeBase(provider: CommitProvider, commit1: string, commit2: string): Promise<MergeBaseResult>;
|
|
223
397
|
//# sourceMappingURL=merge-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-base.d.ts","sourceRoot":"","sources":["../../src/ops/merge-base.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"merge-base.d.ts","sourceRoot":"","sources":["../../src/ops/merge-base.ts"],"names":[],"mappings":"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"}
|
package/dist/ops/merge-base.js
CHANGED
|
@@ -1,20 +1,56 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Merge Base Finding Operations
|
|
2
|
+
* @fileoverview Merge Base Finding Operations
|
|
3
3
|
*
|
|
4
4
|
* Provides functionality for finding merge bases between commits,
|
|
5
5
|
* which is essential for merge operations, rebasing, and understanding
|
|
6
6
|
* branch relationships in the commit graph.
|
|
7
7
|
*
|
|
8
|
+
* ## What is a Merge Base?
|
|
9
|
+
*
|
|
8
10
|
* A merge base is the best common ancestor(s) of two or more commits.
|
|
9
11
|
* The "best" common ancestor is one that is not an ancestor of any
|
|
10
12
|
* other common ancestor (i.e., a maximal common ancestor).
|
|
13
|
+
*
|
|
14
|
+
* ## Features
|
|
15
|
+
*
|
|
16
|
+
* - Find merge base(s) between two commits
|
|
17
|
+
* - Find merge bases for multiple commits (octopus merge)
|
|
18
|
+
* - Fork point detection
|
|
19
|
+
* - Ancestor relationship checking
|
|
20
|
+
* - Independent commit detection
|
|
21
|
+
* - Recursive merge base computation
|
|
22
|
+
*
|
|
23
|
+
* ## Usage Example
|
|
24
|
+
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { findMergeBase, isAncestor } from './ops/merge-base'
|
|
27
|
+
*
|
|
28
|
+
* // Find the merge base between two branches
|
|
29
|
+
* const result = await findMergeBase(provider, [branchA, branchB])
|
|
30
|
+
* if (result.hasCommonHistory) {
|
|
31
|
+
* console.log('Merge base:', result.bases[0])
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* // Check if one commit is an ancestor of another
|
|
35
|
+
* const isOld = await isAncestor(provider, oldCommit, newCommit)
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @module ops/merge-base
|
|
11
39
|
*/
|
|
12
40
|
// ============================================================================
|
|
13
41
|
// Helper Functions
|
|
14
42
|
// ============================================================================
|
|
15
43
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
44
|
+
* Gets all ancestors of a commit (including itself).
|
|
45
|
+
*
|
|
46
|
+
* Uses iterative BFS to avoid stack overflow with deep histories.
|
|
47
|
+
* This is the core function used by merge base finding algorithms.
|
|
48
|
+
*
|
|
49
|
+
* @param provider - The commit provider for fetching commits
|
|
50
|
+
* @param sha - The starting commit SHA
|
|
51
|
+
* @returns Set of all ancestor SHAs including the starting commit
|
|
52
|
+
*
|
|
53
|
+
* @internal
|
|
18
54
|
*/
|
|
19
55
|
async function getAncestors(provider, sha) {
|
|
20
56
|
const visited = new Set();
|
|
@@ -38,7 +74,16 @@ async function getAncestors(provider, sha) {
|
|
|
38
74
|
return visited;
|
|
39
75
|
}
|
|
40
76
|
/**
|
|
41
|
-
*
|
|
77
|
+
* Finds all common ancestors of two commits.
|
|
78
|
+
*
|
|
79
|
+
* Computes the intersection of ancestor sets for both commits.
|
|
80
|
+
*
|
|
81
|
+
* @param provider - The commit provider for fetching commits
|
|
82
|
+
* @param sha1 - First commit SHA
|
|
83
|
+
* @param sha2 - Second commit SHA
|
|
84
|
+
* @returns Set of all common ancestor SHAs
|
|
85
|
+
*
|
|
86
|
+
* @internal
|
|
42
87
|
*/
|
|
43
88
|
async function findCommonAncestors(provider, sha1, sha2) {
|
|
44
89
|
const ancestors1 = await getAncestors(provider, sha1);
|
|
@@ -52,8 +97,16 @@ async function findCommonAncestors(provider, sha1, sha2) {
|
|
|
52
97
|
return common;
|
|
53
98
|
}
|
|
54
99
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
100
|
+
* Filters common ancestors to only keep maximal ones.
|
|
101
|
+
*
|
|
102
|
+
* A maximal ancestor is one that is not an ancestor of any other
|
|
103
|
+
* common ancestor. These are the "best" merge bases.
|
|
104
|
+
*
|
|
105
|
+
* @param provider - The commit provider for fetching commits
|
|
106
|
+
* @param commonAncestors - Set of all common ancestors
|
|
107
|
+
* @returns Array of maximal ancestor SHAs (the merge bases)
|
|
108
|
+
*
|
|
109
|
+
* @internal
|
|
57
110
|
*/
|
|
58
111
|
async function filterToMaximalAncestors(provider, commonAncestors) {
|
|
59
112
|
const ancestorsList = Array.from(commonAncestors);
|
|
@@ -355,12 +408,34 @@ export async function isAncestor(provider, potentialAncestor, commit) {
|
|
|
355
408
|
return ancestors.has(potentialAncestor);
|
|
356
409
|
}
|
|
357
410
|
/**
|
|
358
|
-
*
|
|
411
|
+
* Checks ancestor relationship and returns additional information.
|
|
412
|
+
*
|
|
413
|
+
* Unlike `isAncestor`, this function also computes the distance
|
|
414
|
+
* (number of commits) between the two commits if they are related.
|
|
415
|
+
*
|
|
416
|
+
* @description
|
|
417
|
+
* Uses BFS to find the shortest path from `commit` to `potentialAncestor`,
|
|
418
|
+
* which gives the minimum distance between them.
|
|
359
419
|
*
|
|
360
420
|
* @param provider - The commit provider for fetching commits
|
|
361
421
|
* @param potentialAncestor - The commit to check as potential ancestor
|
|
362
422
|
* @param commit - The commit to start walking from
|
|
363
|
-
* @returns Detailed ancestor check result
|
|
423
|
+
* @returns Detailed ancestor check result with distance information
|
|
424
|
+
*
|
|
425
|
+
* @example
|
|
426
|
+
* ```typescript
|
|
427
|
+
* const result = await checkAncestor(provider, 'abc123', 'def456')
|
|
428
|
+
*
|
|
429
|
+
* if (result.isAncestor) {
|
|
430
|
+
* if (result.distance === 0) {
|
|
431
|
+
* console.log('Same commit')
|
|
432
|
+
* } else {
|
|
433
|
+
* console.log(`abc123 is ${result.distance} commits behind def456`)
|
|
434
|
+
* }
|
|
435
|
+
* } else {
|
|
436
|
+
* console.log('Not an ancestor')
|
|
437
|
+
* }
|
|
438
|
+
* ```
|
|
364
439
|
*/
|
|
365
440
|
export async function checkAncestor(provider, potentialAncestor, commit) {
|
|
366
441
|
// Same commit
|
|
@@ -511,11 +586,26 @@ export async function computeThreeWayMergeBase(provider, ours, theirs) {
|
|
|
511
586
|
return findMergeBase(provider, [ours, theirs]);
|
|
512
587
|
}
|
|
513
588
|
/**
|
|
514
|
-
*
|
|
589
|
+
* Checks if commits have any common history.
|
|
590
|
+
*
|
|
591
|
+
* For multiple commits to share common history, every pair of commits
|
|
592
|
+
* must have at least one common ancestor.
|
|
593
|
+
*
|
|
594
|
+
* @description
|
|
595
|
+
* This is useful for detecting if branches can be merged without
|
|
596
|
+
* creating unrelated histories.
|
|
515
597
|
*
|
|
516
598
|
* @param provider - The commit provider for fetching commits
|
|
517
599
|
* @param commits - List of commit SHAs to check
|
|
518
600
|
* @returns True if all commits share common history
|
|
601
|
+
*
|
|
602
|
+
* @example
|
|
603
|
+
* ```typescript
|
|
604
|
+
* const canMerge = await hasCommonHistory(provider, [branchA, branchB, branchC])
|
|
605
|
+
* if (!canMerge) {
|
|
606
|
+
* console.log('Warning: branches have unrelated histories')
|
|
607
|
+
* }
|
|
608
|
+
* ```
|
|
519
609
|
*/
|
|
520
610
|
export async function hasCommonHistory(provider, commits) {
|
|
521
611
|
if (commits.length <= 1) {
|
|
@@ -533,15 +623,35 @@ export async function hasCommonHistory(provider, commits) {
|
|
|
533
623
|
return true;
|
|
534
624
|
}
|
|
535
625
|
/**
|
|
536
|
-
*
|
|
626
|
+
* Calculates merge base for a recursive merge.
|
|
537
627
|
*
|
|
538
628
|
* When there are multiple merge bases (criss-cross merge situation),
|
|
539
|
-
* this creates a virtual merge base by merging the merge bases.
|
|
629
|
+
* this creates a virtual merge base by recursively merging the merge bases.
|
|
630
|
+
*
|
|
631
|
+
* @description
|
|
632
|
+
* In a criss-cross merge situation, there can be multiple merge bases.
|
|
633
|
+
* The recursive strategy handles this by first finding the merge base
|
|
634
|
+
* of the merge bases, creating a "virtual" common ancestor.
|
|
635
|
+
*
|
|
636
|
+
* This is similar to Git's recursive merge strategy.
|
|
540
637
|
*
|
|
541
638
|
* @param provider - The commit provider for fetching commits
|
|
542
639
|
* @param commit1 - First commit SHA
|
|
543
640
|
* @param commit2 - Second commit SHA
|
|
544
|
-
* @returns The recursive merge base
|
|
641
|
+
* @returns The recursive merge base result
|
|
642
|
+
*
|
|
643
|
+
* @example
|
|
644
|
+
* ```typescript
|
|
645
|
+
* // For a criss-cross merge situation:
|
|
646
|
+
* // A---B---C (branch1)
|
|
647
|
+
* // / \ / \
|
|
648
|
+
* // O X (merge)
|
|
649
|
+
* // \ / \ /
|
|
650
|
+
* // D---E---F (branch2)
|
|
651
|
+
*
|
|
652
|
+
* const result = await computeRecursiveMergeBase(provider, 'C', 'F')
|
|
653
|
+
* // Returns a single merge base by recursively merging B and E's common ancestor
|
|
654
|
+
* ```
|
|
545
655
|
*/
|
|
546
656
|
export async function computeRecursiveMergeBase(provider, commit1, commit2) {
|
|
547
657
|
const allBases = await findAllMergeBases(provider, commit1, commit2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-base.js","sourceRoot":"","sources":["../../src/ops/merge-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"merge-base.js","sourceRoot":"","sources":["../../src/ops/merge-base.ts"],"names":[],"mappings":"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"}
|