Example #1
0
    def _hgcmd(self,
               command,
               split_lines=False,
               ignore_errors=False,
               extra_ignore_errors=(),
               translate_newlines=True,
               hg_dir=None):
        if hg_dir:
            full_command = ['hg', '--cwd', hg_dir]
        else:
            full_command = ['hg']

        # We're *not* doing `env = env or {}` here because
        # we want the caller to be able to *enable* reading
        # of user and system-level hgrc configuration.
        env = self._hg_env.copy()

        if not env:
            env = {
                'HGRCPATH': os.devnull,
                'HGPLAIN': '1',
            }

        full_command.extend(command)

        return execute(full_command, env, split_lines, ignore_errors,
                       extra_ignore_errors, translate_newlines)
Example #2
0
    def _hgcmd(
        self,
        command,
        split_lines=False,
        ignore_errors=False,
        extra_ignore_errors=(),
        translate_newlines=True,
        hg_dir=None,
    ):
        if hg_dir:
            full_command = ["hg", "--cwd", hg_dir]
        else:
            full_command = ["hg"]

        # We're *not* doing `env = env or {}` here because
        # we want the caller to be able to *enable* reading
        # of user and system-level hgrc configuration.
        env = self._hg_env.copy()

        if not env:
            env = {"HGRCPATH": os.devnull, "HGPLAIN": "1"}

        full_command.extend(command)

        return execute(full_command, env, split_lines, ignore_errors, extra_ignore_errors, translate_newlines)
Example #3
0
    def _fire_up_svnserve(self):
        if not self._svnserve_port:
            self._svnserve_port = str(randint(30000, 40000))

        pid_file = os.path.join(self._tmpbase, "svnserve.pid")
        execute(["svnserve", "--pid-file", pid_file, "-d", "--listen-port", self._svnserve_port, "-r", self._tmpbase])

        for i in range(0, self._max_svnserve_pid_tries):
            try:
                self._svnserve_pid = int(open(pid_file).read().strip())
                return

            except (IOError, OSError):
                time.sleep(0.25)

        # This will re-raise the last exception, which will be either
        # IOError or OSError if the above fails and this branch is reached
        raise
Example #4
0
    def _gitcmd(self, command, env=None, split_lines=False,
                ignore_errors=False, extra_ignore_errors=(),
                translate_newlines=True, git_dir=None):
        if git_dir:
            full_command = ['git', '--git-dir=%s/.git' % git_dir]
        else:
            full_command = ['git']

        full_command.extend(command)

        return execute(full_command, env, split_lines, ignore_errors,
                       extra_ignore_errors, translate_newlines)
Example #5
0
    def _fire_up_svnserve(self):
        if not self._svnserve_port:
            self._svnserve_port = str(randint(30000, 40000))

        pid_file = os.path.join(self._tmpbase, 'svnserve.pid')
        execute([
            'svnserve', '--pid-file', pid_file, '-d', '--listen-port',
            self._svnserve_port, '-r', self._tmpbase
        ])

        for i in range(0, self._max_svnserve_pid_tries):
            try:
                self._svnserve_pid = int(open(pid_file).read().strip())
                return

            except (IOError, OSError):
                time.sleep(0.25)

        # This will re-raise the last exception, which will be either
        # IOError or OSError if the above fails and this branch is reached
        raise
Example #6
0
    def _gitcmd(self,
                command,
                env=None,
                split_lines=False,
                ignore_errors=False,
                extra_ignore_errors=(),
                translate_newlines=True,
                git_dir=None):
        if git_dir:
            full_command = ['git', '--git-dir=%s/.git' % git_dir]
        else:
            full_command = ['git']

        full_command.extend(command)

        return execute(full_command, env, split_lines, ignore_errors,
                       extra_ignore_errors, translate_newlines)
Example #7
0
    def _fill_in_svn_repo(self):
        self.svn_checkout = os.path.join(self._tmpbase, "checkout.svn")
        execute(["svn", "checkout", "file://%s" % self.svn_repo, self.svn_checkout])
        os.chdir(self.svn_checkout)

        for subtree in ("trunk", "branches", "tags"):
            execute(["svn", "mkdir", subtree])

        execute(["svn", "commit", "-m", "filling in T/b/t"])
        os.chdir(os.path.join(self.svn_checkout, "trunk"))

        for i, data in enumerate([FOO, FOO1, FOO2]):
            self._svn_add_file_commit("foo.txt", data, "foo commit %s" % i)
