GitPlugin: GitNode *must* throw NoSuchNode on invalid revisions for Bitten to work
|Reported by:||Peter Suter||Owned by:||Jun Omae|
When git revisions are lost in a repository (due to rebases or whatever), and the Bitten plugin already had build such a revisions, then it will later die with a
NoSuchChangesetexcption while showing the Timeline.
A very similar probmlem existed for Bitten (see Bitten ticket 606) with SVN repositories and was fixed already. However that fix does not generalize to Git repositories, as GitNode.__init_ (called from
GitRepository.get_node) does not throw
NoSuchNodeon invalid revisions if path is '/' (it does throw for all paths != '/').
So Bitten calls
repo.get_nodewith an invalid revision, which succeeds (this part is try/catch protected). And later dies when calling
repo.normalize_rev(this part is not protected).
What would be the correct fix? Is it sufficient to pull the ls_tree_info assignment and result check out of the
if p:block in the
Change History (8)
comment:6 by , 5 years ago
|Release Notes:||modified (diff)|
|Status:||assigned → closed|