예제 #1
0
    def get_changelists(p4, path, callback, limit=None):
        """Run p4 changes to get a list of changes
        Call callback with each found changelist.

        p4: initialized P4 object
        path: path + revision specifier, e.g. //depot/main/p4/...@1,#head
        callback: function taking P4Changelist
        """
        cmd = NTR(["changes", "-l"])
        if limit:
            cmd.extend(["-m", str(limit)])
        cmd.append(path)
        handler = ChangesHandler(callback)
        with p4gf_util.Handler(p4, handler):
            p4.run(cmd)
        return handler.count
예제 #2
0
    def get_changelists(p4, path, callback):
        """Run p4 changes to get a list of changes.

        Call callback with each found changelist.

        p4: initialized P4 object
        path: path + revision specifier, e.g. //depot/main/p4/...@1,#head
        callback: function taking P4Changelist
        """
        cmd = NTR(["changes", "-l"])
        # replace: p4 changes //depot/...@N,#head
        # with:    p4 changes -e N //depot/...
        m = re.match(r'(.+)@(\d+),#head', path)
        if m:
            cmd.append("-e")
            cmd.append(m.groups()[1])
            cmd.append(m.groups()[0])
        else:
            cmd.append(path)
        LOG.debug(cmd)
        handler = ChangesHandler(callback)
        with p4.using_handler(handler):
            p4.run(cmd)
        return handler.count