Looks like the clone probably finished, but failed during refresh. /p/encuestame/code 500s currently
Forking/cloning repo code in project encuestame from /nfs/classic/sf-git/e/en/encuestame/encuestame failed.
Forking/cloning repo code in project zynaddsubfx from /nfs/classic/sf-git/z/zy/zynaddsubfx/zynaddsubfx failed.
Traceback (most recent call last):
File "/var/local/allura/Allura/allura/tasks/repo_tasks.py", line 26, in clone
cloned_from_url)
File "/var/local/allura/Allura/allura/model/repository.py", line 275, in init_as_clone
self.refresh(notify=False)
File "/var/local/allura/Allura/allura/model/repository.py", line 452, in refresh
refresh_repo(self, all_commits, notify)
File "/var/local/allura/Allura/allura/model/repo_refresh.py", line 107, in refresh_repo
compute_lcds(ci, cache)
File "/var/local/allura/Allura/allura/model/repo_refresh.py", line 499, in compute_lcds
_compute_lcds(tree, cache)
File "/var/local/allura/Allura/allura/model/repo_refresh.py", line 504, in _compute_lcds
lcd = LastCommit.get(tree, create=True) # auto-vivify LCD
File "/var/local/allura/Allura/allura/model/repo.py", line 742, in get
lcd = cls._build(commit.get_path(path))
File "/var/local/allura/Allura/allura/model/repo.py", line 771, in _build
entries = tree.commit.repo.last_commit_ids(tree.commit, unchanged)
File "/var/local/allura/Allura/allura/model/repository.py", line 257, in last_commit_ids
return self._impl.last_commit_ids(commit, paths)
File "/var/local/env-allura/lib/python2.7/site-packages/TimerMiddleware-0.4.1-py2.7.egg/timermiddleware/__init__.py", line 112, in wrapper
return self.run_and_log(func, inst, *args, **kwargs)
File "/var/local/env-allura/lib/python2.7/site-packages/TimerMiddleware-0.4.1-py2.7.egg/timermiddleware/__init__.py", line 137, in run_and_log
return func(*args, **kwargs)
File "/var/local/allura/Allura/allura/model/repository.py", line 132, in last_commit_ids
changed = set([path for path in paths if not parent.has_path(path)])
File "/var/local/allura/Allura/allura/model/repo.py", line 352, in has_path
self.get_path(path)
File "/var/local/allura/Allura/allura/model/repo.py", line 347, in get_path
cur = cur[part]
File "/var/local/allura/Allura/allura/model/repo.py", line 426, in __getitem__
obj.set_context(self, name)
File "/var/local/allura/Allura/allura/model/repo.py", line 448, in set_context
assert commit_or_tree is not self
AssertionError
Diff:
Created #277: [#5785] AssertionError in cloning git repos (2cp)
Related
Tickets:
#5785Closed #277.
allura:je/42cc_5785The error occurs on repos with submodules. Some repos just skip submodule directories, so they isn't accessible from code viewer, and some raise an exception like
encuestame/codeandzynaddsubfx/code.I don't sure what is a proper way to handle submodules in allura code browser, so I assumed that skipping submodule dirs is ok (just like repos with submodules that do not raise an exception).