You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
716 B
Python

import subprocess
from pathlib import Path
from .log import log
class Repo:
resource_name = "git"
def __init__(self, label, section):
self.label = label or None
self.repo = section["repo"]
self.target = Path(section["target"]).expanduser()
def run(self):
if self.target.exists():
log.debug("target exists")
if self.target.is_dir():
log.debug("target is dir")
git_dir = self.target / ".git"
if git_dir.exists() and git_dir.is_dir():
log.debug("target is git repo")
return
cmd = ["git", "clone", self.repo, self.target]
subprocess.call(cmd)