git-span 1.0.134 → 1.0.136
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 +7 -3
- package/man/git-span.1 +2 -2
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -4,11 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
The primary CLI surface lives in `src/cli/mod.rs`. Run `git span --help` or `git span stale --help` for flag reference.
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### The stale cache
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
`git span stale` (and related resolution paths) are backed by a single persistent cache: a SQLite database at `<common_dir>/span/store.db` (plus its `-wal` and `-shm` companions), implemented in `src/resolver/store/`. This is the whole on-disk cache footprint — remove `store.db*` to reset it. Setting `GIT_SPAN_CACHE=0` disables it for a run.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
The store is bounded by a byte high-water mark (256 MiB by default; override with `GIT_SPAN_STORE_MAX_BYTES` or `git config git-span.storeMaxBytes`), with transactional GC that runs only when a publish crosses the cap. It lives in the Git *common* directory, so it is shared across linked worktrees of one clone on one host; it is not shared cross-host or cross-clone. Earlier releases kept two separate caches (a `cache/v1/` filesystem trail store and a `stale-cache.db`); both were replaced by this one store and leave no files behind on a fresh clone.
|
|
12
|
+
|
|
13
|
+
### The shared executable-digest store
|
|
14
|
+
|
|
15
|
+
A configured filter driver's resolved executable (e.g. a `git-lfs` install) is content-hashed to prove its identity as part of every state-token capture. That hash is a fact about a file on the local machine, not about any one repository, so it is memoized in a *second*, small, per-user SQLite database — separate from the per-repo stale cache above — at `$GIT_SPAN_CACHE_HOME/exe-digest.db`, defaulting to `$HOME/.cache/git-span/exe-digest.db` (mirrors the workspace's `$HOME/.cache/git-span/cargo-target/` per-user build-artifact directory). Every repository on a machine that shares the same filter executable reuses the same memoized digest instead of re-hashing it per clone. `GIT_SPAN_EXE_DIGEST_DB` overrides the database file path directly (useful for CI isolation). `GIT_SPAN_CACHE=0` disables this store too, exactly like the stale cache. Implemented in `src/resolver/core/exe_digest_store.rs`; safe to delete at any time (it is rebuilt lazily, fail-closed on any error — a missing or broken database just means every executable is re-hashed).
|
|
12
16
|
|
|
13
17
|
## Profiling
|
|
14
18
|
|
package/man/git-span.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH git-span 1 "git-span 1.0.
|
|
3
|
+
.TH git-span 1 "git-span 1.0.136"
|
|
4
4
|
.ie \n(.g .ds Aq \(aq
|
|
5
5
|
.el .ds Aq '
|
|
6
6
|
.SH NAME
|
|
@@ -123,7 +123,7 @@ Print this message or the help of the given subcommand(s)
|
|
|
123
123
|
.ie \n(.g .ds Aq \(aq
|
|
124
124
|
.el .ds Aq '
|
|
125
125
|
.SH VERSION
|
|
126
|
-
v1.0.
|
|
126
|
+
v1.0.136
|
|
127
127
|
.SH EXAMPLES
|
|
128
128
|
Anchor a new span alongside a code change:
|
|
129
129
|
.PP
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-span",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.136",
|
|
4
4
|
"bin": "bin/git-span.exe",
|
|
5
5
|
"man": [
|
|
6
6
|
"man/git-span.1"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"lint": "bash scripts/with-target-lock.sh shared env CARGO_BUILD_JOBS=1 RUSTFLAGS=\"-W unused -W dead-code\" CARGO_TARGET_DIR=\"${GIT_SPAN_CARGO_TARGET_ROOT:-$HOME/.cache/git-span/cargo-target}/git-span/check\" cargo clippy --quiet --locked -- -D warnings",
|
|
16
16
|
"typecheck": "bash scripts/with-target-lock.sh shared env CARGO_BUILD_JOBS=1 RUSTFLAGS=\"-W unused -W dead-code\" CARGO_TARGET_DIR=\"${GIT_SPAN_CARGO_TARGET_ROOT:-$HOME/.cache/git-span/cargo-target}/git-span/check\" cargo check --quiet --locked",
|
|
17
17
|
"bench:check": "bash scripts/with-target-lock.sh shared env CARGO_BUILD_JOBS=1 CARGO_TARGET_DIR=\"${GIT_SPAN_CARGO_TARGET_ROOT:-$HOME/.cache/git-span/cargo-target}/git-span/build\" cargo bench --no-run --locked --features bench-corpus",
|
|
18
|
-
"bench": "bash scripts/with-target-lock.sh shared env CARGO_TARGET_DIR=\"${GIT_SPAN_CARGO_TARGET_ROOT:-$HOME/.cache/git-span/cargo-target}/git-span/build\" cargo bench --locked",
|
|
18
|
+
"bench": "bash scripts/with-target-lock.sh shared env CARGO_BUILD_JOBS=1 CARGO_TARGET_DIR=\"${GIT_SPAN_CARGO_TARGET_ROOT:-$HOME/.cache/git-span/cargo-target}/git-span/build\" cargo bench --locked",
|
|
19
19
|
"udeps": "bash scripts/with-target-lock.sh shared env CARGO_BUILD_JOBS=1 CARGO_TARGET_DIR=\"${GIT_SPAN_CARGO_TARGET_ROOT:-$HOME/.cache/git-span/cargo-target}/git-span/udeps\" cargo +nightly udeps"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"scripts/postinstall.js"
|
|
25
25
|
],
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"git-span-darwin-arm64": "1.0.
|
|
28
|
-
"git-span-darwin-x64": "1.0.
|
|
29
|
-
"git-span-linux-arm64": "1.0.
|
|
30
|
-
"git-span-linux-x64": "1.0.
|
|
31
|
-
"git-span-win32-x64": "1.0.
|
|
27
|
+
"git-span-darwin-arm64": "1.0.136",
|
|
28
|
+
"git-span-darwin-x64": "1.0.136",
|
|
29
|
+
"git-span-linux-arm64": "1.0.136",
|
|
30
|
+
"git-span-linux-x64": "1.0.136",
|
|
31
|
+
"git-span-win32-x64": "1.0.136"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|