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.
|
||||
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":
|
||||
from pkgmgr.create_repo import create_repo
|
||||
# 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,
|
||||
ALL_REPOSITORIES,
|
||||
args.no_verification,
|
||||
system_update=args.system,
|
||||
preview=args.preview,
|
||||
quiet=args.quiet,
|
||||
update_dependencies=args.dependencies
|
||||
args.system,
|
||||
args.preview,
|
||||
args.quiet,
|
||||
args.dependencies,
|
||||
args.clone_mode
|
||||
)
|
||||
elif args.command == "release":
|
||||
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.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:
|
||||
repo_identifier = get_repo_identifier(repo, all_repos)
|
||||
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.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
|
||||
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):
|
||||
print(f"Repository directory '{repo_dir}' does not exist. Cloning it now...")
|
||||
# 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):
|
||||
print(f"Cloning failed for repository {repo_identifier}. Skipping installation.")
|
||||
continue
|
||||
|
||||
@@ -2,21 +2,46 @@ import sys
|
||||
from pkgmgr.pull_with_verification import pull_with_verification
|
||||
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)
|
||||
|
||||
|
||||
install_repos(
|
||||
selected_repos,
|
||||
repositories_base_dir,
|
||||
bin_dir,
|
||||
all_repos,
|
||||
no_verification=no_verification,
|
||||
preview=preview,
|
||||
quiet=quiet,
|
||||
update_dependencies=update_dependencies
|
||||
no_verification,
|
||||
preview,
|
||||
quiet,
|
||||
update_dependencies,
|
||||
clone_mode
|
||||
)
|
||||
|
||||
|
||||
if system_update:
|
||||
from pkgmgr.run_command import run_command
|
||||
run_command("yay -Syu", preview=preview)
|
||||
|
||||
Reference in New Issue
Block a user