@amalgm/shell 0.1.164-main.40795482467 → 0.1.164-main.40799719727
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/detection/spelled-lookup.d.ts +5 -0
- package/dist/detection/spelled-lookup.js +26 -2
- package/dist/detection/spelled-lookup.js.map +1 -1
- package/dist/git/ground-owners.d.ts +8 -1
- package/dist/git/ground-owners.js +36 -4
- package/dist/git/ground-owners.js.map +1 -1
- package/dist/git/home.d.ts +3 -0
- package/dist/git/home.js.map +1 -1
- package/dist/git/objects.d.ts +5 -3
- package/dist/git/objects.js +13 -5
- package/dist/git/objects.js.map +1 -1
- package/dist/git/rail.d.ts +8 -4
- package/dist/git/rail.js +72 -22
- package/dist/git/rail.js.map +1 -1
- package/dist/git/read-state.d.ts +6 -4
- package/dist/git/read-state.js +39 -21
- package/dist/git/read-state.js.map +1 -1
- package/dist/git/repository.d.ts +4 -0
- package/dist/git/repository.js +5 -2
- package/dist/git/repository.js.map +1 -1
- package/dist/git/write-files.d.ts +1 -1
- package/dist/git/write-files.js +13 -7
- package/dist/git/write-files.js.map +1 -1
- package/dist/materialize-records.d.ts +4 -0
- package/dist/materialize-records.js +28 -5
- package/dist/materialize-records.js.map +1 -1
- package/dist/user-ground-host.js +1 -1
- package/dist/user-ground-host.js.map +1 -1
- package/npm-shrinkwrap.json +6 -6
- package/package.json +5 -5
|
@@ -13,3 +13,8 @@ export type SpelledLookup = (path: string) => BigIntStats | null | "respelled";
|
|
|
13
13
|
/** One attempt's lookups; a directory is listed at most once, and only for a
|
|
14
14
|
* link found in it. */
|
|
15
15
|
export declare function spelledLookup(): SpelledLookup;
|
|
16
|
+
/** The one spelling the filesystem holding `directory` stores a name under:
|
|
17
|
+
* letter case folded only where it folds case, normalization only where it
|
|
18
|
+
* folds normalization. The filesystem answers for itself, through one probe
|
|
19
|
+
* directory made in `directory` and looked up under its other spellings. */
|
|
20
|
+
export declare function storedSpelling(directory: string): (name: string) => string;
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* spelling is `respelled`, which a lookup cannot settle; only a walk that lists
|
|
9
9
|
* the directory decides what stands there. Directories on the way are proved by
|
|
10
10
|
* the rows naming them, and a respelled directory rings its own names. */
|
|
11
|
-
import { readdirSync, realpathSync } from "node:fs";
|
|
12
|
-
import { basename, dirname } from "node:path";
|
|
11
|
+
import { mkdtempSync, readdirSync, realpathSync, rmdirSync } from "node:fs";
|
|
12
|
+
import { basename, dirname, join } from "node:path";
|
|
13
13
|
import { optionalLstat } from "../physical-path-witness.js";
|
|
14
|
+
import { physicalKey } from "../source-signature.js";
|
|
14
15
|
const absent = (error) => ["ENOENT", "ENOTDIR"].includes(error.code ?? "");
|
|
15
16
|
/** One attempt's lookups; a directory is listed at most once, and only for a
|
|
16
17
|
* link found in it. */
|
|
@@ -56,4 +57,27 @@ export function spelledLookup() {
|
|
|
56
57
|
return spelled === null ? null : spelled ? stats : "respelled";
|
|
57
58
|
};
|
|
58
59
|
}
|
|
60
|
+
/** The one spelling the filesystem holding `directory` stores a name under:
|
|
61
|
+
* letter case folded only where it folds case, normalization only where it
|
|
62
|
+
* folds normalization. The filesystem answers for itself, through one probe
|
|
63
|
+
* directory made in `directory` and looked up under its other spellings. */
|
|
64
|
+
export function storedSpelling(directory) {
|
|
65
|
+
const probe = mkdtempSync(join(directory, ".amalgm-É-"));
|
|
66
|
+
try {
|
|
67
|
+
const key = physicalKey(optionalLstat(probe));
|
|
68
|
+
const folds = (spelling) => {
|
|
69
|
+
const found = optionalLstat(join(directory, spelling));
|
|
70
|
+
return found !== null && physicalKey(found) === key;
|
|
71
|
+
};
|
|
72
|
+
const folded = basename(probe).toLowerCase(), decomposed = basename(probe).normalize("NFD");
|
|
73
|
+
const foldsCase = folds(folded), foldsNormalization = folds(decomposed);
|
|
74
|
+
return name => {
|
|
75
|
+
const normal = foldsNormalization ? name.normalize("NFC") : name;
|
|
76
|
+
return foldsCase ? normal.toLowerCase() : normal;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
rmdirSync(probe);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
59
83
|
//# sourceMappingURL=spelled-lookup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spelled-lookup.js","sourceRoot":"","sources":["../../src/detection/spelled-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;0EAS0E;AAC1E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"spelled-lookup.js","sourceRoot":"","sources":["../../src/detection/spelled-lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,11 @@ export interface HeldRepository {
|
|
|
5
5
|
readonly absolutePath: string;
|
|
6
6
|
readonly transportVersion: string | null;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export interface WalkedRoot {
|
|
9
|
+
readonly root: string;
|
|
10
|
+
readonly repositories: () => readonly HeldRepository[];
|
|
11
|
+
}
|
|
12
|
+
/** The real path of where `path` stands or will stand: its nearest existing
|
|
13
|
+
* ancestor's real path, with the rest of its names; null when none stands. */
|
|
14
|
+
export declare function realPlace(path: string): Promise<string | null>;
|
|
15
|
+
export declare function groundGitOwners(database: Database.Database | null, walked?: WalkedRoot | null): GitOwners;
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
/** The repositories this machine's ground holds (home.ts), from its observed
|
|
2
|
-
* rows: each one's checkout and the transport version of its last state
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* rows: each one's checkout and the transport version of its last state, and
|
|
3
|
+
* the roots of the ground they stand in. A Detect pass walking a root names
|
|
4
|
+
* it and the repositories it has observed but not yet stored, which come
|
|
5
|
+
* first; a cold one has no database yet. */
|
|
5
6
|
import { realpath } from "node:fs/promises";
|
|
6
|
-
|
|
7
|
+
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
8
|
+
/** The real path of where `path` stands or will stand: its nearest existing
|
|
9
|
+
* ancestor's real path, with the rest of its names; null when none stands. */
|
|
10
|
+
export async function realPlace(path) {
|
|
11
|
+
for (let at = resolve(path), rest = [];;) {
|
|
12
|
+
const real = await realpath(at).catch(() => null);
|
|
13
|
+
if (real !== null)
|
|
14
|
+
return join(real, ...rest);
|
|
15
|
+
if (dirname(at) === at)
|
|
16
|
+
return null;
|
|
17
|
+
rest = [basename(at), ...rest];
|
|
18
|
+
at = dirname(at);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function groundGitOwners(database, walked = null) {
|
|
7
22
|
const all = database?.prepare(`SELECT uuid, absolute_path AS absolutePath, transport_version AS transportVersion
|
|
8
23
|
FROM entities WHERE type = 'repo.git' AND status = 'active'`);
|
|
9
24
|
const byUuid = database?.prepare(`SELECT uuid, absolute_path AS absolutePath, transport_version AS transportVersion
|
|
10
25
|
FROM entities WHERE uuid = ? AND type = 'repo.git' AND status = 'active' LIMIT 1`);
|
|
26
|
+
// Each root's own row is its binding.
|
|
27
|
+
const roots = database?.prepare(`SELECT e.absolute_path AS absolutePath FROM ground_roots g
|
|
28
|
+
CROSS JOIN entities e ON e.uuid = g.root_uuid AND e.root_uuid = g.root_uuid WHERE e.status = 'active'`);
|
|
29
|
+
const observed = () => walked?.repositories() ?? [];
|
|
11
30
|
return {
|
|
12
31
|
async uuidAt(checkout) {
|
|
13
32
|
for (const held of [...observed(), ...all?.all() ?? []]) {
|
|
@@ -20,6 +39,19 @@ export function groundGitOwners(database, observed = () => []) {
|
|
|
20
39
|
const held = observed().find(repository => repository.uuid === uuid) ?? byUuid?.get(uuid);
|
|
21
40
|
return held ? { checkout: held.absolutePath, transportVersion: held.transportVersion } : null;
|
|
22
41
|
},
|
|
42
|
+
async ground(path) {
|
|
43
|
+
const real = await realPlace(path);
|
|
44
|
+
if (real === null)
|
|
45
|
+
return null;
|
|
46
|
+
let found = null;
|
|
47
|
+
for (const root of [...walked ? [walked.root] : [], ...(roots?.all() ?? [])
|
|
48
|
+
.map(row => row.absolutePath)]) {
|
|
49
|
+
const at = await realpath(root).catch(() => null);
|
|
50
|
+
if (at !== null && (real === at || real.startsWith(`${at}${sep}`)) && at.length > (found?.length ?? -1))
|
|
51
|
+
found = at;
|
|
52
|
+
}
|
|
53
|
+
return found && found.split(sep).join("/");
|
|
54
|
+
},
|
|
23
55
|
};
|
|
24
56
|
}
|
|
25
57
|
//# sourceMappingURL=ground-owners.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ground-owners.js","sourceRoot":"","sources":["../../src/git/ground-owners.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ground-owners.js","sourceRoot":"","sources":["../../src/git/ground-owners.ts"],"names":[],"mappings":"AAAA;;;;4CAI4C;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAelE;8EAC8E;AAC9E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,KAAK,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,GAAa,EAAE,IAAK,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC/B,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAkC,EAAE,SAA4B,IAAI;IAClG,MAAM,GAAG,GAAG,QAAQ,EAAE,OAAO,CAAC;gEACgC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC;qFACkD,CAAC,CAAC;IACrF,sCAAsC;IACtC,MAAM,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC;0GACwE,CAAC,CAAC;IAC1G,MAAM,QAAQ,GAAG,GAA8B,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC/E,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,QAAQ;YACnB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAsB,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5E,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC;YACzF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,IAAI,CAA+B,CAAC;YACxH,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAgC,IAAI,EAAE,CAAC;qBACtG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;oBAAE,KAAK,GAAG,EAAE,CAAC;YACtH,CAAC;YACD,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/git/home.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ export interface GitOwners {
|
|
|
11
11
|
readonly checkout: string;
|
|
12
12
|
readonly transportVersion: string | null;
|
|
13
13
|
} | null>;
|
|
14
|
+
/** The real path, with `/` between its names, of the ground holding
|
|
15
|
+
* `path`, which stands here; null when no ground does. */
|
|
16
|
+
ground(path: string): Promise<string | null>;
|
|
14
17
|
}
|
|
15
18
|
export type GitPlace = {
|
|
16
19
|
readonly home: GitHome | null;
|
package/dist/git/home.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/git/home.ts"],"names":[],"mappings":"AAAA;;;;;;mDAMmD;AACnD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAsB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/git/home.ts"],"names":[],"mappings":"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"}
|
package/dist/git/objects.d.ts
CHANGED
|
@@ -31,9 +31,11 @@ export declare function namesPromisor(repository: GitRepository): Promise<boolea
|
|
|
31
31
|
* Git, and each of its files goes to `kept`. Git seals them read-only, and
|
|
32
32
|
* Windows flushes only through a handle that may write, so Git's own flush is
|
|
33
33
|
* the only one they get. Otherwise, as `git fetch` does, a small pack is
|
|
34
|
-
* stored loose
|
|
35
|
-
*
|
|
36
|
-
|
|
34
|
+
* stored loose, except one bringing objects the repository borrows now and
|
|
35
|
+
* is to keep itself (`whole`): loose, Git stores none it can already read.
|
|
36
|
+
* Returns the keep file that guards a kept pack until its refs are
|
|
37
|
+
* written. */
|
|
38
|
+
export declare function installPack(repository: GitRepository, pack: Uint8Array, promisor: boolean, kept: ((path: string) => void) | null, whole: boolean): Promise<string | null>;
|
|
37
39
|
/** Fails unless every object the roots reach stands here. */
|
|
38
40
|
export declare function checkConnected(repository: GitRepository, roots: readonly string[]): Promise<void>;
|
|
39
41
|
/** Whether every object the roots reach stands here. Git answers a missing
|
package/dist/git/objects.js
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* stand. Each command names the repository's worktree (atStorage), since
|
|
10
10
|
* objects are storage, wherever the configuration places the worktree.
|
|
11
11
|
*
|
|
12
|
+
* Objects a repository borrows (`objects/info/alternates`) are its lender's,
|
|
13
|
+
* and travel with the lender: the pack holds only what the repository keeps
|
|
14
|
+
* itself (`--local`), and is thin against nothing it might borrow, so a
|
|
15
|
+
* receiver whose lender has yet to bring them waits for it (rail.ts).
|
|
16
|
+
*
|
|
12
17
|
* A partial clone lacks the objects its promisor remote keeps, as `git clone
|
|
13
18
|
* --filter` leaves them. Its pack carries what it holds
|
|
14
19
|
* (`--missing=allow-promisor`), and a receiver whose configuration names a
|
|
@@ -53,10 +58,11 @@ export async function packRepository(repository, parentRoots, sharedRoots, named
|
|
|
53
58
|
const excludes = born && held.includes(head) ? withTree(held) : held;
|
|
54
59
|
const shared = born && !held.includes(head) && sharedHeld.includes(head) ? withTree(sharedHeld) : sharedHeld;
|
|
55
60
|
const indexes = indexRead ? ["--indexed-objects"] : [];
|
|
61
|
+
const thin = existsSync(join(repository.commonDir, "objects", "info", "alternates")) ? [] : ["--thin"];
|
|
56
62
|
const [indexed, pack] = await Promise.all([
|
|
57
63
|
indexRead ? runGit(repository.worktree, ["rev-list", "--objects", "--no-object-names", "--indexed-objects",
|
|
58
64
|
"--missing=allow-promisor", ...born ? [`^${tree}`] : []], transport) : Buffer.alloc(0),
|
|
59
|
-
runGit(repository.worktree, ["pack-objects", "--revs", "--all", "--reflog", ...indexes, "--
|
|
65
|
+
runGit(repository.worktree, ["pack-objects", "--revs", "--all", "--reflog", ...indexes, ...thin, "--local",
|
|
60
66
|
"--missing=allow-promisor", "--stdout", "--delta-base-offset", "-q"], { ...transport, input: oidLines([...found, "--not", ...excludes, ...shared]) }),
|
|
61
67
|
]);
|
|
62
68
|
return { roots: [...new Set([...lines(tips), ...lines(indexed), ...found])].sort(), excludes, shared, pack };
|
|
@@ -94,13 +100,15 @@ function flushingPacks() {
|
|
|
94
100
|
* Git, and each of its files goes to `kept`. Git seals them read-only, and
|
|
95
101
|
* Windows flushes only through a handle that may write, so Git's own flush is
|
|
96
102
|
* the only one they get. Otherwise, as `git fetch` does, a small pack is
|
|
97
|
-
* stored loose
|
|
98
|
-
*
|
|
99
|
-
|
|
103
|
+
* stored loose, except one bringing objects the repository borrows now and
|
|
104
|
+
* is to keep itself (`whole`): loose, Git stores none it can already read.
|
|
105
|
+
* Returns the keep file that guards a kept pack until its refs are
|
|
106
|
+
* written. */
|
|
107
|
+
export async function installPack(repository, pack, promisor, kept, whole) {
|
|
100
108
|
const count = gitPackObjectCount(pack);
|
|
101
109
|
if (count === 0)
|
|
102
110
|
return null;
|
|
103
|
-
if (!kept && count < UNPACK_LIMIT && !promisor) {
|
|
111
|
+
if (!kept && !whole && count < UNPACK_LIMIT && !promisor) {
|
|
104
112
|
await runGit(repository.worktree, ["unpack-objects", "-q"], { purpose: "transport", profile: atStorage(repository), input: pack });
|
|
105
113
|
return null;
|
|
106
114
|
}
|
package/dist/git/objects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/git/objects.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/git/objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;qEAqBqE;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAEhE,0EAA0E;AAC1E,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACxG,MAAM,KAAK,GAAG,CAAC,MAAc,EAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAe5G;;;;;;;;6BAQ6B;AAC7B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAyB,EAAE,WAA8B,EAC5F,WAA8B,EAAE,KAAwB,EAAE,SAAkB;IAC5E,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,WAAoB,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;IACpF,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,iBAAiB;YAC3F,mBAAmB,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,6BAA6B,CAAC,EACrE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5G,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAqB,CAAC;IAC3D,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC7G,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB;YACxG,0BAA0B,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS;YACxG,0BAA0B,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,CAAC,EACtE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC/G,CAAC;AAED;;+BAE+B;AAC/B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAyB;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,cAAc;YAC9F,sDAAsD,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yDAAyD;QACzD,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;+DAE+D;AAC/D,SAAS,aAAa;IACpB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACzE,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,sEAAsE,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;cASc;AACd,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAyB,EAAE,IAAgB,EAAE,QAAiB,EAC9F,IAAqC,EAAE,KAAc;IACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,EACxD,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS;QACxG,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAChF,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5E,qEAAqE;IACrE,IAAI,IAAI;QAAE,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,GAAG,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC;YAAE,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjH,OAAO,GAAG,KAAK,OAAO,CAAC;AACzB,CAAC;AAED;;0BAE0B;AAC1B,MAAM,YAAY,GAAG,CAAC,UAAyB,EAAE,KAAwB,EAAmB,EAAE,CAC5F,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B;IAC7G,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAElG,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAyB,EAAE,KAAwB;IACtF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;6BAC6B;AAC7B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAyB,EAAE,KAAwB;IAClF,IAAI,CAAC;QAAC,MAAM,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC3D,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACtE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAiB,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC"}
|
package/dist/git/rail.d.ts
CHANGED
|
@@ -44,7 +44,9 @@ export interface GitUpload {
|
|
|
44
44
|
/** The artifact for a detected state, following `parent`. A linked
|
|
45
45
|
* worktree's pack is also thin against its main checkout's last state,
|
|
46
46
|
* `main`. A refused repository's carries no pack and reaches what its
|
|
47
|
-
* parent's reached.
|
|
47
|
+
* parent's reached. One that changes what it borrows from carries all it
|
|
48
|
+
* keeps itself: what its parent reached, a receiver may hold only through
|
|
49
|
+
* storage it no longer borrows. */
|
|
48
50
|
export declare function uploadGit(worktree: string, change: GitChange, parent: GitNotebook | null, main?: GitNotebook | null): Promise<GitUpload>;
|
|
49
51
|
/** Apply cannot act yet: the repository holds a state Git itself refuses, a
|
|
50
52
|
* lock a running Git command holds, or another object format, each ended by
|
|
@@ -57,11 +59,13 @@ export declare class GitApplyWait extends Error {
|
|
|
57
59
|
/** Bytes of the artifact a transport version names, from any store. */
|
|
58
60
|
export type GitArtifactSource = (transportVersion: string) => Promise<Uint8Array>;
|
|
59
61
|
/** How Add builds a repository, in private ground it reveals later: where a
|
|
60
|
-
* path built there will stand once revealed,
|
|
61
|
-
*
|
|
62
|
-
* barrier takes as
|
|
62
|
+
* path built there will stand once revealed, where a path that will stand
|
|
63
|
+
* there is built, and the files of each pack Git kept and flushed there
|
|
64
|
+
* (objects.ts installPack), which the reveal's one barrier takes as
|
|
65
|
+
* flushed. */
|
|
63
66
|
export interface GitClone {
|
|
64
67
|
readonly placedAt: (path: string) => string;
|
|
68
|
+
readonly builtAt: (path: string) => string;
|
|
65
69
|
readonly kept: (path: string) => void;
|
|
66
70
|
}
|
|
67
71
|
/** The notebook of a recorded or applied artifact: what Detect compares the
|
package/dist/git/rail.js
CHANGED
|
@@ -17,12 +17,18 @@
|
|
|
17
17
|
*
|
|
18
18
|
* A linked worktree's or absorbed submodule's Git directory lives inside
|
|
19
19
|
* another repository's (home.ts), so each step also asks `owners` which
|
|
20
|
-
* repository that is and where it stands here.
|
|
20
|
+
* repository that is and where it stands here.
|
|
21
|
+
*
|
|
22
|
+
* A repository that borrows objects (`objects/info/alternates`, as `git
|
|
23
|
+
* clone --shared` writes it) borrows them on every machine from the same
|
|
24
|
+
* repository, placed in each machine's ground (@amalgm/live
|
|
25
|
+
* git/alternates.ts). The lender's objects travel with the lender, so a
|
|
26
|
+
* borrower whose lender has yet to bring them waits for its Apply. */
|
|
21
27
|
import { createHash } from "node:crypto";
|
|
22
|
-
import { mkdir, open as openFile, rename, rm, rmdir, stat } from "node:fs/promises";
|
|
23
|
-
import { dirname, join, relative } from "node:path";
|
|
28
|
+
import { mkdir, open as openFile, readFile, realpath, rename, rm, rmdir, stat } from "node:fs/promises";
|
|
29
|
+
import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
24
30
|
import { LOCAL_DIR_NAME } from "@amalgm/core/identity";
|
|
25
|
-
import { decodeGitArtifact, decodeGitArtifactHead, encodeGitArtifact, GIT_ARTIFACT_PREFIX, gitApplyPlan, gitArtifactHeadLength, gitBlobs, gitChainBlobs, gitChainPacks, gitNamedObjects, gitNewBlobs, gitSharesObjects, gitStateId, gitTransportVersion, isGitConfigurationPath, isGitNamingPath, } from "@amalgm/live";
|
|
31
|
+
import { decodeGitArtifact, decodeGitArtifactHead, encodeGitArtifact, GIT_ALTERNATES_PATH, GIT_ARTIFACT_PREFIX, gitApplyPlan, gitArtifactHeadLength, gitBlobs, gitChainBlobs, gitChainPacks, gitNamedObjects, gitNewBlobs, gitSharesObjects, gitStateId, gitTransportVersion, isGitConfigurationPath, isGitNamingPath, } from "@amalgm/live";
|
|
26
32
|
import { claimWorktreeGitDir, gitHome, homeGitDir, linkSubmodule, linkWorktree } from "./home.js";
|
|
27
33
|
import { checkConnected, holdsReach, installPack, namesPromisor, packRepository, releaseKeep } from "./objects.js";
|
|
28
34
|
import { readGitState } from "./read-state.js";
|
|
@@ -56,7 +62,7 @@ async function meet(worktree, owners, last) {
|
|
|
56
62
|
/** The repository's state where its Git directory lives. */
|
|
57
63
|
async function readHere(worktree, owners, last) {
|
|
58
64
|
const met = await meet(worktree, owners, last) ?? absent(worktree);
|
|
59
|
-
return "unsupported" in met ? met : readGitState(met.repository, met.home);
|
|
65
|
+
return "unsupported" in met ? met : readGitState(met.repository, met.home, await owners.ground(worktree));
|
|
60
66
|
}
|
|
61
67
|
/** Keeps the bytes of every file the notebook's state lacks, which an upload
|
|
62
68
|
* carries, and of every file naming objects, which an upload packs. */
|
|
@@ -65,7 +71,7 @@ export async function detectGit(worktree, notebook, owners) {
|
|
|
65
71
|
if ("unsupported" in met)
|
|
66
72
|
return { kind: "unsupported", reason: met.unsupported };
|
|
67
73
|
const held = notebook ? gitBlobs(notebook.state) : new Set();
|
|
68
|
-
const read = await readGitState(met.repository, met.home, (path, oid) => !held.has(oid) || isGitNamingPath(path));
|
|
74
|
+
const read = await readGitState(met.repository, met.home, await owners.ground(worktree), (path, oid) => !held.has(oid) || isGitNamingPath(path));
|
|
69
75
|
if ("unsupported" in read)
|
|
70
76
|
return { kind: "unsupported", reason: read.unsupported };
|
|
71
77
|
const stateId = gitStateId(read.reading.state, sha256);
|
|
@@ -78,17 +84,22 @@ export async function gitStateIdOf(worktree, owners, last = async () => null) {
|
|
|
78
84
|
const read = await readHere(worktree, owners, last);
|
|
79
85
|
return "unsupported" in read ? read : { stateId: gitStateId(read.reading.state, sha256) };
|
|
80
86
|
}
|
|
87
|
+
/** What a state borrows objects from: its alternates file's blob. */
|
|
88
|
+
const borrows = (state) => state.files.find(file => file.path === GIT_ALTERNATES_PATH)?.oid ?? null;
|
|
81
89
|
/** The artifact for a detected state, following `parent`. A linked
|
|
82
90
|
* worktree's pack is also thin against its main checkout's last state,
|
|
83
91
|
* `main`. A refused repository's carries no pack and reaches what its
|
|
84
|
-
* parent's reached.
|
|
92
|
+
* parent's reached. One that changes what it borrows from carries all it
|
|
93
|
+
* keeps itself: what its parent reached, a receiver may hold only through
|
|
94
|
+
* storage it no longer borrows. */
|
|
85
95
|
export async function uploadGit(worktree, change, parent, main = null) {
|
|
86
96
|
const { state, bytes: held } = change.reading;
|
|
87
97
|
const named = state.files.flatMap(file => file.oid !== null && isGitNamingPath(file.path)
|
|
88
98
|
? gitNamedObjects(state.format, held.get(file.oid)) : []);
|
|
99
|
+
const thinAgainst = parent && borrows(parent.state) === borrows(state) ? parent.roots : [];
|
|
89
100
|
const { roots, excludes, shared, pack } = change.refused
|
|
90
101
|
? { roots: parent?.roots ?? [], excludes: parent?.roots ?? [], shared: [], pack: new Uint8Array() }
|
|
91
|
-
: await packRepository(await open(worktree),
|
|
102
|
+
: await packRepository(await open(worktree), thinAgainst, gitSharesObjects(state) ? main?.roots ?? [] : [], named, change.reading.indexRead);
|
|
92
103
|
const blobs = new Map(gitNewBlobs(state, parent?.state ?? null).map(oid => {
|
|
93
104
|
const found = held.get(oid);
|
|
94
105
|
if (!found)
|
|
@@ -177,7 +188,8 @@ export async function applyGit(worktree, target, source, known, owners, clone =
|
|
|
177
188
|
};
|
|
178
189
|
const top = await artifact(target);
|
|
179
190
|
const { home } = top.state;
|
|
180
|
-
const
|
|
191
|
+
const here = { ground: await owners.ground(worktree), owners, builtAt: clone?.builtAt ?? (path => path) };
|
|
192
|
+
const install = (repository, objects, synced, kept = clone?.kept ?? null) => installState(repository, objects, target, top, artifact, synced, here, kept);
|
|
181
193
|
const finish = async () => verify(worktree, target, top, owners);
|
|
182
194
|
const standing = async (met) => {
|
|
183
195
|
if ("unsupported" in met)
|
|
@@ -217,7 +229,7 @@ export async function applyGit(worktree, target, source, known, owners, clone =
|
|
|
217
229
|
}
|
|
218
230
|
await linkWorktree(worktree, placed.gitDir, placedAt);
|
|
219
231
|
// Read where it was written: the links may name where it will stand.
|
|
220
|
-
return verifyAt(repository, target, top, home);
|
|
232
|
+
return verifyAt(repository, target, top, home, here.ground);
|
|
221
233
|
}
|
|
222
234
|
if (placed && await exists(placed.gitDir)) {
|
|
223
235
|
// The Git directory a deinit left where this submodule's goes is its.
|
|
@@ -257,14 +269,41 @@ const exists = (path) => stat(path).then(() => true, error => {
|
|
|
257
269
|
return false;
|
|
258
270
|
throw error;
|
|
259
271
|
});
|
|
260
|
-
/**
|
|
272
|
+
/** What Git reads before it acts: the configuration the repository will
|
|
273
|
+
* hold, and the storage it will borrow objects from, as `git clone --shared`
|
|
274
|
+
* writes both before it fetches. Storage it stops borrowing from is let go
|
|
275
|
+
* with the other files, once its own packs hold what it borrowed. */
|
|
276
|
+
const readFirst = (step) => isGitConfigurationPath(step.path) || step.path === GIT_ALTERNATES_PATH && step.target !== null;
|
|
277
|
+
const LENT = "/.git/objects";
|
|
278
|
+
/** The storage the repository borrows from, written first: where Add builds
|
|
279
|
+
* each place it names meanwhile, and the checkouts of the repositories
|
|
280
|
+
* lending it. */
|
|
281
|
+
async function borrowedBy(repository, here) {
|
|
282
|
+
const named = (await readFile(join(repository.gitDir, GIT_ALTERNATES_PATH), "utf8").catch(() => "")).split("\n")
|
|
283
|
+
.filter(line => isAbsolute(line)).map(line => resolve(line));
|
|
284
|
+
return {
|
|
285
|
+
built: named.flatMap(place => here.builtAt(place) === place ? [] : [here.builtAt(place)]),
|
|
286
|
+
lenders: named.flatMap(place => place.endsWith(LENT) ? [here.builtAt(place.slice(0, -LENT.length))] : []),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
/** The first repository held here whose checkout is one of `lenders`. */
|
|
290
|
+
async function heldLender(lenders, owners) {
|
|
291
|
+
for (const checkout of lenders) {
|
|
292
|
+
const uuid = await owners.uuidAt(await realpath(checkout).catch(() => checkout));
|
|
293
|
+
if (uuid)
|
|
294
|
+
return uuid;
|
|
295
|
+
}
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
/** Writes what Git reads first, then installs the packs the Git directory
|
|
261
299
|
* lacks into `objects`, its storage, then writes the plan's other files, each
|
|
262
300
|
* from bytes already here when it can. */
|
|
263
|
-
async function installState(repository,
|
|
301
|
+
async function installState(repository, storage, target, top, artifact, known, here, keptPack) {
|
|
264
302
|
const goal = top.state;
|
|
265
303
|
const goalFiles = new Map([...goal.files, ...goal.index?.files ?? []].map(file => [file.path, file]));
|
|
266
304
|
const goalBlobs = gitBlobs(goal);
|
|
267
|
-
const
|
|
305
|
+
const { ground } = here;
|
|
306
|
+
const read = await readGitState(repository, goal.home, ground, (path, oid) => goalBlobs.has(oid) && goalFiles.get(path)?.oid !== oid);
|
|
268
307
|
if ("unsupported" in read)
|
|
269
308
|
throw new GitApplyWait(`${repository.worktree} holds ${read.unsupported}; Apply waits for it to change`);
|
|
270
309
|
const { state: current, bytes: kept } = read.reading;
|
|
@@ -290,17 +329,23 @@ async function installState(repository, objects, target, top, artifact, known, k
|
|
|
290
329
|
...written.map(file => ({ path: file.path, basis: cleared.has(file.path) ? null : held.get(file.path) ?? null, target: file })),
|
|
291
330
|
...removals.map(file => ({ path: file.path, basis: file, target: null })),
|
|
292
331
|
];
|
|
293
|
-
|
|
332
|
+
const write = (step) => writeGitStep(repository.gitDir, step, bytes, ground);
|
|
294
333
|
for (const step of steps)
|
|
295
|
-
if (
|
|
296
|
-
await
|
|
334
|
+
if (readFirst(step))
|
|
335
|
+
await write(step);
|
|
336
|
+
// While Add builds a lender in private, Git borrows from it there.
|
|
337
|
+
const borrowed = await borrowedBy(repository, here);
|
|
338
|
+
const objects = borrowed.built.length > 0 ? { ...storage, borrowing: borrowed.built } : storage;
|
|
297
339
|
if (await gitRefuses(objects)) {
|
|
298
340
|
// No Git acts here, and the sender's, refusing alike, packed nothing.
|
|
299
341
|
for (const step of steps)
|
|
300
|
-
await
|
|
342
|
+
await write(step);
|
|
301
343
|
return;
|
|
302
344
|
}
|
|
303
|
-
|
|
345
|
+
// What stands here borrowed counts only while the goal borrows it alike:
|
|
346
|
+
// otherwise the chain reaches a pack that carries all the goal keeps.
|
|
347
|
+
const lendsAlike = borrows(current) === borrows(goal);
|
|
348
|
+
const chain = await gitChainPacks(target, artifact, lendsAlike ? oids => holdsReach(objects, oids) : async () => false);
|
|
304
349
|
if (!chain.ok)
|
|
305
350
|
throw new Error(chain.error);
|
|
306
351
|
if (chain.value.kind === "owner") {
|
|
@@ -310,17 +355,22 @@ async function installState(repository, objects, target, top, artifact, known, k
|
|
|
310
355
|
const keeps = [];
|
|
311
356
|
try {
|
|
312
357
|
for (const pack of chain.value.packs) {
|
|
313
|
-
const keep = await installPack(objects, pack, promisor, keptPack);
|
|
358
|
+
const keep = await installPack(objects, pack, promisor, keptPack, !lendsAlike);
|
|
314
359
|
if (keep)
|
|
315
360
|
keeps.push(keep);
|
|
316
361
|
}
|
|
317
362
|
// The shallow file bounds Git's walk, so it stands before the walk runs.
|
|
318
363
|
for (const step of steps)
|
|
319
364
|
if (step.path === "shallow")
|
|
320
|
-
await
|
|
365
|
+
await write(step);
|
|
366
|
+
if (borrowed.lenders.length > 0 && !await holdsReach(objects, top.roots)) {
|
|
367
|
+
const lender = await heldLender(borrowed.lenders, here.owners);
|
|
368
|
+
if (lender)
|
|
369
|
+
throw new GitApplyWait(`${repository.worktree} borrows objects repository ${lender} has yet to bring`, lender);
|
|
370
|
+
}
|
|
321
371
|
await checkConnected(objects, top.roots);
|
|
322
372
|
for (const step of steps)
|
|
323
|
-
await
|
|
373
|
+
await write(step);
|
|
324
374
|
}
|
|
325
375
|
finally {
|
|
326
376
|
await Promise.all(keeps.map(releaseKeep));
|
|
@@ -329,7 +379,7 @@ async function installState(repository, objects, target, top, artifact, known, k
|
|
|
329
379
|
/** Reads the repository where it stands; one Git refuses holds the format
|
|
330
380
|
* and home of the state just written. */
|
|
331
381
|
const verify = (worktree, transportVersion, artifact, owners) => proved(worktree, transportVersion, artifact, readHere(worktree, owners, async () => artifact.state));
|
|
332
|
-
const verifyAt = (repository, transportVersion, artifact, home) => proved(repository.worktree, transportVersion, artifact, readGitState(repository, home));
|
|
382
|
+
const verifyAt = (repository, transportVersion, artifact, home, ground) => proved(repository.worktree, transportVersion, artifact, readGitState(repository, home, ground));
|
|
333
383
|
async function proved(worktree, transportVersion, artifact, reading) {
|
|
334
384
|
const read = await reading;
|
|
335
385
|
const stateId = gitStateId(artifact.state, sha256);
|
package/dist/git/rail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/git/rail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/git/rail.ts"],"names":[],"mappings":"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"}
|
package/dist/git/read-state.d.ts
CHANGED
|
@@ -13,9 +13,11 @@ export type GitReadResult = {
|
|
|
13
13
|
} | {
|
|
14
14
|
readonly unsupported: string;
|
|
15
15
|
};
|
|
16
|
-
/** Reads the state of a Git directory that lives at `home` (home.ts)
|
|
17
|
-
*
|
|
18
|
-
* path and blob. */
|
|
19
|
-
export declare function readGitState(repository: GitRepository, home: GitHome | null, keep?: (path: string, oid: string) => boolean): Promise<GitReadResult>;
|
|
16
|
+
/** Reads the state of a Git directory that lives at `home` (home.ts), in
|
|
17
|
+
* the ground whose real path is `ground` (null for none). `keep` names the
|
|
18
|
+
* blobs whose bytes the caller needs, given each file's path and blob. */
|
|
19
|
+
export declare function readGitState(repository: GitRepository, home: GitHome | null, ground: string | null, keep?: (path: string, oid: string) => boolean): Promise<GitReadResult>;
|
|
20
|
+
/** A file's bytes as they travel, from those standing here. */
|
|
21
|
+
export declare const travelling: (path: string, ground: string | null) => (bytes: Buffer) => Buffer;
|
|
20
22
|
/** Git's blob ID of these bytes, in SHA-256 whatever the repository's format. */
|
|
21
23
|
export declare const blobId: (bytes: Buffer) => string;
|