Sync - libvcs.sync¶

Keep a local checkout in sync with its remote: obtain() and its Mercurial and Subversion counterparts clone the repository when it doesn’t exist yet and update it when it does, through GitSync, HgSync, and SvnSync — built on top of libvcs.cmd.

Compare to: fabtools.require.git, salt.states.git, ansible.builtin.git

Warning

All APIs are considered experimental and subject to break pre-1.0. They can and will break between versions.

Modules¶

Git Sync

Clone, fetch, and update Git repositories.

libvcs.sync.git
Hg Sync

Clone and update Mercurial repositories.

libvcs.sync.hg
SVN Sync

Checkout and update Subversion working copies.

libvcs.sync.svn
Base

Abstract base class for all sync backends.

libvcs.sync.base

Constants¶

Constants for use by libvcs.sync.

libvcs.sync.constants.DEFAULT_VCS_LITERAL
¶
data
data
libvcs.sync.constants.DEFAULT_VCS_LITERAL
¶

Default VCS systems by string (in DEFAULT_VCS_CLASS_MAP)

alias of Literal[‘git’, ‘hg’, ‘svn’]

libvcs.sync.constants.DEFAULT_VCS_CLASS_UNION
¶
data
data
libvcs.sync.constants.DEFAULT_VCS_CLASS_UNION
¶

Union of VCS Classes

alias of type[GitSync | HgSync | SvnSync]

libvcs.sync.constants.DEFAULT_VCS_CLASS_MAP: dict[Literal['git', 'hg', 'svn'], type[GitSync | HgSync | SvnSync]] = {'git': <class 'libvcs.sync.git.GitSync'>, 'hg': <class 'libvcs.sync.hg.HgSync'>, 'svn': <class 'libvcs.sync.svn.SvnSync'>}
¶
data
data
libvcs.sync.constants.DEFAULT_VCS_CLASS_MAP: dict[Literal['git', 'hg', 'svn'], type[GitSync | HgSync | SvnSync]] = {'git': <class 'libvcs.sync.git.GitSync'>, 'hg': <class 'libvcs.sync.hg.HgSync'>, 'svn': <class 'libvcs.sync.svn.SvnSync'>}
¶

str -> class Map. DEFAULT_VCS_CLASS_MAP['git'] -> GitSync