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
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