gitx.do 0.0.2 → 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 +1 -1
package/dist/ops/blame.js
CHANGED
|
@@ -1,15 +1,53 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Git Blame Algorithm
|
|
2
|
+
* @fileoverview Git Blame Algorithm
|
|
3
3
|
*
|
|
4
4
|
* This module provides functionality for attributing each line of a file
|
|
5
|
-
* to the commit that last modified it.
|
|
5
|
+
* to the commit that last modified it. It implements a blame algorithm
|
|
6
|
+
* similar to Git's native blame command.
|
|
7
|
+
*
|
|
8
|
+
* ## Features
|
|
9
|
+
*
|
|
10
|
+
* - Line-by-line commit attribution
|
|
11
|
+
* - Rename tracking across commits
|
|
12
|
+
* - Line range filtering
|
|
13
|
+
* - Whitespace-insensitive comparison
|
|
14
|
+
* - Date range filtering
|
|
15
|
+
* - Commit exclusion (ignore revisions)
|
|
16
|
+
* - Binary file detection
|
|
17
|
+
* - Porcelain and human-readable output formats
|
|
18
|
+
*
|
|
19
|
+
* ## Usage Example
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { blame, formatBlame } from './ops/blame'
|
|
23
|
+
*
|
|
24
|
+
* // Get blame information for a file
|
|
25
|
+
* const result = await blame(storage, 'src/main.ts', 'HEAD', {
|
|
26
|
+
* followRenames: true,
|
|
27
|
+
* ignoreWhitespace: true
|
|
28
|
+
* })
|
|
29
|
+
*
|
|
30
|
+
* // Format for display
|
|
31
|
+
* const output = formatBlame(result, { showLineNumbers: true })
|
|
32
|
+
* console.log(output)
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @module ops/blame
|
|
6
36
|
*/
|
|
7
37
|
// ============================================================================
|
|
8
38
|
// Helper Functions
|
|
9
39
|
// ============================================================================
|
|
10
40
|
const decoder = new TextDecoder();
|
|
11
41
|
/**
|
|
12
|
-
*
|
|
42
|
+
* Checks if content is likely binary (contains null bytes).
|
|
43
|
+
*
|
|
44
|
+
* Uses a heuristic similar to Git's binary detection:
|
|
45
|
+
* checks the first 8000 bytes for null characters.
|
|
46
|
+
*
|
|
47
|
+
* @param data - The content to check
|
|
48
|
+
* @returns True if the content appears to be binary
|
|
49
|
+
*
|
|
50
|
+
* @internal
|
|
13
51
|
*/
|
|
14
52
|
function isBinaryContent(data) {
|
|
15
53
|
// Check first 8000 bytes or entire file if smaller
|
|
@@ -22,7 +60,15 @@ function isBinaryContent(data) {
|
|
|
22
60
|
return false;
|
|
23
61
|
}
|
|
24
62
|
/**
|
|
25
|
-
*
|
|
63
|
+
* Splits content into lines, handling various line ending styles.
|
|
64
|
+
*
|
|
65
|
+
* Handles both Unix (\n) and Windows (\r\n) line endings,
|
|
66
|
+
* normalizing output to not include trailing carriage returns.
|
|
67
|
+
*
|
|
68
|
+
* @param content - The string content to split
|
|
69
|
+
* @returns Array of lines (without line terminators)
|
|
70
|
+
*
|
|
71
|
+
* @internal
|
|
26
72
|
*/
|
|
27
73
|
function splitLines(content) {
|
|
28
74
|
if (content === '')
|
|
@@ -37,7 +83,13 @@ function splitLines(content) {
|
|
|
37
83
|
return lines.map(line => line.replace(/\r$/, ''));
|
|
38
84
|
}
|
|
39
85
|
/**
|
|
40
|
-
*
|
|
86
|
+
* Normalizes a line for comparison (optionally ignoring whitespace).
|
|
87
|
+
*
|
|
88
|
+
* @param line - The line to normalize
|
|
89
|
+
* @param ignoreWhitespace - Whether to normalize whitespace
|
|
90
|
+
* @returns The normalized line
|
|
91
|
+
*
|
|
92
|
+
* @internal
|
|
41
93
|
*/
|
|
42
94
|
function normalizeLine(line, ignoreWhitespace) {
|
|
43
95
|
if (ignoreWhitespace) {
|
|
@@ -46,7 +98,16 @@ function normalizeLine(line, ignoreWhitespace) {
|
|
|
46
98
|
return line;
|
|
47
99
|
}
|
|
48
100
|
/**
|
|
49
|
-
*
|
|
101
|
+
* Gets file content at a specific path within a commit.
|
|
102
|
+
*
|
|
103
|
+
* Handles nested paths by traversing the tree structure.
|
|
104
|
+
*
|
|
105
|
+
* @param storage - The storage interface
|
|
106
|
+
* @param commit - The commit object
|
|
107
|
+
* @param path - The file path to retrieve
|
|
108
|
+
* @returns The file content, or null if not found
|
|
109
|
+
*
|
|
110
|
+
* @internal
|
|
50
111
|
*/
|
|
51
112
|
async function getFileAtPath(storage, commit, path) {
|
|
52
113
|
// Try the direct storage method first
|
|
@@ -77,8 +138,17 @@ async function getFileAtPath(storage, commit, path) {
|
|
|
77
138
|
return null;
|
|
78
139
|
}
|
|
79
140
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
141
|
+
* Computes line mapping between two file versions using LCS algorithm.
|
|
142
|
+
*
|
|
143
|
+
* Returns a mapping of (oldLineIndex -> newLineIndex) for unchanged lines,
|
|
144
|
+
* enabling tracking of line movements between versions.
|
|
145
|
+
*
|
|
146
|
+
* @param oldLines - Lines from the older version
|
|
147
|
+
* @param newLines - Lines from the newer version
|
|
148
|
+
* @param ignoreWhitespace - Whether to ignore whitespace differences
|
|
149
|
+
* @returns Map of old line indices to new line indices
|
|
150
|
+
*
|
|
151
|
+
* @internal
|
|
82
152
|
*/
|
|
83
153
|
function computeLineMapping(oldLines, newLines, ignoreWhitespace = false) {
|
|
84
154
|
// Build a map of unchanged line positions
|
|
@@ -122,7 +192,18 @@ function computeLineMapping(oldLines, newLines, ignoreWhitespace = false) {
|
|
|
122
192
|
return mapping;
|
|
123
193
|
}
|
|
124
194
|
/**
|
|
125
|
-
*
|
|
195
|
+
* Parses a line range specification (git-style -L option).
|
|
196
|
+
*
|
|
197
|
+
* Supports multiple formats:
|
|
198
|
+
* - "start,end": Explicit line range
|
|
199
|
+
* - "start,+offset": Relative offset from start
|
|
200
|
+
* - "/pattern1/,/pattern2/": Regex-based range
|
|
201
|
+
*
|
|
202
|
+
* @param lineRange - The range specification string
|
|
203
|
+
* @param lines - The file content lines (for pattern matching)
|
|
204
|
+
* @returns Object with start and end line numbers (1-indexed)
|
|
205
|
+
*
|
|
206
|
+
* @internal
|
|
126
207
|
*/
|
|
127
208
|
function parseLineRange(lineRange, lines) {
|
|
128
209
|
const totalLines = lines.length;
|
|
@@ -164,7 +245,16 @@ function parseLineRange(lineRange, lines) {
|
|
|
164
245
|
return { start, end };
|
|
165
246
|
}
|
|
166
247
|
/**
|
|
167
|
-
*
|
|
248
|
+
* Calculates similarity between two strings (0-1).
|
|
249
|
+
*
|
|
250
|
+
* Uses line-based comparison with the LCS algorithm to determine
|
|
251
|
+
* what percentage of lines are shared between the two versions.
|
|
252
|
+
*
|
|
253
|
+
* @param a - First string
|
|
254
|
+
* @param b - Second string
|
|
255
|
+
* @returns Similarity score from 0 to 1
|
|
256
|
+
*
|
|
257
|
+
* @internal
|
|
168
258
|
*/
|
|
169
259
|
function calculateSimilarity(a, b) {
|
|
170
260
|
if (a === b)
|
|
@@ -187,7 +277,48 @@ function calculateSimilarity(a, b) {
|
|
|
187
277
|
// Main Functions
|
|
188
278
|
// ============================================================================
|
|
189
279
|
/**
|
|
190
|
-
*
|
|
280
|
+
* Computes blame for a file at a specific commit.
|
|
281
|
+
*
|
|
282
|
+
* Traverses commit history to attribute each line of the file to the
|
|
283
|
+
* commit that last modified it. Supports various options for filtering
|
|
284
|
+
* and tracking behavior.
|
|
285
|
+
*
|
|
286
|
+
* @description
|
|
287
|
+
* The blame algorithm works by:
|
|
288
|
+
* 1. Starting at the specified commit and getting the file content
|
|
289
|
+
* 2. Initially attributing all lines to the starting commit
|
|
290
|
+
* 3. Walking backwards through commit history
|
|
291
|
+
* 4. For each parent commit, computing line mappings using LCS
|
|
292
|
+
* 5. Re-attributing lines that exist unchanged in the parent
|
|
293
|
+
* 6. Continuing until all lines are attributed or history is exhausted
|
|
294
|
+
*
|
|
295
|
+
* @param storage - The storage interface for accessing Git objects
|
|
296
|
+
* @param path - The file path to blame
|
|
297
|
+
* @param commit - The commit SHA to start from
|
|
298
|
+
* @param options - Optional blame configuration
|
|
299
|
+
* @returns The blame result with line attributions
|
|
300
|
+
*
|
|
301
|
+
* @throws {Error} If the commit is not found
|
|
302
|
+
* @throws {Error} If the file is not found at the specified commit
|
|
303
|
+
* @throws {Error} If the file is binary
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```typescript
|
|
307
|
+
* // Basic blame
|
|
308
|
+
* const result = await blame(storage, 'src/main.ts', 'abc123')
|
|
309
|
+
*
|
|
310
|
+
* // Blame with options
|
|
311
|
+
* const result = await blame(storage, 'README.md', 'HEAD', {
|
|
312
|
+
* followRenames: true,
|
|
313
|
+
* maxCommits: 500,
|
|
314
|
+
* ignoreWhitespace: true
|
|
315
|
+
* })
|
|
316
|
+
*
|
|
317
|
+
* // Blame specific line range
|
|
318
|
+
* const result = await blame(storage, 'config.json', 'main', {
|
|
319
|
+
* lineRange: '10,20'
|
|
320
|
+
* })
|
|
321
|
+
* ```
|
|
191
322
|
*/
|
|
192
323
|
export async function blame(storage, path, commit, options) {
|
|
193
324
|
const opts = options ?? {};
|
|
@@ -400,13 +531,42 @@ export async function blame(storage, path, commit, options) {
|
|
|
400
531
|
};
|
|
401
532
|
}
|
|
402
533
|
/**
|
|
403
|
-
* Alias for blame - get full file blame
|
|
534
|
+
* Alias for blame - get full file blame.
|
|
535
|
+
*
|
|
536
|
+
* This function is identical to `blame` and exists for API compatibility.
|
|
537
|
+
*
|
|
538
|
+
* @param storage - The storage interface
|
|
539
|
+
* @param path - The file path to blame
|
|
540
|
+
* @param commit - The commit SHA to start from
|
|
541
|
+
* @param options - Optional blame configuration
|
|
542
|
+
* @returns The blame result
|
|
543
|
+
*
|
|
544
|
+
* @see {@link blame} for full documentation
|
|
404
545
|
*/
|
|
405
546
|
export async function blameFile(storage, path, commit, options) {
|
|
406
547
|
return blame(storage, path, commit, options);
|
|
407
548
|
}
|
|
408
549
|
/**
|
|
409
|
-
*
|
|
550
|
+
* Gets blame information for a specific line.
|
|
551
|
+
*
|
|
552
|
+
* Convenience function that performs a full blame and extracts
|
|
553
|
+
* the information for a single line.
|
|
554
|
+
*
|
|
555
|
+
* @param storage - The storage interface
|
|
556
|
+
* @param path - The file path
|
|
557
|
+
* @param lineNumber - The line number (1-indexed)
|
|
558
|
+
* @param commit - The commit SHA
|
|
559
|
+
* @param options - Optional blame configuration
|
|
560
|
+
* @returns Blame information for the specified line
|
|
561
|
+
*
|
|
562
|
+
* @throws {Error} If lineNumber is less than 1
|
|
563
|
+
* @throws {Error} If lineNumber exceeds file length
|
|
564
|
+
*
|
|
565
|
+
* @example
|
|
566
|
+
* ```typescript
|
|
567
|
+
* const lineInfo = await blameLine(storage, 'src/main.ts', 42, 'HEAD')
|
|
568
|
+
* console.log(`Line 42 was last modified by ${lineInfo.author}`)
|
|
569
|
+
* ```
|
|
410
570
|
*/
|
|
411
571
|
export async function blameLine(storage, path, lineNumber, commit, options) {
|
|
412
572
|
if (lineNumber < 1) {
|
|
@@ -419,7 +579,28 @@ export async function blameLine(storage, path, lineNumber, commit, options) {
|
|
|
419
579
|
return result.lines[lineNumber - 1];
|
|
420
580
|
}
|
|
421
581
|
/**
|
|
422
|
-
*
|
|
582
|
+
* Gets blame for a specific line range.
|
|
583
|
+
*
|
|
584
|
+
* More efficient than using the lineRange option when you know
|
|
585
|
+
* the exact numeric range you want.
|
|
586
|
+
*
|
|
587
|
+
* @param storage - The storage interface
|
|
588
|
+
* @param path - The file path
|
|
589
|
+
* @param startLine - Starting line number (1-indexed, inclusive)
|
|
590
|
+
* @param endLine - Ending line number (1-indexed, inclusive)
|
|
591
|
+
* @param commit - The commit SHA
|
|
592
|
+
* @param options - Optional blame configuration
|
|
593
|
+
* @returns Blame result for the specified range
|
|
594
|
+
*
|
|
595
|
+
* @throws {Error} If startLine is less than 1
|
|
596
|
+
* @throws {Error} If endLine is less than startLine
|
|
597
|
+
* @throws {Error} If endLine exceeds file length
|
|
598
|
+
*
|
|
599
|
+
* @example
|
|
600
|
+
* ```typescript
|
|
601
|
+
* // Get blame for lines 10-20
|
|
602
|
+
* const result = await blameRange(storage, 'file.ts', 10, 20, 'HEAD')
|
|
603
|
+
* ```
|
|
423
604
|
*/
|
|
424
605
|
export async function blameRange(storage, path, startLine, endLine, commit, options) {
|
|
425
606
|
if (startLine < 1) {
|
|
@@ -440,13 +621,43 @@ export async function blameRange(storage, path, startLine, endLine, commit, opti
|
|
|
440
621
|
};
|
|
441
622
|
}
|
|
442
623
|
/**
|
|
443
|
-
*
|
|
624
|
+
* Gets blame at a specific historical commit.
|
|
625
|
+
*
|
|
626
|
+
* Alias for `blame` - provided for semantic clarity when you want
|
|
627
|
+
* to emphasize you're looking at a specific point in history.
|
|
628
|
+
*
|
|
629
|
+
* @param storage - The storage interface
|
|
630
|
+
* @param path - The file path
|
|
631
|
+
* @param commit - The commit SHA
|
|
632
|
+
* @param options - Optional blame configuration
|
|
633
|
+
* @returns The blame result
|
|
634
|
+
*
|
|
635
|
+
* @see {@link blame} for full documentation
|
|
444
636
|
*/
|
|
445
637
|
export async function getBlameForCommit(storage, path, commit, options) {
|
|
446
638
|
return blame(storage, path, commit, options);
|
|
447
639
|
}
|
|
448
640
|
/**
|
|
449
|
-
*
|
|
641
|
+
* Tracks file path across renames through history.
|
|
642
|
+
*
|
|
643
|
+
* Walks through commit history and records each path the file
|
|
644
|
+
* had at different points in time.
|
|
645
|
+
*
|
|
646
|
+
* @param storage - The storage interface
|
|
647
|
+
* @param path - Current file path
|
|
648
|
+
* @param commit - Starting commit SHA
|
|
649
|
+
* @param _options - Unused options parameter (reserved for future use)
|
|
650
|
+
* @returns Array of path history entries, newest first
|
|
651
|
+
*
|
|
652
|
+
* @example
|
|
653
|
+
* ```typescript
|
|
654
|
+
* const history = await trackContentAcrossRenames(storage, 'src/new-name.ts', 'HEAD')
|
|
655
|
+
* // history might contain:
|
|
656
|
+
* // [
|
|
657
|
+
* // { commit: 'abc123', path: 'src/new-name.ts' },
|
|
658
|
+
* // { commit: 'def456', path: 'src/old-name.ts' }
|
|
659
|
+
* // ]
|
|
660
|
+
* ```
|
|
450
661
|
*/
|
|
451
662
|
export async function trackContentAcrossRenames(storage, path, commit, _options) {
|
|
452
663
|
const history = [];
|
|
@@ -471,7 +682,28 @@ export async function trackContentAcrossRenames(storage, path, commit, _options)
|
|
|
471
682
|
return history;
|
|
472
683
|
}
|
|
473
684
|
/**
|
|
474
|
-
*
|
|
685
|
+
* Detects file renames between two commits.
|
|
686
|
+
*
|
|
687
|
+
* Compares two commits to find files that were renamed based on
|
|
688
|
+
* SHA matching (exact renames) and content similarity (renames with modifications).
|
|
689
|
+
*
|
|
690
|
+
* @param storage - The storage interface
|
|
691
|
+
* @param fromCommit - The older commit SHA
|
|
692
|
+
* @param toCommit - The newer commit SHA
|
|
693
|
+
* @param options - Configuration options
|
|
694
|
+
* @param options.threshold - Similarity threshold (0-1) for content-based detection
|
|
695
|
+
* @returns Map of old paths to new paths for detected renames
|
|
696
|
+
*
|
|
697
|
+
* @example
|
|
698
|
+
* ```typescript
|
|
699
|
+
* const renames = await detectRenames(storage, 'abc123', 'def456', {
|
|
700
|
+
* threshold: 0.5
|
|
701
|
+
* })
|
|
702
|
+
*
|
|
703
|
+
* for (const [oldPath, newPath] of renames) {
|
|
704
|
+
* console.log(`${oldPath} -> ${newPath}`)
|
|
705
|
+
* }
|
|
706
|
+
* ```
|
|
475
707
|
*/
|
|
476
708
|
export async function detectRenames(storage, fromCommit, toCommit, options) {
|
|
477
709
|
const threshold = options?.threshold ?? 0.5;
|
|
@@ -557,7 +789,26 @@ export async function detectRenames(storage, fromCommit, toCommit, options) {
|
|
|
557
789
|
return renames;
|
|
558
790
|
}
|
|
559
791
|
/**
|
|
560
|
-
*
|
|
792
|
+
* Builds complete blame history for a specific line.
|
|
793
|
+
*
|
|
794
|
+
* Tracks a single line through history, recording its content
|
|
795
|
+
* at each commit where it existed.
|
|
796
|
+
*
|
|
797
|
+
* @param storage - The storage interface
|
|
798
|
+
* @param path - The file path
|
|
799
|
+
* @param lineNumber - The line number to track (1-indexed)
|
|
800
|
+
* @param commit - Starting commit SHA
|
|
801
|
+
* @param options - Optional blame configuration
|
|
802
|
+
* @returns Array of history entries, newest first
|
|
803
|
+
*
|
|
804
|
+
* @example
|
|
805
|
+
* ```typescript
|
|
806
|
+
* const history = await buildBlameHistory(storage, 'main.ts', 10, 'HEAD')
|
|
807
|
+
*
|
|
808
|
+
* for (const entry of history) {
|
|
809
|
+
* console.log(`${entry.commitSha}: ${entry.content}`)
|
|
810
|
+
* }
|
|
811
|
+
* ```
|
|
561
812
|
*/
|
|
562
813
|
export async function buildBlameHistory(storage, path, lineNumber, commit, options) {
|
|
563
814
|
const history = [];
|
|
@@ -631,7 +882,27 @@ export async function buildBlameHistory(storage, path, lineNumber, commit, optio
|
|
|
631
882
|
return history;
|
|
632
883
|
}
|
|
633
884
|
/**
|
|
634
|
-
*
|
|
885
|
+
* Formats blame result for display.
|
|
886
|
+
*
|
|
887
|
+
* Converts a BlameResult into a human-readable or machine-parseable string format.
|
|
888
|
+
*
|
|
889
|
+
* @param result - The blame result to format
|
|
890
|
+
* @param options - Formatting options
|
|
891
|
+
* @returns Formatted string output
|
|
892
|
+
*
|
|
893
|
+
* @example
|
|
894
|
+
* ```typescript
|
|
895
|
+
* const result = await blame(storage, 'main.ts', 'HEAD')
|
|
896
|
+
*
|
|
897
|
+
* // Human-readable format
|
|
898
|
+
* const output = formatBlame(result, {
|
|
899
|
+
* showLineNumbers: true,
|
|
900
|
+
* showDate: true
|
|
901
|
+
* })
|
|
902
|
+
*
|
|
903
|
+
* // Machine-readable format
|
|
904
|
+
* const porcelain = formatBlame(result, { format: 'porcelain' })
|
|
905
|
+
* ```
|
|
635
906
|
*/
|
|
636
907
|
export function formatBlame(result, options) {
|
|
637
908
|
const opts = options ?? {};
|
|
@@ -678,7 +949,19 @@ export function formatBlame(result, options) {
|
|
|
678
949
|
return lines.join('\n');
|
|
679
950
|
}
|
|
680
951
|
/**
|
|
681
|
-
*
|
|
952
|
+
* Parses porcelain blame output back into a BlameResult.
|
|
953
|
+
*
|
|
954
|
+
* Useful for consuming blame output from external sources or
|
|
955
|
+
* for round-trip serialization.
|
|
956
|
+
*
|
|
957
|
+
* @param output - Porcelain format blame output string
|
|
958
|
+
* @returns Parsed blame result
|
|
959
|
+
*
|
|
960
|
+
* @example
|
|
961
|
+
* ```typescript
|
|
962
|
+
* const porcelainOutput = formatBlame(result, { format: 'porcelain' })
|
|
963
|
+
* const parsed = parseBlameOutput(porcelainOutput)
|
|
964
|
+
* ```
|
|
682
965
|
*/
|
|
683
966
|
export function parseBlameOutput(output) {
|
|
684
967
|
const lines = [];
|
package/dist/ops/blame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blame.js","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blame.js","sourceRoot":"","sources":["../../src/ops/blame.ts"],"names":[],"mappings":"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"}
|