3 from git_remote_helpers.util import die, warn
5 class NonLocalHg(object):
6 def __init__(self, repo):
10 def clone(self, base):
11 path = self.repo.get_base_path(base)
14 if os.path.exists(os.path.join(path, '.hg')):
17 if not os.path.exists(path):
20 self.repo.ui.setconfig('ui', 'quiet', "true")
21 self.hg.clone(self.repo.ui, self.repo.path, path, update=False, pull=True)
25 def update(self, base):
26 path = self.repo.get_base_path(base)
28 if not os.path.exists(path):
29 die("could not find repo at %s", path)
31 repo = self.hg.repository(self.repo.ui, path)
33 repo.ui.setconfig('ui', 'quiet', "true")
34 repo.pull(self.repo, heads=self.repo.heads(), force=True)
37 path = self.repo.get_base_path(base)
39 if not os.path.exists(path):
40 die("could not find repo at %s", path)
42 repo = self.hg.repository(self.repo.ui, path)
44 self.repo.ui.setconfig('ui', 'quiet', "true")
45 repo.ui.setconfig('ui', 'quiet', "true")
46 repo.push(self.repo, force=False)