163
164
'test@example.com/test--test--0--patch-1'
164
165
>>> teardown_environ(q)
166
revision = version.iter_revisions().next()
167
ancestors = list(revision.iter_ancestors(metoo=True))
167
revision = version.archive.iter_revisions(version.nonarch).next()
168
ancestors = list(revision.iter_ancestors())
168
169
ancestors.reverse()
170
ancestors.append(revision)
185
187
for result in iter_import_version(output_dir, version, tempdir):
186
188
progress_bar(result)
190
print "Import complete."
189
192
shutil.rmtree(tempdir)
190
print "Import complete."
192
194
class UserError(Exception):
193
195
def __init__(self, message):
232
234
revision.get(revdir)
233
235
tree = pybaz.tree_root(revdir)
234
236
log = tree.iter_logs(reverse=True).next()
236
return bzr_inventory_data(tree), log
237
except BadFileKind, e:
238
raise UserError("Cannot convert %s because %s is a %s" % (revision,e.path, e.kind) )
237
return bzr_inventory_data(tree), log
241
239
def apply_revision(revdir, revision):
242
240
tree = pybaz.tree_root(revdir)
243
241
revision.apply(tree)
244
242
log = tree.iter_logs(reverse=True).next()
246
return bzr_inventory_data(tree), log
247
except BadFileKind, e:
248
raise UserError("Cannot convert %s because %s is a %s" % (revision,e.path, e.kind) )
253
class BadFileKind(Exception):
254
"""The file kind is not permitted in bzr inventories"""
255
def __init__(self, tree_root, path, kind):
256
self.tree_root = tree_root
259
Exception.__init__(self, "File %s is of forbidden type %s" %
260
(os.path.join(tree_root, path), kind))
243
return bzr_inventory_data(tree), log
262
246
def bzr_inventory_data(tree):
263
247
inv_iter = tree.iter_inventory_ids(source=True, both=True)
269
253
for path, file_id in inv_map.iteritems():
270
full_path = os.path.join(tree, path)
271
kind = bzrlib.osutils.file_kind(full_path)
272
if kind not in ("file", "directory"):
273
raise BadFileKind(tree, path, kind)
254
kind = bzrlib.osutils.file_kind(os.path.join(tree, path))
255
assert kind in ("file", "directory")
274
256
parent_dir = os.path.dirname(path)
275
257
if parent_dir != "":
276
258
parent_id = inv_map[parent_dir]