Пример #1
0
 def fromstring(self, string):
     '''Set the contents of this tree from XML representation.'''
     parser = ElementTreeModule.XMLTreeBuilder()
     parser.feed(string)
     root = parser.close()
     self._etree._setroot(root)
     return self  # allow ParseTree().fromstring(..)
Пример #2
0
    def clone(self, url, targetpath, **kwargs):
        if url.split(':')[0].find("svn") < 0:
            return VCS.clone(self, url, targetpath, **kwargs)
        else:
            # To speed things up on huge repositories, we'll just grab all the
            # revision numbers for this specific directory and grab these only
            # in stead of having to go through each and every revision...
            retval, result = execcmd("svn log --stop-on-copy --xml %s" % url)
            if retval:
                return retval
            parser = ElementTree.XMLTreeBuilder()
            result = "".join(result.split("\n"))
            parser.feed(result)
            log = parser.close()
            logentries = log.getiterator("logentry")
            revisions = []
            topurl = dirname(url)
            trunk = basename(url)
            tags = "releases"
            execcmd("git svn init %s --trunk=%s --tags=%s %s" %
                    (topurl, trunk, tags, targetpath),
                    show=True)
            chdir(targetpath)
            for entry in logentries:
                revisions.append(entry.attrib["revision"])
            while revisions:
                execcmd("git svn fetch -r%d" % int(revisions.pop()), show=True)

            cmd = ["svn", "rebase"]
            return self._execVcs_success(*cmd, **kwargs)
Пример #3
0
def svn_log():
    """Returns the svn log of the base url as XML element"""
    code, result = popen('svn log --stop-on-copy --xml %s' % base_url(),
        False, False)
    parser = ElementTree.XMLTreeBuilder()
    parser.feed(''.join(result))
    return parser.close()
Пример #4
0
 def __init__(self, inventory):
     self.__inventory = inventory
     self.__p = ET.XMLTreeBuilder()
Пример #5
0
 def __init__(self, qc):
     self.__qc = qc
     self.__p = ET.XMLTreeBuilder()
Пример #6
0
def svn_info():
    """Returns the svn info as XML element"""
    code, result = popen('svn info --xml .', False, False)
    parser = ElementTree.XMLTreeBuilder()
    parser.feed(''.join(result))
    return parser.close()
Пример #7
0
 def __init__(self, routing, use_access):
     self.__routing = routing
     self.__use_access = use_access
     self.__p = ET.XMLTreeBuilder()