Switch to unified view

a/Allura/allura/model/repo.py b/Allura/allura/model/repo.py
...
...
229
            + [ x.type + x.name + x.id for x in self.other_ids ])
229
            + [ x.type + x.name + x.id for x in self.other_ids ])
230
        sha_obj = sha1()
230
        sha_obj = sha1()
231
        for line in sorted(lines):
231
        for line in sorted(lines):
232
            sha_obj.update(line)
232
            sha_obj.update(line)
233
        return sha_obj.hexdigest()
233
        return sha_obj.hexdigest()
234
235
    def __getitem__(self, name):
236
        obj = self.by_name[name]
237
        if obj['type'] == 'blob': return obj
238
        obj = self.query.get(_id=obj['id'])
239
        if obj is None:
240
            oid = self.repo.compute_tree_new(self.commit, self.path() + name + '/')
241
            obj = self.query.get(_id=oid)
242
        if obj is None: raise KeyError, name
243
        obj.set_context(self, name)
244
        return obj
234
245
235
    def set_context(self, commit_or_tree, name=None):
246
    def set_context(self, commit_or_tree, name=None):
236
        assert commit_or_tree is not self
247
        assert commit_or_tree is not self
237
        self.repo = commit_or_tree.repo
248
        self.repo = commit_or_tree.repo
238
        if name:
249
        if name: