@mhalle/vost 0.9.3 → 0.9.6

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/fs.js CHANGED
@@ -481,12 +481,13 @@ export class FS {
481
481
  const hasWild = seg.includes('*') || seg.includes('?');
482
482
  if (hasWild) {
483
483
  const entries = await this._iglobEntries(treeOid);
484
- for (const [name, , oid] of entries) {
484
+ for (const [name, isDir, oid] of entries) {
485
485
  if (!globMatch(seg, name))
486
486
  continue;
487
487
  const full = prefix ? `${prefix}/${name}` : name;
488
488
  if (rest.length > 0) {
489
- yield* this._iglobWalk(rest, full, oid);
489
+ if (isDir)
490
+ yield* this._iglobWalk(rest, full, oid);
490
491
  }
491
492
  else {
492
493
  yield full;
@@ -502,7 +503,8 @@ export class FS {
502
503
  return;
503
504
  const full = prefix ? `${prefix}/${seg}` : seg;
504
505
  if (rest.length > 0) {
505
- yield* this._iglobWalk(rest, full, entry.oid);
506
+ if (entry.mode === MODE_TREE)
507
+ yield* this._iglobWalk(rest, full, entry.oid);
506
508
  }
507
509
  else {
508
510
  yield full;
package/dist/fs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
@@ -42,33 +42,65 @@ export declare class GitStore {
42
42
  /**
43
43
  * Push all refs to url, creating an exact mirror.
44
44
  *
45
- * Remote-only refs are deleted.
45
+ * Remote-only refs are deleted (unless `refs` filtering is used).
46
+ * Supports HTTP URLs, local bare-repo paths, and `.bundle` files.
46
47
  *
47
- * @param url - Remote repository URL (HTTPS or local path).
48
- * @param opts.http - HTTP client (isomorphic-git compatible).
48
+ * @param url - Remote repository URL, local path, or bundle file path.
49
+ * @param opts.http - HTTP client (required for HTTP URLs only).
49
50
  * @param opts.dryRun - Compute diff without pushing.
50
51
  * @param opts.onAuth - Optional authentication callback.
52
+ * @param opts.refs - Only backup these refs (short names resolved automatically).
53
+ * @param opts.format - Force format: `'bundle'` for git bundle output.
51
54
  * @returns A MirrorDiff describing what changed (or would change).
52
55
  */
53
56
  backup(url: string, opts?: {
54
- http: HttpClient;
57
+ http?: HttpClient;
55
58
  dryRun?: boolean;
56
59
  onAuth?: Function;
60
+ refs?: string[];
61
+ format?: string;
57
62
  }): Promise<MirrorDiff>;
58
63
  /**
59
- * Fetch all refs from url, overwriting local state.
64
+ * Fetch refs from url additively into the local store.
60
65
  *
61
- * Local-only refs are deleted.
66
+ * Local-only refs are preserved (not deleted). All branches, tags,
67
+ * and notes from the source are merged in, but HEAD (the current
68
+ * branch pointer) is not changed — use
69
+ * `store.branches.setCurrent("name")` afterwards if needed.
62
70
  *
63
- * @param url - Remote repository URL (HTTPS or local path).
64
- * @param opts.http - HTTP client (isomorphic-git compatible).
71
+ * Supports HTTP URLs, local bare-repo paths, and `.bundle` files.
72
+ *
73
+ * @param url - Remote repository URL, local path, or bundle file path.
74
+ * @param opts.http - HTTP client (required for HTTP URLs only).
65
75
  * @param opts.dryRun - Compute diff without fetching.
66
76
  * @param opts.onAuth - Optional authentication callback.
77
+ * @param opts.refs - Only restore these refs (short names resolved automatically).
78
+ * @param opts.format - Force format: `'bundle'` for git bundle input.
67
79
  * @returns A MirrorDiff describing what changed (or would change).
68
80
  */
69
81
  restore(url: string, opts?: {
70
- http: HttpClient;
82
+ http?: HttpClient;
71
83
  dryRun?: boolean;
72
84
  onAuth?: Function;
85
+ refs?: string[];
86
+ format?: string;
73
87
  }): Promise<MirrorDiff>;
88
+ /**
89
+ * Export refs to a bundle file.
90
+ *
91
+ * @param path - Destination `.bundle` file path.
92
+ * @param opts.refs - Only export these refs (short names resolved automatically).
93
+ */
94
+ bundleExport(path: string, opts?: {
95
+ refs?: string[];
96
+ }): Promise<void>;
97
+ /**
98
+ * Import refs from a bundle file (additive — no deletes).
99
+ *
100
+ * @param path - Source `.bundle` file path.
101
+ * @param opts.refs - Only import these refs (short names resolved automatically).
102
+ */
103
+ bundleImport(path: string, opts?: {
104
+ refs?: string[];
105
+ }): Promise<void>;
74
106
  }
package/dist/gitstore.js CHANGED
@@ -101,12 +101,15 @@ export class GitStore {
101
101
  /**
102
102
  * Push all refs to url, creating an exact mirror.
103
103
  *
104
- * Remote-only refs are deleted.
104
+ * Remote-only refs are deleted (unless `refs` filtering is used).
105
+ * Supports HTTP URLs, local bare-repo paths, and `.bundle` files.
105
106
  *
106
- * @param url - Remote repository URL (HTTPS or local path).
107
- * @param opts.http - HTTP client (isomorphic-git compatible).
107
+ * @param url - Remote repository URL, local path, or bundle file path.
108
+ * @param opts.http - HTTP client (required for HTTP URLs only).
108
109
  * @param opts.dryRun - Compute diff without pushing.
109
110
  * @param opts.onAuth - Optional authentication callback.
111
+ * @param opts.refs - Only backup these refs (short names resolved automatically).
112
+ * @param opts.format - Force format: `'bundle'` for git bundle output.
110
113
  * @returns A MirrorDiff describing what changed (or would change).
111
114
  */
112
115
  async backup(url, opts = {}) {
@@ -114,19 +117,46 @@ export class GitStore {
114
117
  return backup(this, url, opts);
115
118
  }
116
119
  /**
117
- * Fetch all refs from url, overwriting local state.
120
+ * Fetch refs from url additively into the local store.
118
121
  *
119
- * Local-only refs are deleted.
122
+ * Local-only refs are preserved (not deleted). All branches, tags,
123
+ * and notes from the source are merged in, but HEAD (the current
124
+ * branch pointer) is not changed — use
125
+ * `store.branches.setCurrent("name")` afterwards if needed.
120
126
  *
121
- * @param url - Remote repository URL (HTTPS or local path).
122
- * @param opts.http - HTTP client (isomorphic-git compatible).
127
+ * Supports HTTP URLs, local bare-repo paths, and `.bundle` files.
128
+ *
129
+ * @param url - Remote repository URL, local path, or bundle file path.
130
+ * @param opts.http - HTTP client (required for HTTP URLs only).
123
131
  * @param opts.dryRun - Compute diff without fetching.
124
132
  * @param opts.onAuth - Optional authentication callback.
133
+ * @param opts.refs - Only restore these refs (short names resolved automatically).
134
+ * @param opts.format - Force format: `'bundle'` for git bundle input.
125
135
  * @returns A MirrorDiff describing what changed (or would change).
126
136
  */
127
137
  async restore(url, opts = {}) {
128
138
  const { restore } = await import('./mirror.js');
129
139
  return restore(this, url, opts);
130
140
  }
141
+ /**
142
+ * Export refs to a bundle file.
143
+ *
144
+ * @param path - Destination `.bundle` file path.
145
+ * @param opts.refs - Only export these refs (short names resolved automatically).
146
+ */
147
+ async bundleExport(path, opts = {}) {
148
+ const { bundleExport } = await import('./mirror.js');
149
+ return bundleExport(this, path, opts.refs);
150
+ }
151
+ /**
152
+ * Import refs from a bundle file (additive — no deletes).
153
+ *
154
+ * @param path - Source `.bundle` file path.
155
+ * @param opts.refs - Only import these refs (short names resolved automatically).
156
+ */
157
+ async bundleImport(path, opts = {}) {
158
+ const { bundleImport } = await import('./mirror.js');
159
+ return bundleImport(this, path, opts.refs);
160
+ }
131
161
  }
132
162
  //# sourceMappingURL=gitstore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitstore.js","sourceRoot":"","sources":["../src/gitstore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitstore.js","sourceRoot":"","sources":["../src/gitstore.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -30,7 +30,7 @@ export { FsWriter, BatchWriter } from './fileobj.js';
30
30
  export { RefDict } from './refdict.js';
31
31
  export { NoteDict, NoteNamespace, NotesBatch } from './notes.js';
32
32
  export { FileType, fileTypeFromMode, fileModeFromType, MODE_BLOB, MODE_BLOB_EXEC, MODE_LINK, MODE_TREE, GitStoreError, StaleSnapshotError, FileNotFoundError, IsADirectoryError, NotADirectoryError, PermissionError, KeyNotFoundError, KeyExistsError, InvalidRefNameError, InvalidPathError, BatchClosedError, type WalkEntry, type WriteEntry, type StatResult, type FileEntry, type ChangeAction, type ChangeError, type ChangeReport, type RefChange, type MirrorDiff, type CommitInfo, type ReflogEntry, type Signature, type FsModule, type HttpClient, emptyChangeReport, changeReportInSync, changeReportTotal, changeReportActions, mirrorDiffInSync, mirrorDiffTotal, } from './types.js';
33
- export { resolveCredentials } from './mirror.js';
33
+ export { resolveCredentials, bundleExport, bundleImport } from './mirror.js';
34
34
  export { diskGlob } from './copy.js';
35
35
  export { ExcludeFilter } from './exclude.js';
36
36
  export { normalizePath, validateRefName } from './paths.js';
package/dist/index.js CHANGED
@@ -41,7 +41,7 @@ emptyChangeReport, changeReportInSync, changeReportTotal, changeReportActions,
41
41
  // MirrorDiff helpers
42
42
  mirrorDiffInSync, mirrorDiffTotal, } from './types.js';
43
43
  // Mirror utilities
44
- export { resolveCredentials } from './mirror.js';
44
+ export { resolveCredentials, bundleExport, bundleImport } from './mirror.js';
45
45
  // Copy operations (usable standalone)
46
46
  export { diskGlob } from './copy.js';
47
47
  export { ExcludeFilter } from './exclude.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,4BAA4B;AAC5B,OAAO;AACL,qBAAqB;AACrB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS;AAET,SAAS;AACT,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB;AAkBhB,uBAAuB;AACvB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB;AAEnB,qBAAqB;AACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,4BAA4B;AAC5B,OAAO;AACL,qBAAqB;AACrB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS;AAET,SAAS;AACT,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB;AAkBhB,uBAAuB;AACvB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB;AAEnB,qBAAqB;AACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7E,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
package/dist/mirror.d.ts CHANGED
@@ -2,10 +2,13 @@
2
2
  * Mirror (backup/restore) operations for vost.
3
3
  *
4
4
  * Uses isomorphic-git's push/fetch for HTTP transport.
5
+ * For local paths and bundles, shells out to the `git` CLI.
5
6
  * Each ref is pushed/fetched individually to achieve mirror semantics.
6
7
  */
7
8
  import type { MirrorDiff, HttpClient } from './types.js';
8
9
  import type { GitStore } from './gitstore.js';
10
+ export declare function bundleExport(store: GitStore, destPath: string, refs?: string[]): Promise<void>;
11
+ export declare function bundleImport(store: GitStore, bundlePath: string, refs?: string[]): Promise<void>;
9
12
  /**
10
13
  * Inject credentials into an HTTPS URL if available.
11
14
  *
@@ -23,31 +26,45 @@ import type { GitStore } from './gitstore.js';
23
26
  export declare function resolveCredentials(url: string): Promise<string>;
24
27
  /**
25
28
  * Push all local refs to url, creating an exact mirror.
26
- * Remote-only refs are deleted.
29
+ * Remote-only refs are deleted (unless `refs` filtering is used).
30
+ *
31
+ * Supports HTTP URLs (via isomorphic-git), local bare-repo paths
32
+ * (via `git` CLI), and `.bundle` files.
27
33
  *
28
34
  * @param store - The GitStore to backup from.
29
- * @param url - Remote repository URL (HTTPS or local path).
30
- * @param opts - Options: `http` client, `dryRun` to compute diff without pushing,
31
- * and optional `onAuth` callback for credentials.
35
+ * @param url - Remote repository URL, local path, or bundle file path.
36
+ * @param opts - Options: `http` client (required for HTTP URLs only),
37
+ * `dryRun` to compute diff without pushing, optional
38
+ * `onAuth` callback, `refs` to filter which refs to push,
39
+ * `format` to force bundle format.
32
40
  * @returns A {@link MirrorDiff} describing what changed (or would change).
33
41
  */
34
- export declare function backup(store: GitStore, url: string, opts: {
35
- http: HttpClient;
42
+ export declare function backup(store: GitStore, url: string, opts?: {
43
+ http?: HttpClient;
36
44
  dryRun?: boolean;
37
45
  onAuth?: Function;
46
+ refs?: string[];
47
+ format?: string;
38
48
  }): Promise<MirrorDiff>;
39
49
  /**
40
- * Fetch all remote refs from url, overwriting local state.
41
- * Local-only refs are deleted.
50
+ * Fetch refs from url additively into the local store.
51
+ * Local-only refs are preserved (not deleted).
52
+ *
53
+ * Supports HTTP URLs (via isomorphic-git), local bare-repo paths
54
+ * (via `git` CLI), and `.bundle` files.
42
55
  *
43
56
  * @param store - The GitStore to restore into.
44
- * @param url - Remote repository URL (HTTPS or local path).
45
- * @param opts - Options: `http` client, `dryRun` to compute diff without fetching,
46
- * and optional `onAuth` callback for credentials.
57
+ * @param url - Remote repository URL, local path, or bundle file path.
58
+ * @param opts - Options: `http` client (required for HTTP URLs only),
59
+ * `dryRun` to compute diff without fetching, optional
60
+ * `onAuth` callback, `refs` to filter which refs to pull,
61
+ * `format` to force bundle format.
47
62
  * @returns A {@link MirrorDiff} describing what changed (or would change).
48
63
  */
49
- export declare function restore(store: GitStore, url: string, opts: {
50
- http: HttpClient;
64
+ export declare function restore(store: GitStore, url: string, opts?: {
65
+ http?: HttpClient;
51
66
  dryRun?: boolean;
52
67
  onAuth?: Function;
68
+ refs?: string[];
69
+ format?: string;
53
70
  }): Promise<MirrorDiff>;
package/dist/mirror.js CHANGED
@@ -2,9 +2,421 @@
2
2
  * Mirror (backup/restore) operations for vost.
3
3
  *
4
4
  * Uses isomorphic-git's push/fetch for HTTP transport.
5
+ * For local paths and bundles, shells out to the `git` CLI.
5
6
  * Each ref is pushed/fetched individually to achieve mirror semantics.
6
7
  */
7
8
  import git from 'isomorphic-git';
9
+ // ---------------------------------------------------------------------------
10
+ // Helpers
11
+ // ---------------------------------------------------------------------------
12
+ function isBundlePath(path) {
13
+ return path.toLowerCase().endsWith('.bundle');
14
+ }
15
+ function resolveRefNames(names, available) {
16
+ const result = new Set();
17
+ for (const name of names) {
18
+ if (name.startsWith('refs/')) {
19
+ result.add(name);
20
+ continue;
21
+ }
22
+ let found = false;
23
+ for (const prefix of ['refs/heads/', 'refs/tags/', 'refs/notes/']) {
24
+ const candidate = `${prefix}${name}`;
25
+ if (available.has(candidate)) {
26
+ result.add(candidate);
27
+ found = true;
28
+ break;
29
+ }
30
+ }
31
+ if (!found) {
32
+ result.add(`refs/heads/${name}`);
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+ function isLocalPath(url) {
38
+ return (!url.startsWith('http://') &&
39
+ !url.startsWith('https://') &&
40
+ !url.startsWith('git://') &&
41
+ !url.startsWith('ssh://'));
42
+ }
43
+ // ---------------------------------------------------------------------------
44
+ // Git CLI helpers (for local paths and bundles)
45
+ // ---------------------------------------------------------------------------
46
+ async function getLocalRefsGit(gitdir) {
47
+ const { execFileSync } = await import('node:child_process');
48
+ let output;
49
+ try {
50
+ output = execFileSync('git', ['for-each-ref', '--format=%(objectname) %(refname)'], { cwd: gitdir, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
51
+ }
52
+ catch {
53
+ return new Map();
54
+ }
55
+ const refs = new Map();
56
+ for (const line of output.trim().split('\n')) {
57
+ if (!line)
58
+ continue;
59
+ const space = line.indexOf(' ');
60
+ if (space < 0)
61
+ continue;
62
+ const sha = line.slice(0, space);
63
+ const name = line.slice(space + 1);
64
+ if (name === 'HEAD')
65
+ continue;
66
+ refs.set(name, sha);
67
+ }
68
+ return refs;
69
+ }
70
+ async function getLocalRefsNative(store) {
71
+ const fs = store._fsModule;
72
+ const gitdir = store._gitdir;
73
+ const refs = new Map();
74
+ // Branches
75
+ const branches = await git.listBranches({ fs, gitdir });
76
+ for (const branch of branches) {
77
+ const oid = await git.resolveRef({ fs, gitdir, ref: `refs/heads/${branch}` });
78
+ refs.set(`refs/heads/${branch}`, oid);
79
+ }
80
+ // Tags
81
+ const tags = await git.listTags({ fs, gitdir });
82
+ for (const tag of tags) {
83
+ const oid = await git.resolveRef({ fs, gitdir, ref: `refs/tags/${tag}` });
84
+ refs.set(`refs/tags/${tag}`, oid);
85
+ }
86
+ // Notes — no isomorphic-git API for listing note namespaces; read directory
87
+ const notesDir = `${gitdir}/refs/notes`;
88
+ try {
89
+ const entries = await fs.promises.readdir(notesDir);
90
+ for (const name of entries) {
91
+ const ref = `refs/notes/${name}`;
92
+ try {
93
+ const oid = await git.resolveRef({ fs, gitdir, ref });
94
+ refs.set(ref, oid);
95
+ }
96
+ catch {
97
+ // skip unresolvable entries
98
+ }
99
+ }
100
+ }
101
+ catch {
102
+ // refs/notes/ doesn't exist — no notes
103
+ }
104
+ return refs;
105
+ }
106
+ async function getRemoteRefsGit(gitdir, url) {
107
+ // For local paths, open directly
108
+ if (isLocalPath(url) || url.startsWith('file://')) {
109
+ const localPath = url.startsWith('file://') ? url.slice(7) : url;
110
+ const { existsSync } = await import('node:fs');
111
+ if (!existsSync(localPath))
112
+ return new Map();
113
+ return getLocalRefsGit(localPath);
114
+ }
115
+ // Remote URL
116
+ const { execFileSync } = await import('node:child_process');
117
+ let output;
118
+ try {
119
+ output = execFileSync('git', ['ls-remote', url], {
120
+ cwd: gitdir,
121
+ encoding: 'utf-8',
122
+ stdio: ['pipe', 'pipe', 'pipe'],
123
+ });
124
+ }
125
+ catch {
126
+ return new Map();
127
+ }
128
+ const refs = new Map();
129
+ for (const line of output.trim().split('\n')) {
130
+ if (!line)
131
+ continue;
132
+ const parts = line.split('\t');
133
+ if (parts.length < 2)
134
+ continue;
135
+ const [sha, name] = parts;
136
+ if (name === 'HEAD' || name.endsWith('^{}'))
137
+ continue;
138
+ refs.set(name, sha);
139
+ }
140
+ return refs;
141
+ }
142
+ // ---------------------------------------------------------------------------
143
+ // Object graph walker (for native bundle export)
144
+ // ---------------------------------------------------------------------------
145
+ async function collectReachableOids(fsModule, gitdir, startOids) {
146
+ const visited = new Set();
147
+ const queue = [...startOids];
148
+ while (queue.length > 0) {
149
+ const oid = queue.pop();
150
+ if (visited.has(oid))
151
+ continue;
152
+ visited.add(oid);
153
+ const obj = await git.readObject({ fs: fsModule, gitdir, oid, format: 'parsed' });
154
+ switch (obj.type) {
155
+ case 'commit': {
156
+ const commit = obj.object;
157
+ queue.push(commit.tree);
158
+ if (commit.parent) {
159
+ for (const p of commit.parent)
160
+ queue.push(p);
161
+ }
162
+ break;
163
+ }
164
+ case 'tree': {
165
+ const entries = obj.object;
166
+ for (const entry of entries) {
167
+ if (visited.has(entry.oid))
168
+ continue;
169
+ if (entry.type === 'blob') {
170
+ // Blobs are leaves — add to visited but don't read
171
+ visited.add(entry.oid);
172
+ }
173
+ else if (entry.type === 'tree') {
174
+ queue.push(entry.oid);
175
+ }
176
+ // skip 'commit' entries (submodules)
177
+ }
178
+ break;
179
+ }
180
+ case 'tag': {
181
+ const tag = obj.object;
182
+ queue.push(tag.object);
183
+ break;
184
+ }
185
+ // blob: leaf — no children
186
+ }
187
+ }
188
+ return visited;
189
+ }
190
+ function parseBundleHeader(data) {
191
+ // Find the blank line (\n\n) that separates header from packfile
192
+ let headerEnd = -1;
193
+ for (let i = 0; i < data.length - 1; i++) {
194
+ if (data[i] === 0x0a && data[i + 1] === 0x0a) {
195
+ headerEnd = i;
196
+ break;
197
+ }
198
+ }
199
+ if (headerEnd < 0) {
200
+ throw new Error('Invalid bundle: no header/packfile separator found');
201
+ }
202
+ const headerText = new TextDecoder().decode(data.subarray(0, headerEnd));
203
+ const lines = headerText.split('\n');
204
+ if (lines[0] !== '# v2 git bundle') {
205
+ throw new Error(`Invalid bundle signature: ${lines[0]}`);
206
+ }
207
+ const refs = new Map();
208
+ const prerequisites = [];
209
+ for (let i = 1; i < lines.length; i++) {
210
+ const line = lines[i];
211
+ if (!line)
212
+ continue;
213
+ if (line.startsWith('-')) {
214
+ prerequisites.push(line.slice(1));
215
+ continue;
216
+ }
217
+ const space = line.indexOf(' ');
218
+ if (space < 0)
219
+ continue;
220
+ const sha = line.slice(0, space);
221
+ const refName = line.slice(space + 1);
222
+ refs.set(refName, sha);
223
+ }
224
+ return { refs, prerequisites, packOffset: headerEnd + 2 };
225
+ }
226
+ // ---------------------------------------------------------------------------
227
+ // Bundle helpers (native — no git CLI)
228
+ // ---------------------------------------------------------------------------
229
+ export async function bundleExport(store, destPath, refs) {
230
+ const fsModule = store._fsModule;
231
+ const gitdir = store._gitdir;
232
+ // Get all local refs
233
+ const localRefs = await getLocalRefsNative(store);
234
+ // Filter if requested
235
+ let filtered;
236
+ if (refs && refs.length > 0) {
237
+ const resolved = resolveRefNames(refs, localRefs);
238
+ filtered = new Map();
239
+ for (const [k, v] of localRefs) {
240
+ if (resolved.has(k))
241
+ filtered.set(k, v);
242
+ }
243
+ }
244
+ else {
245
+ filtered = localRefs;
246
+ }
247
+ if (filtered.size === 0) {
248
+ throw new Error('Nothing to bundle: no matching refs');
249
+ }
250
+ // Collect all reachable OIDs
251
+ const startOids = [...new Set(filtered.values())];
252
+ const allOids = await collectReachableOids(fsModule, gitdir, startOids);
253
+ // Create packfile
254
+ const { packfile } = await git.packObjects({
255
+ fs: fsModule,
256
+ gitdir,
257
+ oids: [...allOids],
258
+ });
259
+ if (!packfile) {
260
+ throw new Error('packObjects returned no data');
261
+ }
262
+ // Build bundle v2 header
263
+ let header = '# v2 git bundle\n';
264
+ for (const [refName, sha] of filtered) {
265
+ header += `${sha} ${refName}\n`;
266
+ }
267
+ header += '\n';
268
+ // Concatenate header + packfile
269
+ const headerBytes = new TextEncoder().encode(header);
270
+ const bundle = new Uint8Array(headerBytes.length + packfile.length);
271
+ bundle.set(headerBytes, 0);
272
+ bundle.set(packfile, headerBytes.length);
273
+ await fsModule.promises.writeFile(destPath, bundle);
274
+ }
275
+ async function bundleListHeads(store, bundlePath) {
276
+ const raw = await store._fsModule.promises.readFile(bundlePath);
277
+ const data = raw instanceof Uint8Array ? raw : new TextEncoder().encode(raw);
278
+ const { refs } = parseBundleHeader(data);
279
+ return refs;
280
+ }
281
+ export async function bundleImport(store, bundlePath, refs) {
282
+ const fsModule = store._fsModule;
283
+ const gitdir = store._gitdir;
284
+ // Read bundle file
285
+ const raw = await fsModule.promises.readFile(bundlePath);
286
+ const data = raw instanceof Uint8Array ? raw : new TextEncoder().encode(raw);
287
+ const { refs: bundleRefs, packOffset } = parseBundleHeader(data);
288
+ // Extract packfile bytes
289
+ const packData = data.subarray(packOffset);
290
+ // Ensure objects/pack directory exists
291
+ const packDir = `${gitdir}/objects/pack`;
292
+ try {
293
+ await fsModule.promises.mkdir(packDir, { recursive: true });
294
+ }
295
+ catch {
296
+ // already exists
297
+ }
298
+ // Write packfile — use checksum from last 20 bytes for git-conventional naming
299
+ const checksum = Array.from(packData.subarray(-20))
300
+ .map((b) => b.toString(16).padStart(2, '0'))
301
+ .join('');
302
+ const packRelPath = `objects/pack/pack-${checksum}.pack`;
303
+ await fsModule.promises.writeFile(`${gitdir}/${packRelPath}`, packData);
304
+ // Index the packfile (creates .idx alongside .pack)
305
+ await git.indexPack({
306
+ fs: fsModule,
307
+ dir: gitdir,
308
+ gitdir,
309
+ filepath: packRelPath,
310
+ });
311
+ // Determine which refs to set
312
+ let refsToSet;
313
+ if (refs && refs.length > 0) {
314
+ const resolved = resolveRefNames(refs, bundleRefs);
315
+ refsToSet = new Map();
316
+ for (const [k, v] of bundleRefs) {
317
+ if (resolved.has(k))
318
+ refsToSet.set(k, v);
319
+ }
320
+ }
321
+ else {
322
+ refsToSet = bundleRefs;
323
+ }
324
+ // Set each ref
325
+ for (const [ref, oid] of refsToSet) {
326
+ await git.writeRef({
327
+ fs: fsModule,
328
+ gitdir,
329
+ ref,
330
+ value: oid,
331
+ force: true,
332
+ });
333
+ }
334
+ }
335
+ // ---------------------------------------------------------------------------
336
+ // Transport helpers (git CLI for local paths)
337
+ // ---------------------------------------------------------------------------
338
+ async function autoCreateBareRepo(url) {
339
+ if (!isLocalPath(url))
340
+ return;
341
+ const localPath = url.startsWith('file://') ? url.slice(7) : url;
342
+ const { existsSync } = await import('node:fs');
343
+ if (existsSync(localPath))
344
+ return;
345
+ const { execFileSync } = await import('node:child_process');
346
+ execFileSync('git', ['init', '--bare', localPath], {
347
+ encoding: 'utf-8',
348
+ stdio: ['pipe', 'pipe', 'pipe'],
349
+ });
350
+ }
351
+ async function mirrorPushGit(gitdir, url) {
352
+ const { execFileSync } = await import('node:child_process');
353
+ execFileSync('git', ['-C', gitdir, 'push', '--mirror', url], {
354
+ encoding: 'utf-8',
355
+ stdio: ['pipe', 'pipe', 'pipe'],
356
+ timeout: 60000,
357
+ });
358
+ }
359
+ async function targetedPushGit(gitdir, url, refFilter) {
360
+ const { execFileSync } = await import('node:child_process');
361
+ const refspecs = [...refFilter].map((r) => `+${r}:${r}`);
362
+ execFileSync('git', ['-C', gitdir, 'push', url, ...refspecs], {
363
+ encoding: 'utf-8',
364
+ stdio: ['pipe', 'pipe', 'pipe'],
365
+ timeout: 60000,
366
+ });
367
+ }
368
+ async function additiveFetchGit(gitdir, url, refs) {
369
+ const remoteRefs = await getRemoteRefsGit(gitdir, url);
370
+ if (remoteRefs.size === 0)
371
+ return;
372
+ let refsToFetch;
373
+ if (refs && refs.length > 0) {
374
+ const resolved = resolveRefNames(refs, remoteRefs);
375
+ refsToFetch = new Map();
376
+ for (const [k, v] of remoteRefs) {
377
+ if (resolved.has(k))
378
+ refsToFetch.set(k, v);
379
+ }
380
+ }
381
+ else {
382
+ refsToFetch = remoteRefs;
383
+ }
384
+ if (refsToFetch.size === 0)
385
+ return;
386
+ const { execFileSync } = await import('node:child_process');
387
+ const refspecs = [...refsToFetch.keys()].map((r) => `+${r}:${r}`);
388
+ execFileSync('git', ['-C', gitdir, 'fetch', url, ...refspecs, '--force'], {
389
+ encoding: 'utf-8',
390
+ stdio: ['pipe', 'pipe', 'pipe'],
391
+ timeout: 60000,
392
+ });
393
+ // No deletes — additive
394
+ }
395
+ // ---------------------------------------------------------------------------
396
+ // Diff computation
397
+ // ---------------------------------------------------------------------------
398
+ function diffRefsMap(src, dest) {
399
+ const add = [];
400
+ const update = [];
401
+ const del = [];
402
+ for (const [ref, sha] of src) {
403
+ if (!dest.has(ref)) {
404
+ add.push({ ref, newTarget: sha });
405
+ }
406
+ else if (dest.get(ref) !== sha) {
407
+ update.push({ ref, oldTarget: dest.get(ref), newTarget: sha });
408
+ }
409
+ }
410
+ for (const [ref] of dest) {
411
+ if (!src.has(ref)) {
412
+ del.push({ ref, oldTarget: dest.get(ref) });
413
+ }
414
+ }
415
+ return { add, update, delete: del };
416
+ }
417
+ // ---------------------------------------------------------------------------
418
+ // Credentials
419
+ // ---------------------------------------------------------------------------
8
420
  /**
9
421
  * Inject credentials into an HTTPS URL if available.
10
422
  *
@@ -76,17 +488,81 @@ export async function resolveCredentials(url) {
76
488
  }
77
489
  return url;
78
490
  }
491
+ // ---------------------------------------------------------------------------
492
+ // backup
493
+ // ---------------------------------------------------------------------------
79
494
  /**
80
495
  * Push all local refs to url, creating an exact mirror.
81
- * Remote-only refs are deleted.
496
+ * Remote-only refs are deleted (unless `refs` filtering is used).
497
+ *
498
+ * Supports HTTP URLs (via isomorphic-git), local bare-repo paths
499
+ * (via `git` CLI), and `.bundle` files.
82
500
  *
83
501
  * @param store - The GitStore to backup from.
84
- * @param url - Remote repository URL (HTTPS or local path).
85
- * @param opts - Options: `http` client, `dryRun` to compute diff without pushing,
86
- * and optional `onAuth` callback for credentials.
502
+ * @param url - Remote repository URL, local path, or bundle file path.
503
+ * @param opts - Options: `http` client (required for HTTP URLs only),
504
+ * `dryRun` to compute diff without pushing, optional
505
+ * `onAuth` callback, `refs` to filter which refs to push,
506
+ * `format` to force bundle format.
87
507
  * @returns A {@link MirrorDiff} describing what changed (or would change).
88
508
  */
89
- export async function backup(store, url, opts) {
509
+ export async function backup(store, url, opts = {}) {
510
+ const useBundle = opts.format === 'bundle' || isBundlePath(url);
511
+ const gitdir = store._gitdir;
512
+ if (useBundle) {
513
+ // Bundle export
514
+ const localRefs = await getLocalRefsNative(store);
515
+ let filtered;
516
+ if (opts.refs && opts.refs.length > 0) {
517
+ const resolved = resolveRefNames(opts.refs, localRefs);
518
+ filtered = new Map();
519
+ for (const [k, v] of localRefs) {
520
+ if (resolved.has(k))
521
+ filtered.set(k, v);
522
+ }
523
+ }
524
+ else {
525
+ filtered = localRefs;
526
+ }
527
+ // All refs are "add" for bundle export
528
+ const add = [];
529
+ for (const [ref, sha] of filtered) {
530
+ add.push({ ref, newTarget: sha });
531
+ }
532
+ const diff = { add, update: [], delete: [] };
533
+ if (!opts.dryRun) {
534
+ await bundleExport(store, url, opts.refs);
535
+ }
536
+ return diff;
537
+ }
538
+ // Non-bundle: local path or HTTP URL
539
+ const useGit = isLocalPath(url) || url.startsWith('file://');
540
+ if (useGit) {
541
+ await autoCreateBareRepo(url);
542
+ const localRefs = await getLocalRefsGit(gitdir);
543
+ const remoteRefs = await getRemoteRefsGit(gitdir, url);
544
+ if (opts.refs && opts.refs.length > 0) {
545
+ const refSet = resolveRefNames(opts.refs, localRefs);
546
+ const diff = diffRefsMap(localRefs, remoteRefs);
547
+ diff.add = diff.add.filter((r) => refSet.has(r.ref));
548
+ diff.update = diff.update.filter((r) => refSet.has(r.ref));
549
+ diff.delete = []; // no deletes with --ref
550
+ if (!opts.dryRun && (diff.add.length || diff.update.length)) {
551
+ await targetedPushGit(gitdir, url, refSet);
552
+ }
553
+ return diff;
554
+ }
555
+ const diff = diffRefsMap(localRefs, remoteRefs);
556
+ if (!opts.dryRun &&
557
+ (diff.add.length || diff.update.length || diff.delete.length)) {
558
+ await mirrorPushGit(gitdir, url);
559
+ }
560
+ return diff;
561
+ }
562
+ // HTTP URL — use existing isomorphic-git path
563
+ if (!opts.http) {
564
+ throw new Error('http client required for HTTP URLs');
565
+ }
90
566
  const diff = await diffRefs(store, url, 'push', opts);
91
567
  if (!opts.dryRun) {
92
568
  // Push all local branches
@@ -137,18 +613,84 @@ export async function backup(store, url, opts) {
137
613
  }
138
614
  return diff;
139
615
  }
616
+ // ---------------------------------------------------------------------------
617
+ // restore
618
+ // ---------------------------------------------------------------------------
140
619
  /**
141
- * Fetch all remote refs from url, overwriting local state.
142
- * Local-only refs are deleted.
620
+ * Fetch refs from url additively into the local store.
621
+ * Local-only refs are preserved (not deleted).
622
+ *
623
+ * Supports HTTP URLs (via isomorphic-git), local bare-repo paths
624
+ * (via `git` CLI), and `.bundle` files.
143
625
  *
144
626
  * @param store - The GitStore to restore into.
145
- * @param url - Remote repository URL (HTTPS or local path).
146
- * @param opts - Options: `http` client, `dryRun` to compute diff without fetching,
147
- * and optional `onAuth` callback for credentials.
627
+ * @param url - Remote repository URL, local path, or bundle file path.
628
+ * @param opts - Options: `http` client (required for HTTP URLs only),
629
+ * `dryRun` to compute diff without fetching, optional
630
+ * `onAuth` callback, `refs` to filter which refs to pull,
631
+ * `format` to force bundle format.
148
632
  * @returns A {@link MirrorDiff} describing what changed (or would change).
149
633
  */
150
- export async function restore(store, url, opts) {
634
+ export async function restore(store, url, opts = {}) {
635
+ const useBundle = opts.format === 'bundle' || isBundlePath(url);
636
+ const gitdir = store._gitdir;
637
+ if (useBundle) {
638
+ // Bundle import
639
+ const bundleRefs = await bundleListHeads(store, url);
640
+ let filtered;
641
+ if (opts.refs && opts.refs.length > 0) {
642
+ const resolved = resolveRefNames(opts.refs, bundleRefs);
643
+ filtered = new Map();
644
+ for (const [k, v] of bundleRefs) {
645
+ if (resolved.has(k))
646
+ filtered.set(k, v);
647
+ }
648
+ }
649
+ else {
650
+ filtered = bundleRefs;
651
+ }
652
+ const localRefs = await getLocalRefsNative(store);
653
+ const diff = diffRefsMap(filtered, localRefs);
654
+ diff.delete = []; // additive: no deletes
655
+ if (!opts.dryRun) {
656
+ await bundleImport(store, url, opts.refs);
657
+ }
658
+ return diff;
659
+ }
660
+ // Non-bundle: local path or HTTP URL
661
+ const useGit = isLocalPath(url) || url.startsWith('file://');
662
+ if (useGit) {
663
+ const localRefs = await getLocalRefsGit(gitdir);
664
+ const remoteRefs = await getRemoteRefsGit(gitdir, url);
665
+ const diff = diffRefsMap(remoteRefs, localRefs);
666
+ if (opts.refs && opts.refs.length > 0) {
667
+ const refSet = resolveRefNames(opts.refs, remoteRefs);
668
+ diff.add = diff.add.filter((r) => refSet.has(r.ref));
669
+ diff.update = diff.update.filter((r) => refSet.has(r.ref));
670
+ }
671
+ diff.delete = []; // additive: never delete
672
+ if (!opts.dryRun && (diff.add.length || diff.update.length)) {
673
+ await additiveFetchGit(gitdir, url, opts.refs);
674
+ }
675
+ return diff;
676
+ }
677
+ // HTTP URL — use existing isomorphic-git path, but make additive
678
+ if (!opts.http) {
679
+ throw new Error('http client required for HTTP URLs');
680
+ }
151
681
  const diff = await diffRefs(store, url, 'pull', opts);
682
+ if (opts.refs && opts.refs.length > 0) {
683
+ // Build available refs set from the remote
684
+ const remoteRefMap = new Map();
685
+ for (const rc of [...diff.add, ...diff.update]) {
686
+ if (rc.newTarget)
687
+ remoteRefMap.set(rc.ref, rc.newTarget);
688
+ }
689
+ const refSet = resolveRefNames(opts.refs, remoteRefMap);
690
+ diff.add = diff.add.filter((r) => refSet.has(r.ref));
691
+ diff.update = diff.update.filter((r) => refSet.has(r.ref));
692
+ }
693
+ diff.delete = []; // additive: never delete
152
694
  if (!opts.dryRun) {
153
695
  // Fetch all remote refs
154
696
  await git.fetch({
@@ -160,7 +702,7 @@ export async function restore(store, url, opts) {
160
702
  prune: true,
161
703
  onAuth: opts.onAuth,
162
704
  });
163
- // Update local refs to match remote
705
+ // Update local refs to match remote (only set, don't delete)
164
706
  const remoteRefs = await git.listServerRefs({
165
707
  http: opts.http,
166
708
  url,
@@ -172,8 +714,20 @@ export async function restore(store, url, opts) {
172
714
  remoteRefMap.set(ref.ref, ref.oid);
173
715
  }
174
716
  }
175
- // Set local refs to match remote
176
- for (const [ref, oid] of remoteRefMap) {
717
+ let refsToSet;
718
+ if (opts.refs && opts.refs.length > 0) {
719
+ const refSet = resolveRefNames(opts.refs, remoteRefMap);
720
+ refsToSet = new Map();
721
+ for (const [k, v] of remoteRefMap) {
722
+ if (refSet.has(k))
723
+ refsToSet.set(k, v);
724
+ }
725
+ }
726
+ else {
727
+ refsToSet = remoteRefMap;
728
+ }
729
+ // Set local refs (NO deletes — additive)
730
+ for (const [ref, oid] of refsToSet) {
177
731
  await git.writeRef({
178
732
  fs: store._fsModule,
179
733
  gitdir: store._gitdir,
@@ -182,32 +736,14 @@ export async function restore(store, url, opts) {
182
736
  force: true,
183
737
  });
184
738
  }
185
- // Delete local refs not on remote
186
- const localBranches = await store.branches.list();
187
- for (const branch of localBranches) {
188
- if (!remoteRefMap.has(`refs/heads/${branch}`)) {
189
- await git.deleteRef({
190
- fs: store._fsModule,
191
- gitdir: store._gitdir,
192
- ref: `refs/heads/${branch}`,
193
- });
194
- }
195
- }
196
- const localTags = await store.tags.list();
197
- for (const tag of localTags) {
198
- if (!remoteRefMap.has(`refs/tags/${tag}`)) {
199
- await git.deleteRef({
200
- fs: store._fsModule,
201
- gitdir: store._gitdir,
202
- ref: `refs/tags/${tag}`,
203
- });
204
- }
205
- }
206
739
  }
207
740
  return diff;
208
741
  }
742
+ // ---------------------------------------------------------------------------
743
+ // diffRefs (isomorphic-git HTTP path)
744
+ // ---------------------------------------------------------------------------
209
745
  /**
210
- * Compare local and remote refs.
746
+ * Compare local and remote refs via isomorphic-git (HTTP transport).
211
747
  */
212
748
  async function diffRefs(store, url, direction, opts) {
213
749
  // Get remote refs
@@ -249,22 +785,6 @@ async function diffRefs(store, url, direction, opts) {
249
785
  localRefs.set(`refs/tags/${tag}`, oid);
250
786
  }
251
787
  const [src, dest] = direction === 'push' ? [localRefs, remoteRefs] : [remoteRefs, localRefs];
252
- const add = [];
253
- const update = [];
254
- const del = [];
255
- for (const [ref, sha] of src) {
256
- if (!dest.has(ref)) {
257
- add.push({ ref, newTarget: sha });
258
- }
259
- else if (dest.get(ref) !== sha) {
260
- update.push({ ref, oldTarget: dest.get(ref), newTarget: sha });
261
- }
262
- }
263
- for (const [ref] of dest) {
264
- if (!src.has(ref)) {
265
- del.push({ ref, oldTarget: dest.get(ref) });
266
- }
267
- }
268
- return { add, update, delete: del };
788
+ return diffRefsMap(src, dest);
269
789
  }
270
790
  //# sourceMappingURL=mirror.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mirror.js","sourceRoot":"","sources":["../src/mirror.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mirror.js","sourceRoot":"","sources":["../src/mirror.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhalle/vost",
3
- "version": "0.9.3",
3
+ "version": "0.9.6",
4
4
  "description": "A versioned filesystem backed by a bare git repository",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",