mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
convert: restore the ability to use bzr < 2.6.0 (issue5733)
This effectively conditionalizes 7ac081713920. 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.
This commit is contained in:
parent
83140eecbb
commit
ffc3cccdf4
@ -205,6 +205,13 @@ class bzr_source(common.converter_source):
|
||||
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 @@ class bzr_source(common.converter_source):
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user