diff options
Diffstat (limited to 'git_remote_helpers/git')
-rw-r--r-- | git_remote_helpers/git/exporter.py | 4 | ||||
-rw-r--r-- | git_remote_helpers/git/importer.py | 4 | ||||
-rw-r--r-- | git_remote_helpers/git/non_local.py | 16 | ||||
-rw-r--r-- | git_remote_helpers/git/repo.py | 9 |
4 files changed, 25 insertions, 8 deletions
diff --git a/git_remote_helpers/git/exporter.py b/git_remote_helpers/git/exporter.py index dfaab00b5f..f40f9d6a29 100644 --- a/git_remote_helpers/git/exporter.py +++ b/git_remote_helpers/git/exporter.py @@ -48,4 +48,6 @@ class GitExporter(object): args = ["sed", "s_refs/heads/_" + self.repo.prefix + "_g"] - subprocess.check_call(args, stdin=p1.stdout) + child = subprocess.Popen(args, stdin=p1.stdout) + if child.wait() != 0: + raise CalledProcessError diff --git a/git_remote_helpers/git/importer.py b/git_remote_helpers/git/importer.py index af2919d92c..70a712729b 100644 --- a/git_remote_helpers/git/importer.py +++ b/git_remote_helpers/git/importer.py @@ -35,4 +35,6 @@ class GitImporter(object): if os.path.exists(path): args.append("--import-marks=" + path) - subprocess.check_call(args) + child = subprocess.Popen(args) + if child.wait() != 0: + raise CalledProcessError diff --git a/git_remote_helpers/git/non_local.py b/git_remote_helpers/git/non_local.py index d75ef8f214..f27389bb94 100644 --- a/git_remote_helpers/git/non_local.py +++ b/git_remote_helpers/git/non_local.py @@ -29,7 +29,9 @@ class NonLocalGit(object): os.makedirs(path) args = ["git", "clone", "--bare", "--quiet", self.repo.gitpath, path] - subprocess.check_call(args) + child = subprocess.Popen(args) + if child.wait() != 0: + raise CalledProcessError return path @@ -43,10 +45,14 @@ class NonLocalGit(object): die("could not find repo at %s", path) args = ["git", "--git-dir=" + path, "fetch", "--quiet", self.repo.gitpath] - subprocess.check_call(args) + child = subprocess.Popen(args) + if child.wait() != 0: + raise CalledProcessError args = ["git", "--git-dir=" + path, "update-ref", "refs/heads/master", "FETCH_HEAD"] - subprocess.check_call(args) + child = subprocess.Popen(args) + if child.wait() != 0: + raise CalledProcessError def push(self, base): """Pushes from the non-local repo to base. @@ -58,4 +64,6 @@ class NonLocalGit(object): die("could not find repo at %s", path) args = ["git", "--git-dir=" + path, "push", "--quiet", self.repo.gitpath] - subprocess.check_call(args) + child = subprocess.Popen(args) + if child.wait() != 0: + raise CalledProcessError diff --git a/git_remote_helpers/git/repo.py b/git_remote_helpers/git/repo.py index 82d5f78c7e..58e1cdb560 100644 --- a/git_remote_helpers/git/repo.py +++ b/git_remote_helpers/git/repo.py @@ -19,7 +19,10 @@ def is_remote(url): prefixes = ["http", "file", "git"] - return any(url.startswith(i) for i in prefixes) + for prefix in prefixes: + if url.startswith(prefix): + return True + return False class GitRepo(object): """Repo object representing a repo. @@ -50,7 +53,9 @@ class GitRepo(object): path = ".cached_revs" ofile = open(path, "w") - subprocess.check_call(args, stdout=ofile) + child = subprocess.Popen(args, stdout=ofile) + if child.wait() != 0: + raise CalledProcessError output = open(path).readlines() self.revmap = dict(sanitize(i) for i in output) if "HEAD" in self.revmap: |