submodule¶

For git-submodule(1).

Overview¶

Manage git submodules using GitSubmoduleManager (collection-level) and GitSubmoduleEntryCmd (per-submodule operations).

Note

GitSubmoduleCmd is the legacy interface. Use git.submodules (GitSubmoduleManager) for the new Manager/Cmd pattern.

Example¶

from libvcs.cmd.git import Git

git = Git(path='/path/to/repo')

# Add a submodule
git.submodules.add(url='https://github.com/org/lib.git', path='vendor/lib')

# List all submodules
submodules = git.submodules.ls()

# Get a specific submodule and operate on it
submodule = git.submodules.get(path='vendor/lib')
submodule.init()
submodule.update()
submodule.deinit()

# Sync submodule URLs
git.submodules.sync()

API Reference¶

class libvcs.cmd.git.GitSubmoduleManager
¶

Bases: object

Traverse and manage git submodules with ORM-like filtering via QueryList.

class libvcs.cmd.git.GitSubmodule
¶

Bases: object

Represent a git submodule.

class libvcs.cmd.git.GitSubmoduleEntryCmd
¶

Bases: object

Run git commands targeting a specific submodule.

class libvcs.cmd.git.GitSubmoduleCmd
¶

Bases: object

Run git submodule commands (low-level, use GitSubmoduleManager for traversal).