just-git 1.1.11 → 1.2.0
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/README.md +44 -16
- package/dist/{hooks-OMCbhUGB.d.ts → hooks-Boa35Qx_.d.ts} +19 -2
- package/dist/index.d.ts +91 -3
- package/dist/index.js +401 -370
- package/dist/repo/index.d.ts +1 -1
- package/dist/repo/index.js +13 -13
- package/dist/server/index.d.ts +26 -2
- package/dist/server/index.js +31 -25
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,11 +18,10 @@ npm install just-git
|
|
|
18
18
|
|
|
19
19
|
### Client
|
|
20
20
|
|
|
21
|
-
Provide any `FileSystem` implementation and call `git.exec()`:
|
|
22
|
-
|
|
23
21
|
```ts
|
|
24
|
-
import { createGit } from "just-git";
|
|
22
|
+
import { createGit, MemoryFileSystem } from "just-git";
|
|
25
23
|
|
|
24
|
+
const fs = new MemoryFileSystem();
|
|
26
25
|
const git = createGit({ identity: { name: "Alice", email: "alice@example.com" } });
|
|
27
26
|
|
|
28
27
|
await git.exec("git init", { fs, cwd: "/repo" });
|
|
@@ -31,7 +30,7 @@ await git.exec('git commit -m "initial commit"', { fs, cwd: "/repo" });
|
|
|
31
30
|
await git.exec("git log --oneline", { fs, cwd: "/repo" });
|
|
32
31
|
```
|
|
33
32
|
|
|
34
|
-
Tokenization handles single and double quotes. Pass `env` as a plain object when needed (e.g. `GIT_AUTHOR_NAME`).
|
|
33
|
+
`MemoryFileSystem` is a minimal in-memory filesystem included with just-git. You can also provide your own implementation of the `FileSystem` interface (e.g. wrapping `node:fs/promises`). Tokenization handles single and double quotes. Pass `env` as a plain object when needed (e.g. `GIT_AUTHOR_NAME`).
|
|
35
34
|
|
|
36
35
|
For a full virtual shell with file I/O, pipes, and scripting, pair with [just-bash](https://github.com/vercel-labs/just-bash):
|
|
37
36
|
|
|
@@ -81,14 +80,15 @@ Uses web-standard `Request`/`Response` — works with Bun, Hono, Cloudflare Work
|
|
|
81
80
|
|
|
82
81
|
`createGit(options?)` accepts:
|
|
83
82
|
|
|
84
|
-
| Option | Description
|
|
85
|
-
| --------------- |
|
|
86
|
-
| `identity` | Author/committer override. With `locked: true`, always wins over env vars and git config. Without `locked`, acts as a fallback.
|
|
87
|
-
| `credentials` | `(url) => HttpAuth \| null` callback for Smart HTTP transport auth.
|
|
88
|
-
| `disabled` | `GitCommandName[]` of subcommands to block (e.g. `["push", "rebase"]`).
|
|
89
|
-
| `network` | `{ allowed?: string[], fetch?: FetchFunction }` to restrict HTTP access and/or provide a custom `fetch`. `allowed` accepts hostnames (`"github.com"`) or URL prefixes (`"https://github.com/myorg/"`). Set to `false` to block all network access.
|
|
90
|
-
| `
|
|
91
|
-
| `
|
|
83
|
+
| Option | Description |
|
|
84
|
+
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
85
|
+
| `identity` | Author/committer override. With `locked: true`, always wins over env vars and git config. Without `locked`, acts as a fallback. |
|
|
86
|
+
| `credentials` | `(url) => HttpAuth \| null` callback for Smart HTTP transport auth. |
|
|
87
|
+
| `disabled` | `GitCommandName[]` of subcommands to block (e.g. `["push", "rebase"]`). |
|
|
88
|
+
| `network` | `{ allowed?: string[], fetch?: FetchFunction }` to restrict HTTP access and/or provide a custom `fetch`. `allowed` accepts hostnames (`"github.com"`) or URL prefixes (`"https://github.com/myorg/"`). Set to `false` to block all network access. |
|
|
89
|
+
| `config` | `{ locked?, defaults? }` config overrides. `locked` values always win over `.git/config`; `defaults` supply fallbacks when a key is absent. Keys are dotted config names (e.g. `"push.default"`, `"merge.ff"`). See [Config overrides](#config-overrides). |
|
|
90
|
+
| `hooks` | `GitHooks` config object with named callback properties. See [Hooks](#hooks). |
|
|
91
|
+
| `resolveRemote` | `(url) => GitRepo \| null` callback for cross-VFS remote resolution. See [Multi-agent collaboration](#multi-agent-collaboration). |
|
|
92
92
|
|
|
93
93
|
```ts
|
|
94
94
|
const git = createGit({
|
|
@@ -96,6 +96,10 @@ const git = createGit({
|
|
|
96
96
|
credentials: async (url) => ({ type: "bearer", token: "ghp_..." }),
|
|
97
97
|
disabled: ["rebase"],
|
|
98
98
|
network: false, // no HTTP access
|
|
99
|
+
config: {
|
|
100
|
+
locked: { "push.default": "nothing" },
|
|
101
|
+
defaults: { "merge.ff": "only" },
|
|
102
|
+
},
|
|
99
103
|
});
|
|
100
104
|
```
|
|
101
105
|
|
|
@@ -159,6 +163,30 @@ const git = createGit({
|
|
|
159
163
|
|
|
160
164
|
Available pre-hooks: `preCommit`, `commitMsg`, `mergeMsg`, `preMergeCommit`, `preCheckout`, `prePush`, `preFetch`, `preClone`, `prePull`, `preRebase`, `preReset`, `preClean`, `preRm`, `preCherryPick`, `preRevert`, `preStash`. Available post-hooks: `postCommit`, `postMerge`, `postCheckout`, `postPush`, `postFetch`, `postClone`, `postPull`, `postReset`, `postClean`, `postRm`, `postCherryPick`, `postRevert`, `postStash`. Low-level events: `onRefUpdate`, `onRefDelete`, `onObjectWrite`. Command-level: `beforeCommand`, `afterCommand`.
|
|
161
165
|
|
|
166
|
+
## Config overrides
|
|
167
|
+
|
|
168
|
+
Control git config values at the operator level, without touching `.git/config`. Works like the `identity` option — `locked` values always win, `defaults` act as fallbacks.
|
|
169
|
+
|
|
170
|
+
```ts
|
|
171
|
+
const git = createGit({
|
|
172
|
+
config: {
|
|
173
|
+
locked: {
|
|
174
|
+
"push.default": "nothing", // agent must always specify a refspec
|
|
175
|
+
"merge.conflictstyle": "diff3", // always show base in conflict markers
|
|
176
|
+
},
|
|
177
|
+
defaults: {
|
|
178
|
+
"pull.rebase": "true", // default to rebase-on-pull (agent can change)
|
|
179
|
+
"merge.ff": "only", // default to ff-only (agent can change)
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
- **`locked`** — values that take absolute precedence. The agent can run `git config set` (the write succeeds on the VFS), but the locked value always wins on every read. Useful for enforcing policies.
|
|
186
|
+
- **`defaults`** — fallback values when a key is absent from `.git/config`. The agent _can_ override these with `git config set`. Useful for sensible defaults without restricting the agent.
|
|
187
|
+
|
|
188
|
+
Applied transparently via `getConfigValue()` — all commands respect overrides automatically. Any dotted config key works (e.g. `"merge.ff"`, `"push.default"`, `"pull.rebase"`, `"merge.conflictstyle"`, `"branch.autoSetupMerge"`).
|
|
189
|
+
|
|
162
190
|
## Repo module
|
|
163
191
|
|
|
164
192
|
`just-git/repo` provides a high-level API for working with repositories programmatically — reading commits, diffing trees, creating objects, and merging — without going through command execution. This is what you use inside hooks (all hook payloads include `repo: GitRepo`) and anywhere else you need direct repo access.
|
|
@@ -253,7 +281,7 @@ See [CLI.md](docs/CLI.md) for full usage details.
|
|
|
253
281
|
| Command | Flags / options |
|
|
254
282
|
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
255
283
|
| `init [<dir>]` | `--bare`, `--initial-branch` |
|
|
256
|
-
| `clone <repo> [<dir>]` | `--bare`, `-b <branch
|
|
284
|
+
| `clone <repo> [<dir>]` | `--bare`, `-b <branch>`, `--depth` |
|
|
257
285
|
| `blame <file>` | `-L <start>,<end>`, `-l`/`--long`, `-e`/`--show-email`, `-s`/`--suppress`, `-p`/`--porcelain`, `--line-porcelain` |
|
|
258
286
|
| `add <paths>` | `.`, `--all`/`-A`, `--update`/`-u`, `--force`/`-f`, `-n`/`--dry-run`, glob pathspecs |
|
|
259
287
|
| `rm <paths>` | `--cached`, `-r`, `-f`, `-n`/`--dry-run`, glob pathspecs |
|
|
@@ -275,10 +303,10 @@ See [CLI.md](docs/CLI.md) for full usage details.
|
|
|
275
303
|
| `rebase <upstream>` | `--onto <newbase>`, `--abort`, `--continue`, `--skip` |
|
|
276
304
|
| `stash` | `push`, `pop`, `apply`, `list`, `drop`, `show`, `clear`, `-m`, `-u`/`--include-untracked`, `stash@{N}` |
|
|
277
305
|
| `remote` | `add`, `remove`/`rm`, `rename`, `set-url`, `get-url`, `-v` |
|
|
278
|
-
| `config` | `get`, `set`, `unset`, `list`, `--list`/`-l`, `--unset`
|
|
279
|
-
| `fetch [<remote>] [<refspec>...]` | `--all`, `--tags`, `--prune`/`-p`
|
|
306
|
+
| `config` | `get`, `set`, `unset`, `list`, `--list`/`-l`, `--unset`, `--get-all`, `--add` |
|
|
307
|
+
| `fetch [<remote>] [<refspec>...]` | `--all`, `--tags`, `--prune`/`-p`, `--depth`, `--unshallow` |
|
|
280
308
|
| `push [<remote>] [<refspec>...]` | `--force`/`-f`, `-u`/`--set-upstream`, `--all`, `--tags`, `--delete`/`-d` |
|
|
281
|
-
| `pull [<remote>] [<branch>]` | `--ff-only`, `--no-ff`, `--rebase`/`-r`, `--no-rebase`
|
|
309
|
+
| `pull [<remote>] [<branch>]` | `--ff-only`, `--no-ff`, `--rebase`/`-r`, `--no-rebase`, `--depth`, `--unshallow` |
|
|
282
310
|
| `bisect` | `start`, `bad`/`good`/`new`/`old`, `skip`, `reset`, `log`, `replay`, `run`, `terms`, `visualize`/`view`, `--term-new`/`--term-old`, `--no-checkout`, `--first-parent` |
|
|
283
311
|
| `clean` | `-f`, `-n`/`--dry-run`, `-d`, `-x`, `-X`, `-e`/`--exclude` |
|
|
284
312
|
| `reflog` | `show [<ref>]`, `exists`, `-n`/`--max-count` |
|
|
@@ -186,6 +186,8 @@ interface GitContext extends GitRepo {
|
|
|
186
186
|
networkPolicy?: NetworkPolicy | false;
|
|
187
187
|
/** Resolves remote URLs to GitRepos on potentially different VFS instances. */
|
|
188
188
|
resolveRemote?: RemoteResolver;
|
|
189
|
+
/** Operator-provided config overrides (locked values + defaults). */
|
|
190
|
+
configOverrides?: ConfigOverrides;
|
|
189
191
|
}
|
|
190
192
|
type DiffStatus = "added" | "deleted" | "modified";
|
|
191
193
|
interface TreeDiffEntry {
|
|
@@ -220,6 +222,21 @@ interface IdentityOverride {
|
|
|
220
222
|
email: string;
|
|
221
223
|
locked?: boolean;
|
|
222
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Operator-level config overrides. Applied on every `getConfigValue()` read:
|
|
227
|
+
*
|
|
228
|
+
* - `locked` values take absolute precedence — the agent cannot override
|
|
229
|
+
* them via `git config`. Writes still succeed on the VFS (so the agent
|
|
230
|
+
* doesn't see errors), but the locked value always wins on read.
|
|
231
|
+
* - `defaults` supply fallback values when a key is absent from
|
|
232
|
+
* `.git/config`. The agent *can* override these with `git config`.
|
|
233
|
+
*
|
|
234
|
+
* Keys are dotted config names, e.g. `"push.default"`, `"merge.ff"`.
|
|
235
|
+
*/
|
|
236
|
+
interface ConfigOverrides {
|
|
237
|
+
locked?: Record<string, string>;
|
|
238
|
+
defaults?: Record<string, string>;
|
|
239
|
+
}
|
|
223
240
|
type FetchFunction = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
224
241
|
interface NetworkPolicy {
|
|
225
242
|
/**
|
|
@@ -341,7 +358,7 @@ interface PostPullEvent {
|
|
|
341
358
|
readonly repo: GitRepo;
|
|
342
359
|
readonly remote: string;
|
|
343
360
|
readonly branch: string | null;
|
|
344
|
-
readonly strategy: "up-to-date" | "fast-forward" | "three-way";
|
|
361
|
+
readonly strategy: "up-to-date" | "fast-forward" | "three-way" | "rebase";
|
|
345
362
|
readonly commitHash: ObjectId | null;
|
|
346
363
|
}
|
|
347
364
|
interface PreResetEvent {
|
|
@@ -480,4 +497,4 @@ interface GitHooks {
|
|
|
480
497
|
}
|
|
481
498
|
declare function composeGitHooks(...hookSets: (GitHooks | undefined)[]): GitHooks;
|
|
482
499
|
|
|
483
|
-
export {
|
|
500
|
+
export { isRejection as $, type AfterCommandEvent as A, type BeforeCommandEvent as B, type CredentialProvider as C, type PreFetchEvent as D, type ExecResult as E, type FileSystem as F, type GitContext as G, type HttpAuth as H, type IdentityOverride as I, type PreMergeCommitEvent as J, type PrePullEvent as K, type PrePushEvent as L, type MergeMsgEvent as M, type NetworkPolicy as N, type ObjectId as O, type PostCheckoutEvent as P, type PreRebaseEvent as Q, type RemoteResolver as R, type PreResetEvent as S, type PreRevertEvent as T, type PreRmEvent as U, type PreStashEvent as V, type RefDeleteEvent as W, type RefEntry as X, type RefUpdateEvent as Y, type Rejection as Z, composeGitHooks as _, type GitRepo as a, type Identity as a0, type TreeDiffEntry as a1, type Commit as a2, type ObjectType as a3, type RawObject as a4, type Ref as a5, type GitHooks as b, type ObjectStore as c, type RefStore as d, type ConfigOverrides as e, type FetchFunction as f, type FileStat as g, type CommitMsgEvent as h, type ObjectWriteEvent as i, type PostCherryPickEvent as j, type PostCleanEvent as k, type PostCloneEvent as l, type PostCommitEvent as m, type PostFetchEvent as n, type PostMergeEvent as o, type PostPullEvent as p, type PostPushEvent as q, type PostResetEvent as r, type PostRevertEvent as s, type PostRmEvent as t, type PostStashEvent as u, type PreCheckoutEvent as v, type PreCherryPickEvent as w, type PreCleanEvent as x, type PreCloneEvent as y, type PreCommitEvent as z };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
|
-
import { F as FileSystem, E as ExecResult,
|
|
2
|
-
export { A as AfterCommandEvent, B as BeforeCommandEvent,
|
|
1
|
+
import { O as ObjectId, G as GitContext, a as GitRepo, F as FileSystem, E as ExecResult, b as GitHooks, C as CredentialProvider, I as IdentityOverride, N as NetworkPolicy, R as RemoteResolver, c as ObjectStore, d as RefStore, e as ConfigOverrides, f as FetchFunction, g as FileStat } from './hooks-Boa35Qx_.js';
|
|
2
|
+
export { A as AfterCommandEvent, B as BeforeCommandEvent, h as CommitMsgEvent, H as HttpAuth, M as MergeMsgEvent, i as ObjectWriteEvent, P as PostCheckoutEvent, j as PostCherryPickEvent, k as PostCleanEvent, l as PostCloneEvent, m as PostCommitEvent, n as PostFetchEvent, o as PostMergeEvent, p as PostPullEvent, q as PostPushEvent, r as PostResetEvent, s as PostRevertEvent, t as PostRmEvent, u as PostStashEvent, v as PreCheckoutEvent, w as PreCherryPickEvent, x as PreCleanEvent, y as PreCloneEvent, z as PreCommitEvent, D as PreFetchEvent, J as PreMergeCommitEvent, K as PrePullEvent, L as PrePushEvent, Q as PreRebaseEvent, S as PreResetEvent, T as PreRevertEvent, U as PreRmEvent, V as PreStashEvent, W as RefDeleteEvent, X as RefEntry, Y as RefUpdateEvent, Z as Rejection, _ as composeGitHooks, $ as isRejection } from './hooks-Boa35Qx_.js';
|
|
3
|
+
|
|
4
|
+
/** Depth value that represents "full history" (used by --unshallow). */
|
|
5
|
+
declare const INFINITE_DEPTH = 2147483647;
|
|
6
|
+
/** Shallow boundary delta: what to add/remove from `.git/shallow`. */
|
|
7
|
+
interface ShallowUpdate {
|
|
8
|
+
/** Commits to add to the shallow boundary. */
|
|
9
|
+
shallow: ObjectId[];
|
|
10
|
+
/** Commits to remove from the shallow boundary (now have full parents). */
|
|
11
|
+
unshallow: ObjectId[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Read the set of shallow boundary commit hashes from `.git/shallow`.
|
|
15
|
+
* Returns an empty set if the file doesn't exist or is empty.
|
|
16
|
+
*/
|
|
17
|
+
declare function readShallowCommits(ctx: GitContext): Promise<Set<ObjectId>>;
|
|
18
|
+
/**
|
|
19
|
+
* Write the shallow boundary set to `.git/shallow`.
|
|
20
|
+
* Removes the file if the set is empty (repo is no longer shallow).
|
|
21
|
+
*/
|
|
22
|
+
declare function writeShallowCommits(ctx: GitContext, hashes: Set<ObjectId>): Promise<void>;
|
|
23
|
+
/** Check whether a repo is shallow (has a non-empty `.git/shallow` file). */
|
|
24
|
+
declare function isShallowRepo(ctx: GitContext): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Merge a `ShallowUpdate` into the current `.git/shallow` file.
|
|
27
|
+
* Adds new shallow commits, removes unshallowed ones, persists the result.
|
|
28
|
+
*/
|
|
29
|
+
declare function applyShallowUpdates(ctx: GitContext, updates: ShallowUpdate, existing?: Set<ObjectId>): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Compute the shallow boundary for a depth-limited fetch.
|
|
32
|
+
*
|
|
33
|
+
* BFS from `wants` up to `depth` levels of commit parents. Commits
|
|
34
|
+
* at exactly depth N (whose parents would exceed the limit) become
|
|
35
|
+
* the new shallow boundary. Any commit in `clientShallows` that is
|
|
36
|
+
* now within the traversal depth gets unshallowed.
|
|
37
|
+
*
|
|
38
|
+
* The returned `shallow` set is the new boundary — commits whose
|
|
39
|
+
* parents the client should NOT expect to have. The `unshallow` set
|
|
40
|
+
* is commits that were previously shallow but are now within depth.
|
|
41
|
+
*/
|
|
42
|
+
declare function computeShallowBoundary(repo: GitRepo, wants: ObjectId[], depth: number, clientShallows: Set<ObjectId>): Promise<ShallowUpdate>;
|
|
43
|
+
|
|
44
|
+
/** Options for shallow/depth-limited fetches. */
|
|
45
|
+
interface ShallowFetchOptions {
|
|
46
|
+
/** Maximum commit depth from the wanted refs. */
|
|
47
|
+
depth?: number;
|
|
48
|
+
/** Commits currently in the client's `.git/shallow` file. */
|
|
49
|
+
existingShallows?: Set<ObjectId>;
|
|
50
|
+
}
|
|
3
51
|
|
|
4
52
|
/** Options for subcommand execution (mirrors just-bash's CommandExecOptions). */
|
|
5
53
|
interface CommandExecOptions {
|
|
@@ -48,6 +96,11 @@ interface GitOptions {
|
|
|
48
96
|
* and go through this store instead (e.g. SQLite-backed).
|
|
49
97
|
*/
|
|
50
98
|
refStore?: RefStore;
|
|
99
|
+
/**
|
|
100
|
+
* Config overrides. `locked` values always win over `.git/config`;
|
|
101
|
+
* `defaults` supply fallbacks when a key is absent from config.
|
|
102
|
+
*/
|
|
103
|
+
config?: ConfigOverrides;
|
|
51
104
|
}
|
|
52
105
|
/**
|
|
53
106
|
* Bundle of operator-level extensions threaded into command handlers
|
|
@@ -62,6 +115,7 @@ interface GitExtensions {
|
|
|
62
115
|
resolveRemote?: RemoteResolver;
|
|
63
116
|
objectStore?: ObjectStore;
|
|
64
117
|
refStore?: RefStore;
|
|
118
|
+
configOverrides?: ConfigOverrides;
|
|
65
119
|
}
|
|
66
120
|
/** Simplified context for {@link Git.exec}. */
|
|
67
121
|
interface ExecContext {
|
|
@@ -75,6 +129,8 @@ declare class Git {
|
|
|
75
129
|
private blocked;
|
|
76
130
|
private hooks;
|
|
77
131
|
private inner;
|
|
132
|
+
private locks;
|
|
133
|
+
private withLock;
|
|
78
134
|
constructor(options?: GitOptions);
|
|
79
135
|
/**
|
|
80
136
|
* Run a git command from a string.
|
|
@@ -98,6 +154,38 @@ declare class Git {
|
|
|
98
154
|
declare function tokenizeCommand(input: string): string[];
|
|
99
155
|
declare function createGit(options?: GitOptions): Git;
|
|
100
156
|
|
|
157
|
+
/**
|
|
158
|
+
* Minimal in-memory filesystem implementing the just-git {@link FileSystem}
|
|
159
|
+
* interface. Supports files, directories, and symlinks.
|
|
160
|
+
*
|
|
161
|
+
* ```ts
|
|
162
|
+
* const fs = new MemoryFileSystem({ "/repo/README.md": "# Hello" });
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
declare class MemoryFileSystem implements FileSystem {
|
|
166
|
+
private data;
|
|
167
|
+
constructor(initialFiles?: Record<string, string | Uint8Array>);
|
|
168
|
+
private ensureParents;
|
|
169
|
+
private resolve;
|
|
170
|
+
private resolveParent;
|
|
171
|
+
readFile(path: string): Promise<string>;
|
|
172
|
+
readFileBuffer(path: string): Promise<Uint8Array>;
|
|
173
|
+
writeFile(path: string, content: string | Uint8Array): Promise<void>;
|
|
174
|
+
exists(path: string): Promise<boolean>;
|
|
175
|
+
stat(path: string): Promise<FileStat>;
|
|
176
|
+
lstat(path: string): Promise<FileStat>;
|
|
177
|
+
mkdir(path: string, options?: {
|
|
178
|
+
recursive?: boolean;
|
|
179
|
+
}): Promise<void>;
|
|
180
|
+
readdir(path: string): Promise<string[]>;
|
|
181
|
+
rm(path: string, options?: {
|
|
182
|
+
recursive?: boolean;
|
|
183
|
+
force?: boolean;
|
|
184
|
+
}): Promise<void>;
|
|
185
|
+
readlink(path: string): Promise<string>;
|
|
186
|
+
symlink(target: string, linkPath: string): Promise<void>;
|
|
187
|
+
}
|
|
188
|
+
|
|
101
189
|
/**
|
|
102
190
|
* Walk up from `startPath` looking for a git repository.
|
|
103
191
|
* Checks for both normal repos (`.git/` subdirectory) and bare repos
|
|
@@ -106,4 +194,4 @@ declare function createGit(options?: GitOptions): Git;
|
|
|
106
194
|
*/
|
|
107
195
|
declare function findRepo(fs: FileSystem, startPath: string): Promise<GitContext | null>;
|
|
108
196
|
|
|
109
|
-
export { type CommandContext, type CommandExecOptions, CredentialProvider, type ExecContext, ExecResult, FetchFunction, FileSystem, Git, type GitCommandName, GitContext, type GitExtensions, GitHooks, type GitOptions, IdentityOverride, NetworkPolicy, ObjectStore, RefStore, RemoteResolver, createGit, findRepo, tokenizeCommand };
|
|
197
|
+
export { type CommandContext, type CommandExecOptions, ConfigOverrides, CredentialProvider, type ExecContext, ExecResult, FetchFunction, FileStat, FileSystem, Git, type GitCommandName, GitContext, type GitExtensions, GitHooks, type GitOptions, GitRepo, INFINITE_DEPTH, IdentityOverride, MemoryFileSystem, NetworkPolicy, ObjectStore, RefStore, RemoteResolver, type ShallowFetchOptions, type ShallowUpdate, applyShallowUpdates, computeShallowBoundary, createGit, findRepo, isShallowRepo, readShallowCommits, tokenizeCommand, writeShallowCommits };
|