]> scripts.mit.edu Git - wizard.git/blobdiff - wizard/deploy.py
Convert ad hoc shell calls to singleton instance; fix upgrade bug.
[wizard.git] / wizard / deploy.py
index 16768fa5f6b9fdc35de92b0df3fad0723b1e93f6..67c4118e0b7c37741a97e5ad7658bdde62b6014a 100644 (file)
@@ -151,7 +151,7 @@ class Deployment(object):
         """
         repo = self.application.repository(srv_path)
         try:
-            shell.Shell().eval("git", "--git-dir", repo, "rev-parse", self.app_version.scripts_tag, '--')
+            shell.eval("git", "--git-dir", repo, "rev-parse", self.app_version.scripts_tag, '--')
         except shell.CallError:
             raise NoTagError(self.app_version.scripts_tag)
 
@@ -163,13 +163,12 @@ class Deployment(object):
         corresponds to the one in the remote repository.
         """
         with util.ChangeDirectory(self.location):
-            sh = shell.Shell()
             repo = self.application.repository(srv_path)
             def repo_rev_parse(tag):
-                return sh.eval("git", "--git-dir", repo, "rev-parse", tag)
+                return shell.eval("git", "--git-dir", repo, "rev-parse", tag)
             def self_rev_parse(tag):
                 try:
-                    return sh.safeCall("git", "rev-parse", tag, strip=True)
+                    return shell.safeCall("git", "rev-parse", tag, strip=True)
                 except shell.CallError:
                     raise NoLocalTagError(tag)
             def compare_tags(tag):
@@ -179,7 +178,7 @@ class Deployment(object):
             if not compare_tags(self.app_version.scripts_tag):
                 raise InconsistentScriptsTagError(self.app_version.scripts_tag)
             parent = repo_rev_parse(self.app_version.scripts_tag)
-            merge_base = sh.safeCall("git", "merge-base", parent, "HEAD", strip=True)
+            merge_base = shell.safeCall("git", "merge-base", parent, "HEAD", strip=True)
             if merge_base != parent:
                 raise HeadNotDescendantError(self.app_version.scripts_tag)
 
@@ -275,7 +274,7 @@ class Deployment(object):
             except old_log.ScriptsVersionNoSuchFile:
                 pass
         if not self._app_version:
-            appname = shell.Shell().eval("git", "config", "remote.origin.url").rpartition("/")[2].partition(".")[0]
+            appname = shell.eval("git", "config", "remote.origin.url").rpartition("/")[2].partition(".")[0]
             self._app_version = app.ApplicationVersion.make(appname, "unknown")
         return self._app_version
     @property