Exemplo n.º 1
0
 def branches(self):
     if not self.revisions:
         return {}
     sortkey = lambda ctx: ctx[0]
     _branches = [(x[0], x[1][0])
                  for x in self._parsed_refs.iteritems() if x[1][1] == 'H']
     return OrderedDict(sorted(_branches, key=sortkey, reverse=False))
Exemplo n.º 2
0
    def _get_bookmarks(self):
        if self._empty:
            return {}

        sortkey = lambda ctx: ctx[0]  # sort by name
        _bookmarks = [(safe_unicode(n), hex(h),) for n, h in
                 self._repo._bookmarks.items()]
        return OrderedDict(sorted(_bookmarks, key=sortkey, reverse=True))
Exemplo n.º 3
0
    def _get_tags(self):
        if not self.revisions:
            return {}

        sortkey = lambda ctx: ctx[0]
        _tags = [(x[0], x[1][0])
                 for x in self._parsed_refs.iteritems() if x[1][1] == 'T']
        return OrderedDict(sorted(_tags, key=sortkey, reverse=True))
Exemplo n.º 4
0
 def get_commands(self):
     """
     Returns commands stored in the registry.
     """
     commands = OrderedDict()
     for cmd in sorted(self.registry.keys()):
         commands[cmd] = self.get_command_class(cmd)
     return commands
Exemplo n.º 5
0
    def _get_branches(self, closed=False):
        """
        Get's branches for this repository
        Returns only not closed branches by default

        :param closed: return also closed branches for mercurial
        """

        if self._empty:
            return {}

        def _branchtags(localrepo):
            """
            Patched version of mercurial branchtags to not return the closed
            branches

            :param localrepo: locarepository instance
            """

            bt = {}
            bt_closed = {}
            for bn, heads in localrepo.branchmap().iteritems():
                tip = heads[-1]
                if 'close' in localrepo.changelog.read(tip)[5]:
                    bt_closed[bn] = tip
                else:
                    bt[bn] = tip

            if closed:
                bt.update(bt_closed)
            return bt

        sortkey = lambda ctx: ctx[0]  # sort by name
        _branches = [(
            safe_unicode(n),
            hex(h),
        ) for n, h in _branchtags(self._repo).items()]

        return OrderedDict(sorted(_branches, key=sortkey, reverse=False))