manifest
CLI reference
Description
Inspect and manage manifests. Without a directory-management flag, manifest loads the workspace manifest, fetches remotes, and rewrites each project's revision to the corresponding commit hash, then prints the result (Google or native XML). That path is single-threaded and can take a while on large workspaces. --revision-as-head / -r selects the same rewrite task
explicitly.
Separately, manifest manages manifest directories in the user config
(named catalogs of known manifest repositories used by init -p): list,
list projects, add, or delete.
Usage
esysrepo manifest [options ...]
Options
Available options:
--revision-as-head/-r: Rewrite revisions to commit hashes (same as the default when no directory flag is given)--output-file/-oFILE: Write the rewritten manifest to FILE instead of stdout--list-dirs/-l: List configured manifest directories--list-projects/-p[NAME]: List projects from one or all manifest directories--add-dir/-aNAME: Add a manifest directory; pass SSH and HTTPS URLs as positional arguments (ssh://…andhttps://…)--del-dir/-dNAME: Delete a manifest directory by name--folder/-fPATH: Workspace folder (common option; default is the current directory)
Examples
Rewrite the workspace manifest revisions to commit hashes on stdout:
esysrepo manifest
or equivalently:
esysrepo manifest -r
Write the result to a file:
esysrepo manifest -r -o pinned.xml
List configured manifest directories:
esysrepo manifest --list-dirs
List projects from those directories:
esysrepo manifest --list-projects
Add a manifest directory:
esysrepo manifest --add-dir myproj ssh://git@example.com/org/manifest.git https://example.com/org/manifest.git
Delete a manifest directory:
esysrepo manifest --del-dir myproj
Example rewritten Google-style output (abbreviated):
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<remote name="origin" fetch="ssh://git@gitlab.com/libesys"/>
<default revision="refs/heads/master" remote="origin" sync-j="4"/>
<project path="." name="esysbuild/dev" revision="1c755ba07965fdb0c43ae5f575abd9326bed1b83"/>
<project path="src/esysrepo" name="esysrepo/esysrepo" revision="ccd20a0490ed1e2fb4769ca8fcd9a22ba444ec8d"/>
</manifest>