Example #8
0
    def testScanForServerProperty(self):
        """Test MercurialClient (+svn) scan_for_server in svn property"""
        os.chdir(self.svn_checkout)
        execute(["svn", "update"])
        execute(["svn", "propset", "reviewboard:url", self.TESTSERVER, self.svn_checkout])
        execute(["svn", "commit", "-m", "adding reviewboard:url property"])

        os.chdir(self.clone_dir)
        self._hgcmd(["pull"])
        self._hgcmd(["update", "-C"])

        ri = self.client.get_repository_info()

        self.assertEqual(self.TESTSERVER, self.client.scan_for_server(ri))
Example #9
0
    def _fill_in_svn_repo(self):
        self.svn_checkout = os.path.join(self._tmpbase, 'checkout.svn')
        execute(['svn', 'checkout', 'file://%s' % self.svn_repo,
                 self.svn_checkout])
        os.chdir(self.svn_checkout)

        for subtree in ('trunk', 'branches', 'tags'):
            execute(['svn', 'mkdir', subtree])

        execute(['svn', 'commit', '-m', 'filling in T/b/t'])
        os.chdir(os.path.join(self.svn_checkout, 'trunk'))

        for i, data in enumerate([FOO, FOO1, FOO2]):
            self._svn_add_file_commit('foo.txt', data, 'foo commit %s' % i)
Example #10
0
    def testScanForServerProperty(self):
        """Test MercurialClient (+svn) scan_for_server in svn property"""
        os.chdir(self.svn_checkout)
        execute(['svn', 'update'])
        execute(['svn', 'propset', 'reviewboard:url', self.TESTSERVER,
                 self.svn_checkout])
        execute(['svn', 'commit', '-m', 'adding reviewboard:url property'])

        os.chdir(self.clone_dir)
        self._hgcmd(['pull'])
        self._hgcmd(['update', '-C'])

        ri = self.client.get_repository_info()

        self.assertEqual(self.TESTSERVER, self.client.scan_for_server(ri))
Example #11
0
    def _fill_in_svn_repo(self):
        self.svn_checkout = os.path.join(self._tmpbase, 'checkout.svn')
        execute([
            'svn', 'checkout',
            'file://%s' % self.svn_repo, self.svn_checkout
        ])
        os.chdir(self.svn_checkout)

        for subtree in ('trunk', 'branches', 'tags'):
            execute(['svn', 'mkdir', subtree])

        execute(['svn', 'commit', '-m', 'filling in T/b/t'])
        os.chdir(os.path.join(self.svn_checkout, 'trunk'))

        for i, data in enumerate([FOO, FOO1, FOO2]):
            self._svn_add_file_commit('foo.txt', data, 'foo commit %s' % i)
Example #12
0
    def testScanForServerProperty(self):
        """Test MercurialClient (+svn) scan_for_server in svn property"""
        os.chdir(self.svn_checkout)
        execute(['svn', 'update'])
        execute([
            'svn', 'propset', 'reviewboard:url', self.TESTSERVER,
            self.svn_checkout
        ])
        execute(['svn', 'commit', '-m', 'adding reviewboard:url property'])

        os.chdir(self.clone_dir)
        self._hgcmd(['pull'])
        self._hgcmd(['update', '-C'])

        ri = self.client.get_repository_info()

        self.assertEqual(self.TESTSERVER, self.client.scan_for_server(ri))
Example #13
0
 def _create_svn_repo(self):
     self.svn_repo = os.path.join(self._tmpbase, 'svnrepo')
     execute(['svnadmin', 'create', self.svn_repo])
Example #14
0
 def _create_svn_repo(self):
     self.svn_repo = os.path.join(self._tmpbase, "svnrepo")
     execute(["svnadmin", "create", self.svn_repo])
Example #15
0
 def _create_svn_repo(self):
     self.svn_repo = os.path.join(self._tmpbase, 'svnrepo')
     execute(['svnadmin', 'create', self.svn_repo])
Example #16
0
 def _svn_add_file_commit(self, filename, data, msg):
     outfile = open(filename, 'w')
     outfile.write(data)
     outfile.close()
     execute(['svn', 'add', filename])
     execute(['svn', 'commit', '-m', msg])
Example #17
0
 def _svn_add_file_commit(self, filename, data, msg):
     outfile = open(filename, 'w')
     outfile.write(data)
     outfile.close()
     execute(['svn', 'add', filename])
     execute(['svn', 'commit', '-m', msg])
Example #18
0
 def _svn_add_file_commit(self, filename, data, msg):
     outfile = open(filename, "w")
     outfile.write(data)
     outfile.close()
     execute(["svn", "add", filename])
     execute(["svn", "commit", "-m", msg])