git-span 1.0.132 → 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 +8 -2
- package/man/git-span.1 +3 -9
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -4,9 +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
|
+
|
|
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).
|
|
10
16
|
|
|
11
17
|
## Profiling
|
|
12
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
|
|
@@ -8,7 +8,7 @@ git\-span \- Track implicit semantic dependencies in a git repo.
|
|
|
8
8
|
.ie \n(.g .ds Aq \(aq
|
|
9
9
|
.el .ds Aq '
|
|
10
10
|
.SH SYNOPSIS
|
|
11
|
-
\fBgit\-span\fR [\fB\-\-perf\fR] [\fB
|
|
11
|
+
\fBgit\-span\fR [\fB\-\-perf\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fIsubcommands\fR]
|
|
12
12
|
.SH DESCRIPTION
|
|
13
13
|
.B git span
|
|
14
14
|
tracks implicit semantic dependencies in a Git repository: couplings between
|
|
@@ -76,9 +76,6 @@ Emit performance timings for major git\-span operation groups to stderr.
|
|
|
76
76
|
|
|
77
77
|
Can also be enabled with `GIT_SPAN_PERF=1`.
|
|
78
78
|
.TP
|
|
79
|
-
\fB\-\-span\-dir\fR \fI<SPAN_DIR>\fR
|
|
80
|
-
Span root directory (default: .span). Overrides GIT_SPAN_DIR and git config git\-span.dir
|
|
81
|
-
.TP
|
|
82
79
|
\fB\-h\fR, \fB\-\-help\fR
|
|
83
80
|
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
84
81
|
.TP
|
|
@@ -109,9 +106,6 @@ Read or stage the span\*(Aqs why — a one\-sentence definition of the subsystem
|
|
|
109
106
|
git\-span\-delete(1)
|
|
110
107
|
Delete a span
|
|
111
108
|
.TP
|
|
112
|
-
git\-span\-move(1)
|
|
113
|
-
Rename a span
|
|
114
|
-
.TP
|
|
115
109
|
git\-span\-doctor(1)
|
|
116
110
|
Audit the local span setup
|
|
117
111
|
.TP
|
|
@@ -129,7 +123,7 @@ Print this message or the help of the given subcommand(s)
|
|
|
129
123
|
.ie \n(.g .ds Aq \(aq
|
|
130
124
|
.el .ds Aq '
|
|
131
125
|
.SH VERSION
|
|
132
|
-
v1.0.
|
|
126
|
+
v1.0.136
|
|
133
127
|
.SH EXAMPLES
|
|
134
128
|
Anchor a new span alongside a code change:
|
|
135
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",
|