sow where
sow where answers which Dists in the Workspace still carry one Package Object. It is read-only,
searches every Repository by default, and takes no write lock.
Synopsis
| Flag | Meaning | Default |
|---|---|---|
-C, --workdir DIR |
Workspace discovery start directory | current directory |
-r, --repo NAME |
Restrict the search to one Repository | all Repositories |
-d, --dist NAME |
Restrict the search to named Dists; repeatable | all Dists |
--json |
Emit the sow.cli/v1 envelope |
false |
Reference resolution
PACKAGE uses the same grammar as sow show: SHA-256 identity, canonical
RPM/DEB coordinate, full filename, or bare name.
Resolution happens across the complete selected scope. A bare name must identify one Package Object;
different objects with the same binary name are ambiguous even when they live in different
Repositories. Use -r/-d, or supply an exact coordinate or SHA-256.
Output
Without --json, where prints a summary followed by one line per location:
Each location reports both Desired dists and current built_dists. This makes the command useful
for answering whether a removed or superseded build is still client-visible anywhere.
With --json, the same object appears under result. A missing reference is an expected rejection,
not an empty success:
Example
List every location still serving an exact build:
Exit codes
| Code | Trigger |
|---|---|
0 |
One resolved Package Object and its locations printed |
1 |
Runtime I/O failure |
2 |
Usage error or Workspace not found |
5 |
A Repository state database is unreadable or inconsistent |
6 |
Explicit Repository/Dist is not configured, or the reference matched nothing/was ambiguous |
See also
sow show— inspect the resolved Package Objectsow ls— list one Dist set- Package References — exact grammar and ambiguity rules