Add ability to run on a remote root based on the config file.
[update-copyright.git] / update_copyright / vcs / mercurial.py
index 70af636f480337f82930f76edeb4a9d6a81ef1c5..310b6b83b23400ad6dcfe186b9d7176df5750581 100644 (file)
@@ -33,7 +33,10 @@ from . import utils as _utils
 class MercurialBackend (_VCSBackend):
     name = 'Mercurial'
 
-    @staticmethod
+    def __init__(self, **kwargs):
+        super(MercurialBackend, self).__init__(**kwargs)
+        self._version = _version
+
     def _hg_cmd(*args):
         cwd = _os.getcwd()
         stdout = _sys.stdout
@@ -42,6 +45,7 @@ class MercurialBackend (_VCSBackend):
         tmp_stderr = _StringIO.StringIO()
         _sys.stdout = tmp_stdout
         _sys.stderr = tmp_stderr
+        _os.chdir(self._root)
         try:
             _mercurial_dispatch.dispatch(list(args))
         finally:
@@ -51,10 +55,6 @@ class MercurialBackend (_VCSBackend):
         return (tmp_stdout.getvalue().rstrip('\n'),
                 tmp_stderr.getvalue().rstrip('\n'))
 
-    def __init__(self, **kwargs):
-        super(MercurialBackend, self).__init__(**kwargs)
-        self._version = _version
-
     def _years(self, filename=None):
         args = [
             '--template', '{date|shortdate}\n',