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/pack/generation.js
CHANGED
|
@@ -1,12 +1,55 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Git Packfile Generation
|
|
3
|
-
*
|
|
4
|
-
* This module provides packfile generation capabilities
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
2
|
+
* @fileoverview Git Packfile Generation
|
|
3
|
+
*
|
|
4
|
+
* This module provides comprehensive packfile generation capabilities for creating
|
|
5
|
+
* Git packfiles programmatically. It supports both full object storage and delta
|
|
6
|
+
* compression for efficient packing.
|
|
7
|
+
*
|
|
8
|
+
* ## Features
|
|
9
|
+
*
|
|
10
|
+
* - **Full Object Packing**: Store objects without delta compression
|
|
11
|
+
* - **Delta Compression**: Automatic OFS_DELTA generation for similar objects
|
|
12
|
+
* - **REF_DELTA Support**: Reference-based deltas for thin packs
|
|
13
|
+
* - **Configurable Options**: Control delta depth, window size, compression level
|
|
14
|
+
* - **Thin Pack Generation**: Create packs that reference external objects
|
|
15
|
+
*
|
|
16
|
+
* ## Pack Structure
|
|
17
|
+
*
|
|
18
|
+
* Generated packfiles follow the Git packfile v2 format:
|
|
19
|
+
* - 12-byte header (signature + version + object count)
|
|
20
|
+
* - Sequence of packed objects (header + compressed data)
|
|
21
|
+
* - 20-byte SHA-1 trailer
|
|
22
|
+
*
|
|
23
|
+
* ## Delta Compression
|
|
24
|
+
*
|
|
25
|
+
* When enabled, the generator uses a sliding window approach to find similar
|
|
26
|
+
* objects and create delta chains. OFS_DELTA is preferred as it's more efficient
|
|
27
|
+
* than REF_DELTA for local storage.
|
|
28
|
+
*
|
|
29
|
+
* @module pack/generation
|
|
30
|
+
* @see {@link https://git-scm.com/docs/pack-format} Git Pack Format Documentation
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Simple packfile generation
|
|
34
|
+
* import { generatePackfile, PackableObject, PackObjectType } from './generation';
|
|
35
|
+
*
|
|
36
|
+
* const objects: PackableObject[] = [
|
|
37
|
+
* { sha: 'abc123...', type: PackObjectType.OBJ_BLOB, data: blobData }
|
|
38
|
+
* ];
|
|
39
|
+
* const packfile = generatePackfile(objects);
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* // Using PackfileGenerator with options
|
|
43
|
+
* import { PackfileGenerator, PackObjectType } from './generation';
|
|
44
|
+
*
|
|
45
|
+
* const generator = new PackfileGenerator({
|
|
46
|
+
* enableDeltaCompression: true,
|
|
47
|
+
* maxDeltaDepth: 50,
|
|
48
|
+
* windowSize: 10
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* generator.addObject({ sha: '...', type: PackObjectType.OBJ_BLOB, data: ... });
|
|
52
|
+
* const result = generator.generate();
|
|
10
53
|
*/
|
|
11
54
|
import pako from 'pako';
|
|
12
55
|
import { PackObjectType, encodeTypeAndSize } from './format';
|
|
@@ -16,13 +59,29 @@ import { sha1 } from '../utils/sha1';
|
|
|
16
59
|
// Helper Functions
|
|
17
60
|
// ============================================================================
|
|
18
61
|
/**
|
|
19
|
-
*
|
|
62
|
+
* Computes the SHA-1 checksum of pack content.
|
|
63
|
+
*
|
|
64
|
+
* @description Calculates the 20-byte SHA-1 hash that serves as the pack's
|
|
65
|
+
* checksum/trailer. This checksum is appended to the pack and also used
|
|
66
|
+
* in the corresponding .idx file.
|
|
67
|
+
*
|
|
68
|
+
* @param {Uint8Array} data - The pack data to checksum
|
|
69
|
+
* @returns {Uint8Array} 20-byte SHA-1 checksum
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* const packWithoutChecksum = generatePackContent(objects);
|
|
73
|
+
* const checksum = computePackChecksum(packWithoutChecksum);
|
|
74
|
+
* // Append checksum to create complete packfile
|
|
20
75
|
*/
|
|
21
76
|
export function computePackChecksum(data) {
|
|
22
77
|
return sha1(data);
|
|
23
78
|
}
|
|
24
79
|
/**
|
|
25
|
-
*
|
|
80
|
+
* Creates the 12-byte pack file header.
|
|
81
|
+
*
|
|
82
|
+
* @param {number} objectCount - Number of objects in the pack
|
|
83
|
+
* @returns {Uint8Array} 12-byte header (signature + version + count)
|
|
84
|
+
* @internal
|
|
26
85
|
*/
|
|
27
86
|
function createPackHeader(objectCount) {
|
|
28
87
|
const header = new Uint8Array(12);
|
|
@@ -44,8 +103,14 @@ function createPackHeader(objectCount) {
|
|
|
44
103
|
return header;
|
|
45
104
|
}
|
|
46
105
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
106
|
+
* Encodes an offset for OFS_DELTA using Git's variable-length format.
|
|
107
|
+
*
|
|
108
|
+
* @description Uses a special encoding where each byte after the first
|
|
109
|
+
* must subtract 1 before shifting to avoid ambiguity.
|
|
110
|
+
*
|
|
111
|
+
* @param {number} offset - The byte offset to encode
|
|
112
|
+
* @returns {Uint8Array} Encoded offset bytes
|
|
113
|
+
* @internal
|
|
49
114
|
*/
|
|
50
115
|
function encodeOffset(offset) {
|
|
51
116
|
const bytes = [];
|
|
@@ -62,7 +127,11 @@ function encodeOffset(offset) {
|
|
|
62
127
|
return new Uint8Array(bytes);
|
|
63
128
|
}
|
|
64
129
|
/**
|
|
65
|
-
*
|
|
130
|
+
* Converts a hexadecimal string to bytes.
|
|
131
|
+
*
|
|
132
|
+
* @param {string} hex - Hex string to convert
|
|
133
|
+
* @returns {Uint8Array} Decoded bytes
|
|
134
|
+
* @internal
|
|
66
135
|
*/
|
|
67
136
|
function hexToBytes(hex) {
|
|
68
137
|
const bytes = new Uint8Array(hex.length / 2);
|
|
@@ -72,7 +141,11 @@ function hexToBytes(hex) {
|
|
|
72
141
|
return bytes;
|
|
73
142
|
}
|
|
74
143
|
/**
|
|
75
|
-
*
|
|
144
|
+
* Concatenates multiple Uint8Arrays into one.
|
|
145
|
+
*
|
|
146
|
+
* @param {Uint8Array[]} arrays - Arrays to concatenate
|
|
147
|
+
* @returns {Uint8Array} Combined array
|
|
148
|
+
* @internal
|
|
76
149
|
*/
|
|
77
150
|
function concatArrays(arrays) {
|
|
78
151
|
let totalLength = 0;
|
|
@@ -88,7 +161,15 @@ function concatArrays(arrays) {
|
|
|
88
161
|
return result;
|
|
89
162
|
}
|
|
90
163
|
/**
|
|
91
|
-
*
|
|
164
|
+
* Calculates similarity between two byte arrays using hash-based comparison.
|
|
165
|
+
*
|
|
166
|
+
* @description Uses a simple approach: counts matching 4-byte sequences between
|
|
167
|
+
* the arrays. For small arrays, falls back to byte-by-byte comparison.
|
|
168
|
+
*
|
|
169
|
+
* @param {Uint8Array} a - First byte array
|
|
170
|
+
* @param {Uint8Array} b - Second byte array
|
|
171
|
+
* @returns {number} Similarity score between 0 and 1
|
|
172
|
+
* @internal
|
|
92
173
|
*/
|
|
93
174
|
function calculateSimilarity(a, b) {
|
|
94
175
|
if (a.length === 0 || b.length === 0)
|
|
@@ -130,8 +211,22 @@ function calculateSimilarity(a, b) {
|
|
|
130
211
|
// Object Ordering
|
|
131
212
|
// ============================================================================
|
|
132
213
|
/**
|
|
133
|
-
*
|
|
134
|
-
*
|
|
214
|
+
* Orders objects for optimal delta compression.
|
|
215
|
+
*
|
|
216
|
+
* @description Sorts objects to maximize delta compression efficiency by:
|
|
217
|
+
* 1. Grouping by type (commits, trees, blobs, tags)
|
|
218
|
+
* 2. Within each type, grouping by path (similar files together)
|
|
219
|
+
* 3. Within path groups, sorting by size (larger first as better bases)
|
|
220
|
+
*
|
|
221
|
+
* This ordering ensures that similar objects are adjacent, improving the
|
|
222
|
+
* chances of finding good delta bases within the sliding window.
|
|
223
|
+
*
|
|
224
|
+
* @param {PackableObject[]} objects - Objects to order
|
|
225
|
+
* @returns {PackableObject[]} New array with objects in optimal order
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* const ordered = orderObjectsForCompression(objects);
|
|
229
|
+
* // Use ordered array for pack generation
|
|
135
230
|
*/
|
|
136
231
|
export function orderObjectsForCompression(objects) {
|
|
137
232
|
// Define type order: commits, trees, blobs, tags
|
|
@@ -159,7 +254,25 @@ export function orderObjectsForCompression(objects) {
|
|
|
159
254
|
});
|
|
160
255
|
}
|
|
161
256
|
/**
|
|
162
|
-
*
|
|
257
|
+
* Selects the best delta base from a set of candidates.
|
|
258
|
+
*
|
|
259
|
+
* @description Evaluates each candidate by computing similarity with the target
|
|
260
|
+
* and returns the most similar object if it exceeds the threshold.
|
|
261
|
+
*
|
|
262
|
+
* **Selection Criteria:**
|
|
263
|
+
* - Must be same type as target
|
|
264
|
+
* - Must not be the target itself
|
|
265
|
+
* - Similarity must exceed 30% threshold
|
|
266
|
+
*
|
|
267
|
+
* @param {DeltaCandidate} target - The object to find a base for
|
|
268
|
+
* @param {DeltaCandidate[]} candidates - Potential base objects
|
|
269
|
+
* @returns {DeltaCandidate | null} Best candidate or null if none suitable
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* const base = selectDeltaBase(targetObj, windowObjects);
|
|
273
|
+
* if (base) {
|
|
274
|
+
* const delta = createDelta(base.data, targetObj.data);
|
|
275
|
+
* }
|
|
163
276
|
*/
|
|
164
277
|
export function selectDeltaBase(target, candidates) {
|
|
165
278
|
if (candidates.length === 0)
|
|
@@ -182,10 +295,54 @@ export function selectDeltaBase(target, candidates) {
|
|
|
182
295
|
// Only return if similarity is good enough
|
|
183
296
|
return bestSimilarity > 0.3 ? bestCandidate : null;
|
|
184
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Generator class for creating Git packfiles.
|
|
300
|
+
*
|
|
301
|
+
* @description Provides a fluent API for building packfiles with support for:
|
|
302
|
+
* - Adding objects incrementally
|
|
303
|
+
* - Optional delta compression with configurable parameters
|
|
304
|
+
* - Both OFS_DELTA and REF_DELTA encoding
|
|
305
|
+
* - Statistics collection during generation
|
|
306
|
+
*
|
|
307
|
+
* **Usage Pattern:**
|
|
308
|
+
* 1. Create generator with desired options
|
|
309
|
+
* 2. Add objects using addObject() or addDeltaObject()
|
|
310
|
+
* 3. Call generate() to produce the packfile
|
|
311
|
+
* 4. Optionally call reset() to reuse the generator
|
|
312
|
+
*
|
|
313
|
+
* @class PackfileGenerator
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* // Basic usage
|
|
317
|
+
* const generator = new PackfileGenerator();
|
|
318
|
+
* generator.addObject({ sha: '...', type: PackObjectType.OBJ_BLOB, data: ... });
|
|
319
|
+
* generator.addObject({ sha: '...', type: PackObjectType.OBJ_TREE, data: ... });
|
|
320
|
+
* const result = generator.generate();
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
* // With delta compression
|
|
324
|
+
* const generator = new PackfileGenerator({
|
|
325
|
+
* enableDeltaCompression: true,
|
|
326
|
+
* maxDeltaDepth: 50,
|
|
327
|
+
* windowSize: 10
|
|
328
|
+
* });
|
|
329
|
+
*
|
|
330
|
+
* for (const obj of objects) {
|
|
331
|
+
* generator.addObject(obj);
|
|
332
|
+
* }
|
|
333
|
+
*
|
|
334
|
+
* const { packData, checksum, stats } = generator.generate();
|
|
335
|
+
* console.log(`Compressed ${stats.deltaObjects} objects as deltas`);
|
|
336
|
+
*/
|
|
185
337
|
export class PackfileGenerator {
|
|
186
338
|
objects = new Map();
|
|
187
339
|
deltaObjects = [];
|
|
188
340
|
options;
|
|
341
|
+
/**
|
|
342
|
+
* Creates a new PackfileGenerator with the specified options.
|
|
343
|
+
*
|
|
344
|
+
* @param {GeneratorOptions} [options={}] - Configuration options
|
|
345
|
+
*/
|
|
189
346
|
constructor(options = {}) {
|
|
190
347
|
this.options = {
|
|
191
348
|
enableDeltaCompression: options.enableDeltaCompression ?? false,
|
|
@@ -196,9 +353,21 @@ export class PackfileGenerator {
|
|
|
196
353
|
minDeltaSize: options.minDeltaSize ?? 0 // Default to 0, use caller-specified value if set
|
|
197
354
|
};
|
|
198
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Gets the total number of objects added to the generator.
|
|
358
|
+
* @returns {number} Count of regular objects plus delta objects
|
|
359
|
+
*/
|
|
199
360
|
get objectCount() {
|
|
200
361
|
return this.objects.size + this.deltaObjects.length;
|
|
201
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Adds an object to be included in the packfile.
|
|
365
|
+
*
|
|
366
|
+
* @description Objects are deduplicated by SHA. If an object with the same SHA
|
|
367
|
+
* has already been added, this call is a no-op.
|
|
368
|
+
*
|
|
369
|
+
* @param {PackableObject} object - The object to add
|
|
370
|
+
*/
|
|
202
371
|
addObject(object) {
|
|
203
372
|
// Skip duplicates
|
|
204
373
|
if (this.objects.has(object.sha))
|
|
@@ -212,13 +381,47 @@ export class PackfileGenerator {
|
|
|
212
381
|
depth: 0
|
|
213
382
|
});
|
|
214
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* Adds a pre-computed delta object for thin pack generation.
|
|
386
|
+
*
|
|
387
|
+
* @description Use this for REF_DELTA objects that reference external bases.
|
|
388
|
+
* The delta must already be computed.
|
|
389
|
+
*
|
|
390
|
+
* @param {DeltaObject} deltaObj - The delta object to add
|
|
391
|
+
*/
|
|
215
392
|
addDeltaObject(deltaObj) {
|
|
216
393
|
this.deltaObjects.push(deltaObj);
|
|
217
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* Resets the generator to its initial state.
|
|
397
|
+
*
|
|
398
|
+
* @description Clears all added objects and delta objects, allowing the
|
|
399
|
+
* generator to be reused for a new packfile.
|
|
400
|
+
*/
|
|
218
401
|
reset() {
|
|
219
402
|
this.objects.clear();
|
|
220
403
|
this.deltaObjects = [];
|
|
221
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* Generates the packfile from all added objects.
|
|
407
|
+
*
|
|
408
|
+
* @description Produces a complete packfile including:
|
|
409
|
+
* - 12-byte header
|
|
410
|
+
* - All objects (with optional delta compression)
|
|
411
|
+
* - Generation statistics
|
|
412
|
+
*
|
|
413
|
+
* Note: The returned packData does NOT include the trailing checksum.
|
|
414
|
+
* Concatenate packData with checksum to create the complete packfile.
|
|
415
|
+
*
|
|
416
|
+
* @returns {GeneratedPackfile} Pack data, checksum, and statistics
|
|
417
|
+
*
|
|
418
|
+
* @example
|
|
419
|
+
* const result = generator.generate();
|
|
420
|
+
* // Write complete packfile
|
|
421
|
+
* const complete = new Uint8Array(result.packData.length + 20);
|
|
422
|
+
* complete.set(result.packData);
|
|
423
|
+
* complete.set(result.checksum, result.packData.length);
|
|
424
|
+
*/
|
|
222
425
|
generate() {
|
|
223
426
|
const startTime = Date.now();
|
|
224
427
|
let totalSize = 0;
|
|
@@ -356,8 +559,27 @@ export class PackfileGenerator {
|
|
|
356
559
|
// Main Functions
|
|
357
560
|
// ============================================================================
|
|
358
561
|
/**
|
|
359
|
-
*
|
|
360
|
-
*
|
|
562
|
+
* Generates a complete packfile from an array of objects.
|
|
563
|
+
*
|
|
564
|
+
* @description Convenience function that creates a PackfileGenerator, adds all
|
|
565
|
+
* objects, generates the pack, and returns a complete packfile with the trailing
|
|
566
|
+
* SHA-1 checksum appended.
|
|
567
|
+
*
|
|
568
|
+
* This function does not use delta compression. For delta compression, use
|
|
569
|
+
* the PackfileGenerator class directly with enableDeltaCompression option.
|
|
570
|
+
*
|
|
571
|
+
* @param {PackableObject[]} objects - Array of objects to pack
|
|
572
|
+
* @returns {Uint8Array} Complete packfile with header, objects, and checksum
|
|
573
|
+
*
|
|
574
|
+
* @example
|
|
575
|
+
* const objects: PackableObject[] = [
|
|
576
|
+
* { sha: 'abc...', type: PackObjectType.OBJ_BLOB, data: blobData },
|
|
577
|
+
* { sha: 'def...', type: PackObjectType.OBJ_TREE, data: treeData },
|
|
578
|
+
* { sha: 'ghi...', type: PackObjectType.OBJ_COMMIT, data: commitData }
|
|
579
|
+
* ];
|
|
580
|
+
*
|
|
581
|
+
* const packfile = generatePackfile(objects);
|
|
582
|
+
* await fs.writeFile('pack-abc123.pack', packfile);
|
|
361
583
|
*/
|
|
362
584
|
export function generatePackfile(objects) {
|
|
363
585
|
const generator = new PackfileGenerator();
|
|
@@ -372,7 +594,33 @@ export function generatePackfile(objects) {
|
|
|
372
594
|
return completePackfile;
|
|
373
595
|
}
|
|
374
596
|
/**
|
|
375
|
-
*
|
|
597
|
+
* Generates a thin pack that can reference external base objects.
|
|
598
|
+
*
|
|
599
|
+
* @description Creates a packfile where objects can be stored as REF_DELTA
|
|
600
|
+
* referencing base objects not included in the pack. This is typically used
|
|
601
|
+
* for network transfers where the receiver already has some objects.
|
|
602
|
+
*
|
|
603
|
+
* **Thin Pack Behavior:**
|
|
604
|
+
* - Attempts to delta-compress objects against external bases
|
|
605
|
+
* - Uses REF_DELTA format (base referenced by SHA-1)
|
|
606
|
+
* - Falls back to full objects when delta is not beneficial
|
|
607
|
+
* - Tracks which external bases are referenced
|
|
608
|
+
*
|
|
609
|
+
* @param {PackableObject[]} objects - Array of objects to pack
|
|
610
|
+
* @param {ThinPackOptions} options - Configuration including external object set
|
|
611
|
+
* @returns {ThinPackResult} Pack data, checksum, and metadata about external refs
|
|
612
|
+
*
|
|
613
|
+
* @example
|
|
614
|
+
* // Generate thin pack for git push
|
|
615
|
+
* const externalObjects = new Set(['abc123...', 'def456...']); // Objects server has
|
|
616
|
+
* const baseData = new Map([['abc123...', baseObjData]]); // Data for delta computation
|
|
617
|
+
*
|
|
618
|
+
* const result = generateThinPack(objectsToSend, {
|
|
619
|
+
* externalObjects,
|
|
620
|
+
* baseData
|
|
621
|
+
* });
|
|
622
|
+
*
|
|
623
|
+
* console.log(`Created thin pack with ${result.missingBases.length} external refs`);
|
|
376
624
|
*/
|
|
377
625
|
export function generateThinPack(objects, options) {
|
|
378
626
|
const startTime = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/pack/generation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/pack/generation.ts"],"names":[],"mappings":"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"}
|