Index: p4trac.py =================================================================== --- p4trac.py (revision 215) +++ p4trac.py (working copy) @@ -102,7 +102,7 @@ try: # cache the first few changes self.history = [] - changes = self.__class__.p4c.run("changes", "-m", "10", "-s", "submitted") + changes = self.__class__.p4c.run("changes", "-m", options['max_changes'], "-s", "submitted") for change in changes: self.history.append(change['change']) @@ -227,10 +227,15 @@ Return the revision immediately preceding the specified revision. """ #self.log.debug("*** previous_rev rev = %s" % (rev)) - idx = self.history.index(rev) - if idx + 1 < len(self.history): - return self.history[idx + 1] - return None + try: + idx = self.history.index(rev) + if idx + 1 < len(self.history): + return self.history[idx + 1] + else: + return None + except ValueError: + return None + def next_rev(self, rev): @@ -238,12 +243,15 @@ Return the revision immediately following the specified revision. """ #self.log.debug("*** next_rev rev = %s" % (rev)) - idx = self.history.index(rev) - if idx > 0: - return self.history[idx - 1] - return None + try: + idx = self.history.index(rev) + if idx > 0: + return self.history[idx - 1] + else: + return None + except ValueError: + return None - def rev_older_than(self, rev1, rev2): """ Return True if rev1 is older than rev2, i.e. if rev1 comes before rev2 @@ -367,12 +375,11 @@ #self.log.debug("--- dirs = '%s'" % (dirs)) for dir in dirs: - mydir = _add_rev_to_path(dir['dir'] + "...", self.rev) - changes = self.p4c.run("changes", "-m 1 -status submitted", mydir) - maxrev = str(changes[0]["change"]) + #mydir = _add_rev_to_path(dir['dir'] + "...", self.rev) + #changes = self.p4c.run("changes", "-m", "1", "-s", "submitted", mydir) + #maxrev = str(changes[0]["change"]) + yield PerforceNode(dir['dir'], self.rev, self.p4c, self.log, Node.DIRECTORY) - yield PerforceNode(dir['dir'], maxrev, self.p4c, self.log, Node.DIRECTORY) - if self.path != '/': files = self.p4c.run("files", path) for file in files: @@ -625,4 +632,4 @@ return 1 def _render_html(self, req, repos, chgset, diff_options): - ChangesetModule._render_html(self, req, repos, chgset, diff_options) + ChangesetModule._render_html(self, req, repos, chgset, diff_options)