Mercurial > hg
changeset 35198:759234670d19 stable
convert: restore the ability to use bzr < 2.6.0 (issue5733)
This effectively conditionalizes a234b32b744a. Some Linux distributions (like
CentOS 7) use really old versions, and the change referenced was causing
exceptions to be thrown.
Even though the deprecation warning says 'since 2.5.0', it wasn't marked as such
in 2.5.1, but is by 2.6.0. This was tested with 2.4.2 and 2.6.0 with
PYTHONWARNINGS=::DeprecationWarning, and both paths were exercized.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 01 Dec 2017 23:27:08 -0500 |
parents | fff9ffa2ea05 |
children | 15d38e8fcb1e aa905f9cdcda |
files | hgext/convert/bzr.py |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/convert/bzr.py Fri Dec 01 13:49:47 2017 -0600 +++ b/hgext/convert/bzr.py Fri Dec 01 23:27:08 2017 -0500 @@ -205,6 +205,13 @@ changes = [] renames = {} seen = set() + + # Fall back to the deprecated attribute for legacy installations. + try: + inventory = origin.root_inventory + except AttributeError: + inventory = origin.inventory + # Process the entries by reverse lexicographic name order to # handle nested renames correctly, most specific first. curchanges = sorted(current.iter_changes(origin), @@ -229,10 +236,9 @@ renaming = paths[0] != paths[1] # neither an add nor an delete - a move # rename all directory contents manually - subdir = origin.root_inventory.path2id(paths[0]) + subdir = inventory.path2id(paths[0]) # get all child-entries of the directory - for name, entry in origin.root_inventory.iter_entries( - subdir): + for name, entry in inventory.iter_entries(subdir): # hg does not track directory renames if entry.kind == 'directory': continue