mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-14 05:37:03 +03:00
Fix default clone branch and error handling [ci skip]
This commit is contained in:
parent
acabb284dd
commit
b46073234a
|
@ -372,7 +372,11 @@ def git_checkout(
|
||||||
cmd = f"git -C {tmp_dir} clone {repo} . -b {branch}"
|
cmd = f"git -C {tmp_dir} clone {repo} . -b {branch}"
|
||||||
run_command(cmd, capture=True)
|
run_command(cmd, capture=True)
|
||||||
# We need Path(name) to make sure we also support subdirectories
|
# We need Path(name) to make sure we also support subdirectories
|
||||||
|
try:
|
||||||
shutil.copytree(str(tmp_dir / Path(subpath)), str(dest))
|
shutil.copytree(str(tmp_dir / Path(subpath)), str(dest))
|
||||||
|
except FileNotFoundError:
|
||||||
|
err = f"Can't clone {subpath}. Make sure the directory exists in the repo (branch '{branch}')"
|
||||||
|
msg.fail(err, repo, exits=1)
|
||||||
|
|
||||||
|
|
||||||
def git_sparse_checkout(repo, subpath, dest, branch):
|
def git_sparse_checkout(repo, subpath, dest, branch):
|
||||||
|
|
|
@ -9,14 +9,18 @@ from ...util import ensure_path
|
||||||
from .._util import project_cli, Arg, Opt, COMMAND, PROJECT_FILE
|
from .._util import project_cli, Arg, Opt, COMMAND, PROJECT_FILE
|
||||||
from .._util import git_checkout, get_git_version
|
from .._util import git_checkout, get_git_version
|
||||||
|
|
||||||
|
DEFAULT_REPO = about.__projects__
|
||||||
|
DEFAULT_PROJECTS_BRANCH = about.__projects_branch__
|
||||||
|
DEFAULT_BRANCH = "master"
|
||||||
|
|
||||||
|
|
||||||
@project_cli.command("clone")
|
@project_cli.command("clone")
|
||||||
def project_clone_cli(
|
def project_clone_cli(
|
||||||
# fmt: off
|
# fmt: off
|
||||||
name: str = Arg(..., help="The name of the template to clone"),
|
name: str = Arg(..., help="The name of the template to clone"),
|
||||||
dest: Optional[Path] = Arg(None, help="Where to clone the project. Defaults to current working directory", exists=False),
|
dest: Optional[Path] = Arg(None, help="Where to clone the project. Defaults to current working directory", exists=False),
|
||||||
repo: str = Opt(about.__projects__, "--repo", "-r", help="The repository to clone from"),
|
repo: str = Opt(DEFAULT_REPO, "--repo", "-r", help="The repository to clone from"),
|
||||||
branch: str = Opt(about.__projects_branch__, "--branch", "-b", help="The branch to clone from"),
|
branch: Optional[str] = Opt(None, "--branch", "-b", help="The branch to clone from"),
|
||||||
sparse_checkout: bool = Opt(False, "--sparse", "-S", help="Use sparse Git checkout to only check out and clone the files needed. Requires Git v22.2+.")
|
sparse_checkout: bool = Opt(False, "--sparse", "-S", help="Use sparse Git checkout to only check out and clone the files needed. Requires Git v22.2+.")
|
||||||
# fmt: on
|
# fmt: on
|
||||||
):
|
):
|
||||||
|
@ -29,6 +33,9 @@ def project_clone_cli(
|
||||||
"""
|
"""
|
||||||
if dest is None:
|
if dest is None:
|
||||||
dest = Path.cwd() / Path(name).parts[-1]
|
dest = Path.cwd() / Path(name).parts[-1]
|
||||||
|
if branch is None:
|
||||||
|
# If it's a user repo, we want to default to other branch
|
||||||
|
branch = DEFAULT_PROJECTS_BRANCH if repo == DEFAULT_REPO else DEFAULT_BRANCH
|
||||||
project_clone(name, dest, repo=repo, branch=branch, sparse_checkout=sparse_checkout)
|
project_clone(name, dest, repo=repo, branch=branch, sparse_checkout=sparse_checkout)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user