Beispiel #1
0
    def __init__(self, repoRoot):
        super(HgResourceProvider, self).__init__()
        self.repoRoot = repoRoot
        print "Mercurial version %s" % hgversion
        self.ui = mercurial.ui.ui()
        self.repo = hg.repository(self.ui, repoRoot)
        self.ui.status("Connected to repository %s\n" % self.repo.root)
        self.repoRoot = self.repo.root

        # Some commands (remove) seem to expect cwd set to the repo
        # TODO: try to go along without this, because it prevents serving
        #       multiple repos. Instead pass absolute paths to the commands.
        #        print os.getcwd()
        os.chdir(self.repo.root)

        # Verify integrity of the repository
        util.status("Verify repository '%s' tree..." % self.repo.root)
        commands.verify(self.ui, self.repo)

        #        self.ui.status("Changelog: %s\n" % self.repo.changelog)
        print "Status:"
        pprint(self.repo.status())
        self.repo.ui.status(
            "the default username to be used in commits: %s\n" %
            self.repo.ui.username())
        #        self.repo.ui.status("a short form of user name USER %s\n" % self.repo.ui.shortuser(user))
        self.ui.status("Expandpath: %s\n" % self.repo.ui.expandpath(repoRoot))

        print "Working directory state summary:"
        self.ui.pushbuffer()
        commands.summary(self.ui, self.repo, remote=False)
        res = self.ui.popbuffer().strip()
        reslines = [tuple(line.split(":", 1)) for line in res.split("\n")]
        pprint(reslines)

        print "Repository state summary:"
        self.ui.pushbuffer()
        commands.identify(self.ui,
                          self.repo,
                          num=True,
                          id=True,
                          branch=True,
                          tags=True)
        res = self.ui.popbuffer().strip()
        reslines = [tuple(line.split(":", 1)) for line in res.split("\n")]
        pprint(reslines)

        self._getLog()
Beispiel #2
0
    def __init__(self, repoRoot):
        super(HgResourceProvider, self).__init__()
        self.repoRoot = repoRoot
        print("Mercurial version %s" % hgversion)
        self.ui = mercurial.ui.ui()
        self.repo = hg.repository(self.ui, repoRoot)
        self.ui.status("Connected to repository %s\n" % self.repo.root)
        self.repoRoot = self.repo.root

        # Some commands (remove) seem to expect cwd set to the repo
        # TODO: try to go along without this, because it prevents serving
        #       multiple repos. Instead pass absolute paths to the commands.
        #        print(os.getcwd())
        os.chdir(self.repo.root)

        # Verify integrity of the repository
        _logger.warning("Verify repository '%s' tree..." % self.repo.root)
        commands.verify(self.ui, self.repo)

        #        self.ui.status("Changelog: %s\n" % self.repo.changelog)
        print("Status:")
        pprint(self.repo.status())
        self.repo.ui.status(
            "the default user_name to be used in commits: %s\n"
            % self.repo.ui.user_name()
        )
        #        self.repo.ui.status("a short form of user name USER %s\n" % self.repo.ui.shortuser(user))
        self.ui.status("Expandpath: %s\n" % self.repo.ui.expandpath(repoRoot))

        print("Working directory state summary:")
        self.ui.pushbuffer()
        commands.summary(self.ui, self.repo, remote=False)
        res = self.ui.popbuffer().strip()
        reslines = [tuple(line.split(":", 1)) for line in res.split("\n")]
        pprint(reslines)

        print("Repository state summary:")
        self.ui.pushbuffer()
        commands.identify(self.ui, self.repo, num=True, id=True, branch=True, tags=True)
        res = self.ui.popbuffer().strip()
        reslines = [tuple(line.split(":", 1)) for line in res.split("\n")]
        pprint(reslines)

        self._get_log()
def check(dir, only):
	mercurial_ui = ui.ui()

	for layer1 in os.listdir(dir): # Public, private
		if only and layer1 != only:
			continue
		inlayer1full = os.path.join(dir, layer1)

		for layer2 in os.listdir(inlayer1full): # Repo names
			inlayer2full = os.path.join(inlayer1full, layer2)

			for layer3 in os.listdir(inlayer2full): # Repo artifacts (repo, wiki etc)
				inlayer3full = os.path.join(inlayer2full, layer3)
				if layer3 != "hg" or os.path.isfile(inlayer3full):
					continue

				repo = hg.repository(mercurial_ui, inlayer3full.encode('utf-8'))
				print("-----------\nrepo " + layer2 + "\n")
				commands.summary(mercurial_ui, repo)
				commands.bookmark(mercurial_ui, repo)
				print("-- Heads --")
				commands.heads(mercurial_ui, repo)
				print("")