Added clone mode to update
This commit is contained in:
20
main.py
20
main.py
@@ -240,7 +240,16 @@ For detailed help on each command, use:
|
|||||||
|
|
||||||
# Dispatch commands.
|
# Dispatch commands.
|
||||||
if args.command == "install":
|
if args.command == "install":
|
||||||
install_repos(selected, REPOSITORIES_BASE_DIR, BINARIES_DIRECTORY, ALL_REPOSITORIES, args.no_verification, preview=args.preview, quiet=args.quiet, clone_mode=args.clone_mode)
|
install_repos(
|
||||||
|
selected,
|
||||||
|
REPOSITORIES_BASE_DIR,
|
||||||
|
BINARIES_DIRECTORY,
|
||||||
|
ALL_REPOSITORIES,
|
||||||
|
args.no_verification,
|
||||||
|
args.preview,
|
||||||
|
args.quiet,
|
||||||
|
args.clone_mode
|
||||||
|
)
|
||||||
elif args.command == "create":
|
elif args.command == "create":
|
||||||
from pkgmgr.create_repo import create_repo
|
from pkgmgr.create_repo import create_repo
|
||||||
# If no identifiers are provided, you can decide to either use the repository of the current folder
|
# If no identifiers are provided, you can decide to either use the repository of the current folder
|
||||||
@@ -265,10 +274,11 @@ For detailed help on each command, use:
|
|||||||
BINARIES_DIRECTORY,
|
BINARIES_DIRECTORY,
|
||||||
ALL_REPOSITORIES,
|
ALL_REPOSITORIES,
|
||||||
args.no_verification,
|
args.no_verification,
|
||||||
system_update=args.system,
|
args.system,
|
||||||
preview=args.preview,
|
args.preview,
|
||||||
quiet=args.quiet,
|
args.quiet,
|
||||||
update_dependencies=args.dependencies
|
args.dependencies,
|
||||||
|
args.clone_mode
|
||||||
)
|
)
|
||||||
elif args.command == "release":
|
elif args.command == "release":
|
||||||
if not selected:
|
if not selected:
|
||||||
|
|||||||
@@ -4,7 +4,14 @@ from pkgmgr.get_repo_dir import get_repo_dir
|
|||||||
from pkgmgr.get_repo_identifier import get_repo_identifier
|
from pkgmgr.get_repo_identifier import get_repo_identifier
|
||||||
from pkgmgr.verify import verify_repository
|
from pkgmgr.verify import verify_repository
|
||||||
|
|
||||||
def clone_repos(selected_repos, repositories_base_dir: str, all_repos, preview: bool, no_verification: bool, clone_mode: str = "ssh"):
|
def clone_repos(
|
||||||
|
selected_repos,
|
||||||
|
repositories_base_dir: str,
|
||||||
|
all_repos,
|
||||||
|
preview: bool,
|
||||||
|
no_verification: bool,
|
||||||
|
clone_mode: str
|
||||||
|
):
|
||||||
for repo in selected_repos:
|
for repo in selected_repos:
|
||||||
repo_identifier = get_repo_identifier(repo, all_repos)
|
repo_identifier = get_repo_identifier(repo, all_repos)
|
||||||
repo_dir = get_repo_dir(repositories_base_dir, repo)
|
repo_dir = get_repo_dir(repositories_base_dir, repo)
|
||||||
|
|||||||
@@ -10,7 +10,17 @@ from pkgmgr.run_command import run_command
|
|||||||
from pkgmgr.verify import verify_repository
|
from pkgmgr.verify import verify_repository
|
||||||
from pkgmgr.clone_repos import clone_repos
|
from pkgmgr.clone_repos import clone_repos
|
||||||
|
|
||||||
def install_repos(selected_repos, repositories_base_dir, bin_dir, all_repos, no_verification, preview=False, quiet=False, clone_mode: str = "ssh", update_dependencies: bool = True):
|
def install_repos(
|
||||||
|
selected_repos,
|
||||||
|
repositories_base_dir,
|
||||||
|
bin_dir,
|
||||||
|
all_repos,
|
||||||
|
no_verification,
|
||||||
|
preview,
|
||||||
|
quiet,
|
||||||
|
clone_mode: str,
|
||||||
|
update_dependencies: bool
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Install repositories by creating symbolic links, running setup commands, and
|
Install repositories by creating symbolic links, running setup commands, and
|
||||||
installing additional packages if a requirements.yml or requirements.txt file is found.
|
installing additional packages if a requirements.yml or requirements.txt file is found.
|
||||||
@@ -21,7 +31,7 @@ def install_repos(selected_repos, repositories_base_dir, bin_dir, all_repos, no_
|
|||||||
if not os.path.exists(repo_dir):
|
if not os.path.exists(repo_dir):
|
||||||
print(f"Repository directory '{repo_dir}' does not exist. Cloning it now...")
|
print(f"Repository directory '{repo_dir}' does not exist. Cloning it now...")
|
||||||
# Pass the clone_mode parameter to clone_repos
|
# Pass the clone_mode parameter to clone_repos
|
||||||
clone_repos([repo], repositories_base_dir, all_repos, preview, no_verification, clone_mode=clone_mode)
|
clone_repos([repo], repositories_base_dir, all_repos, preview, no_verification, clone_mode)
|
||||||
if not os.path.exists(repo_dir):
|
if not os.path.exists(repo_dir):
|
||||||
print(f"Cloning failed for repository {repo_identifier}. Skipping installation.")
|
print(f"Cloning failed for repository {repo_identifier}. Skipping installation.")
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -2,8 +2,32 @@ import sys
|
|||||||
from pkgmgr.pull_with_verification import pull_with_verification
|
from pkgmgr.pull_with_verification import pull_with_verification
|
||||||
from pkgmgr.install_repos import install_repos
|
from pkgmgr.install_repos import install_repos
|
||||||
|
|
||||||
def update_repos(selected_repos, repositories_base_dir, bin_dir, all_repos, no_verification, system_update=False, preview=False, quiet=False, update_dependencies=False):
|
def update_repos(
|
||||||
|
selected_repos,
|
||||||
|
repositories_base_dir,
|
||||||
|
bin_dir,
|
||||||
|
all_repos,
|
||||||
|
no_verification,
|
||||||
|
system_update,
|
||||||
|
preview: bool,
|
||||||
|
quiet: bool,
|
||||||
|
update_dependencies: bool,
|
||||||
|
clone_mode: str):
|
||||||
|
"""
|
||||||
|
Update repositories by pulling latest changes and installing them.
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
- selected_repos: List of selected repositories.
|
||||||
|
- repositories_base_dir: Base directory for repositories.
|
||||||
|
- bin_dir: Directory for symbolic links.
|
||||||
|
- all_repos: All repository configurations.
|
||||||
|
- no_verification: Whether to skip verification.
|
||||||
|
- system_update: Whether to run system update.
|
||||||
|
- preview: If True, only show commands without executing.
|
||||||
|
- quiet: If True, suppress messages.
|
||||||
|
- update_dependencies: Whether to update dependent repositories.
|
||||||
|
- clone_mode: Method to clone repositories (ssh or https).
|
||||||
|
"""
|
||||||
pull_with_verification(selected_repos, repositories_base_dir, all_repos, extra_args=[], no_verification=no_verification, preview=preview)
|
pull_with_verification(selected_repos, repositories_base_dir, all_repos, extra_args=[], no_verification=no_verification, preview=preview)
|
||||||
|
|
||||||
install_repos(
|
install_repos(
|
||||||
@@ -11,10 +35,11 @@ def update_repos(selected_repos, repositories_base_dir, bin_dir, all_repos, no_v
|
|||||||
repositories_base_dir,
|
repositories_base_dir,
|
||||||
bin_dir,
|
bin_dir,
|
||||||
all_repos,
|
all_repos,
|
||||||
no_verification=no_verification,
|
no_verification,
|
||||||
preview=preview,
|
preview,
|
||||||
quiet=quiet,
|
quiet,
|
||||||
update_dependencies=update_dependencies
|
update_dependencies,
|
||||||
|
clone_mode
|
||||||
)
|
)
|
||||||
|
|
||||||
if system_update:
|
if system_update:
|
||||||
|
|||||||
Reference in New Issue
Block a user