Glossary¶
The terms that this documentation uses, each with a short definition and a link to the page that describes it.
- behind¶
The state of a submodule for which
updatewould select another mode, ref or commit than the lock entry records, or which has no lock entry yet. See States.- configured ref¶
The value of
lsm-refin.gitmodules: a branch name, a tag name, a tag pattern or a commit SHA. See .gitmodules.- dirty¶
The state of a submodule whose working tree has uncommitted changes to tracked files.
updaterefuses such a submodule. See States.- drift¶
The state of a submodule whose
HEADdiffers from the locked commit, or whose locked tag now points to another commit or no longer exists. See States.- dry run¶
A run of
update --dry-run, which resolves the targets in the local refs and prints what would change, without fetching or changing anything. See Output.- gitlink¶
The entry in a tree or in the index of the superproject that records the commit of a submodule.
updatestages it, andverifycompares the one inHEADwith the lock file. See How LazySubmodules works.- lock entry¶
The section of a submodule in the lock file, with the keys
mode,refandcommit. See .lsm.lock.- lock file¶
.lsm.lock, the file in the superproject that records the mode, the resolved ref and the commit of each managed submodule. See .lsm.lock.- locked commit¶
The full commit SHA that a lock entry records.
- locked ref¶
The ref that a lock entry records: the selected tag in
tagandtag-patternmode, the branch inbranchmode, and the commit incommitmode.- managed¶
A submodule is managed when
.gitmoduleshas anlsm-modekey for it. Commands without names work on the managed submodules. See .gitmodules.- missing-ref¶
The state of a submodule whose configured ref is invalid or does not resolve in the local refs.
updaterefuses such a submodule. See States.- moved tag¶
A tag that was moved to another commit upstream, usually with a force push. After
fetch, the submodule shows drift andverifyfails. See Detect moved tags.- native branch key¶
The Git key
submodule.<name>.branchin.gitmodules, whichgit submodule update --remoteuses. LazySubmodules writes it in branch mode and removes it in the other modes. See The native branch key.- network policy¶
The rule that only
fetch,update --fetchandadduse the network. See Commands.- ok¶
The state of a submodule whose
HEADis the locked commit, with no other target available locally. See States.- porcelain v1 format¶
The stable, TAB-separated output of
status --porcelain=v1for scripts. See Porcelain format v1.- pre-release¶
A tag with a
-after its first digit, such asv6.6.11-rc1orv3.0.0-rc.2. A tag pattern selects pre-releases only with--include-prerelease, or when the lock file records one already. See Tracking modes and resolution.- refused¶
The outcome of a command that would be unsafe, such as an update of a dirty submodule. The command exits with status 3, and a refused update moves no submodule. See Exit codes.
- resolution¶
Finding the commit that a submodule should be at, from its tracking mode, its configured ref and the local refs. Also called resolving. See Tracking modes and resolution.
- state¶
The one-word summary that
statusreports for a submodule:ok,behind,drift,dirty,uninitialized,missing-reforunmanaged. See States.- submodule¶
A Git repository that is embedded in the superproject at a path and recorded by a gitlink.
- submodule name¶
The name of the submodule’s section in
.gitmodules, such asu-boot. Commands take names, not paths. The name can differ from the path, such asbootloader/u-boot. See General rules.- superproject¶
The Git repository that contains the submodules, and
.gitmodulesand.lsm.lockat its top level.- tag pattern¶
A glob, as accepted by
git tag --list, that selects the highest matching version tag, such asv6.6.*. Also the name of the tracking modetag-pattern. See Tracking modes and resolution.- target¶
The commit and ref that
updateselects for a submodule by resolution.- terminal interface¶
The interactive, full-screen interface that
lazysubmodules tuistarts; also called TUI. See Terminal interface keys.- tracking configuration¶
The keys
lsm-modeandlsm-refof a submodule in.gitmodules.addandsetwrite them. See .gitmodules.- tracking mode¶
How a submodule selects its target:
branch,tag,tag-patternorcommit, stored aslsm-mode. See Tracking modes and resolution.- uninitialized¶
The state of a submodule that is not checked out.
updateinitializes it offline when its repository still exists, and otherwise needs--fetch. See States.- unmanaged¶
The state of a submodule without an
lsm-modekey. LazySubmodules shows it but does not change it untilsetputs it under management. See States.