bzr-svn fails with NoSuchRevision when pulling a branch that was moved at some point in history
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Subversion Plugin |
Fix Released
|
Medium
|
Jelmer Vernooij |
Bug Description
For example, I had a project that I was developing at
/tcl/
Then at some point /tcl/tools was renamed to /tcl/df-tcl. bzr-svn can no longer handle this situation.
I'm not sure why the exception is happening in the first place, but by speculation I assume this is because of the difference between logwalker.py and repository.py in how they call to changes_path. The attached patch fixes the problem (in this very specific case) and bzr no longer dies with NoSuchRevision exception, it's not complete, but it's a start. For example I have another branch thas was moved not once, but twice, and this causes part of the history to disappear (because logwalker does not track what path was changed *into*? I'll see if it can be easily fixed).
Related branches
Changed in bzr-svn: | |
importance: | Undecided → Medium |
Changed in bzr-svn: | |
status: | Fix Committed → Fix Released |
Ah, now I see. My problem was that /python/df-python was renamed to /python/trunk, which then was renamed to /python/ df-python/ trunk. TrunkBranchingS cheme returns False for is_branch() and history becomes truncated. I wonder however, if that's the right thing to do? git-svn, for example, pulls the complete history, bzr-svn does not.