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