Skip to content

Commit 8014994

Browse files
committed
vcs(feat[lock]): Implement version locking for repositories
why: Enable users to lock repositories to specific revisions for deployment consistency and reproducible environments. This allows teams to ensure all members are working with the same codebase state. what: - Added LockFile and LockedRepository models to config/models.py - Implemented lock_repositories and apply_lock functions in operations.py - Added get_revision and update_repo abstract methods to VCSInterface - Implemented these methods for Git, Mercurial, and Subversion handlers - Created CLI commands for locking repositories and applying locks - Updated public exports in __init__.py files refs: Completes CLI Tools / Version Locking section from notes/TODO.md
1 parent 8d4b462 commit 8014994

File tree

9 files changed

+978
-81
lines changed

9 files changed

+978
-81
lines changed

src/vcspull/__init__.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,23 @@
1616
from . import cli
1717
from .__about__ import __author__, __description__, __version__
1818
from .config import load_config, resolve_includes
19-
from .operations import detect_repositories, sync_repositories
19+
from .operations import (
20+
apply_lock,
21+
detect_repositories,
22+
lock_repositories,
23+
sync_repositories,
24+
)
2025

2126
logging.getLogger(__name__).addHandler(NullHandler())
2227

2328
__all__ = [
2429
"__author__",
2530
"__description__",
2631
"__version__",
32+
"apply_lock",
2733
"detect_repositories",
2834
"load_config",
35+
"lock_repositories",
2936
"resolve_includes",
3037
"sync_repositories",
3138
]

0 commit comments

Comments
 (0)