Switch to unified view

a/Allura/allura/model/repo.py b/Allura/allura/model/repo.py
...
...
663
    def url(self):
663
    def url(self):
664
        return self.tree.url() + h.really_unicode(self.name)
664
        return self.tree.url() + h.really_unicode(self.name)
665
665
666
    @LazyProperty
666
    @LazyProperty
667
    def prev_commit(self):
667
    def prev_commit(self):
668
        lc = LastCommit.get(self.tree, create=False)
668
        pcid = LastCommit._prev_commit_id(self.commit, self.path().strip('/'))
669
        if lc:
669
        if pcid:
670
            last_commit = self.repo.commit(lc.by_name[self.name])
671
            prev_commit = last_commit.get_parent()
672
            try:
673
                tree = prev_commit and prev_commit.get_path(self.tree.path().rstrip('/'), create=False)
674
            except KeyError:
675
                return None  # parent tree added this commit
676
            if not tree or self.name not in tree.by_name:
677
                return None  # tree or file added this commit
678
            lc = LastCommit.get(tree, create=False)
679
            commit_id = lc and lc.by_name.get(self.name)
680
            if commit_id:
681
                prev_commit = self.repo.commit(commit_id)
670
            return self.repo.commit(pcid)
682
                return prev_commit
683
        return None
671
        return None
684
672
685
    @LazyProperty
673
    @LazyProperty
686
    def next_commit(self):
674
    def next_commit(self):
687
        try:
675
        try:
...
...
731
719
732
    def context(self):
720
    def context(self):
733
        path = self.path()
721
        path = self.path()
734
        prev = self.prev_commit
722
        prev = self.prev_commit
735
        next = self.next_commit
723
        next = self.next_commit
724
        if prev is not None:
725
            try:
736
        if prev is not None: prev = prev.get_path(path, create=False)
726
                prev = prev.get_path(path, create=False)
727
            except KeyError as e:
728
                prev = None
729
        if next is not None:
730
            try:
737
        if next is not None: next = next.get_path(path, create=False)
731
                next = next.get_path(path, create=False)
732
            except KeyError as e:
733
                next = None
738
        return dict(
734
        return dict(
739
            prev=prev,
735
            prev=prev,
740
            next=next)
736
            next=next)
741
737
742
    def open(self):
738
    def open(self):