mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-25 16:53:36 +05:00
Compare commits
4 Commits
v5.1.10
...
4820e2024b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4820e2024b | ||
|
|
2d4c952b4b | ||
|
|
d5119bc264 | ||
|
|
8cb66071ac |
@@ -253,9 +253,29 @@ def get_remote_commit(repo: Path) -> str | None:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def git_cmd_clone(repo: str, target_dir: Path) -> None:
|
def git_cmd_clone(repo: str, target_dir: Path, depth: int = 0, single_branch: bool = False) -> None:
|
||||||
|
"""
|
||||||
|
Clones a repository with optional depth and single-branch parameters.
|
||||||
|
|
||||||
|
:param repo: URL of the repository to clone.
|
||||||
|
:param target_dir: Path where the repository will be cloned.
|
||||||
|
:param depth: Clone depth. If 0, the depth option will be omitted.
|
||||||
|
:param single_branch: Clone only a single branch if True.
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
try:
|
try:
|
||||||
command = ["git", "clone", repo, target_dir.as_posix()]
|
command = ["git", "clone"]
|
||||||
|
|
||||||
|
# Add --depth flag if depth > 0
|
||||||
|
if depth > 0:
|
||||||
|
command += ["--depth", str(depth)]
|
||||||
|
|
||||||
|
# Add --single-branch flag if single_branch is True
|
||||||
|
if single_branch:
|
||||||
|
command.append("--single-branch")
|
||||||
|
|
||||||
|
command += [repo, target_dir.as_posix()]
|
||||||
|
|
||||||
run(command, check=True)
|
run(command, check=True)
|
||||||
|
|
||||||
Logger.print_ok("Clone successful!")
|
Logger.print_ok("Clone successful!")
|
||||||
|
|||||||
Reference in New Issue
Block a user