Rev 400: Add progress bar, as this function can take a long time to run. in http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev
Jelmer Vernooij
jelmer at samba.org
Mon Jan 15 04:01:28 GMT 2007
------------------------------------------------------------
revno: 400
revision-id: jelmer at samba.org-20070115040110-rkf44wgfw2k3wzdo
parent: jelmer at samba.org-20070115031521-e4ejwccyzei1kntf
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: main
timestamp: Mon 2007-01-15 05:01:10 +0100
message:
Add progress bar, as this function can take a long time to run.
modified:
upgrade.py upgrade.py-20070106192108-0rakplee2lzah4gs-1
=== modified file 'upgrade.py'
--- a/upgrade.py 2007-01-15 03:15:21 +0000
+++ b/upgrade.py 2007-01-15 04:01:10 +0000
@@ -54,16 +54,25 @@
revprops=oldrev.properties,
revision_id=newrevid)
- for path, ie in repository.get_revision_inventory(oldrevid).iter_entries():
- new_ie = ie.copy()
- if new_ie.revision == oldrevid:
- new_ie.revision = None
- versionedfile = repository.weave_store.get_weave_or_empty(new_ie.file_id,
- repository.get_transaction())
- if not versionedfile.has_version(newrevid):
- builder.record_entry_contents(new_ie,
- map(repository.get_revision_inventory, new_parents),
- path, repository.revision_tree(oldrevid))
+ i = 0
+ inv = repository.get_revision_inventory(oldrevid)
+ total = len(inv)
+ pb = ui_factory.nested_progress_bar()
+ try:
+ for path, ie in inv.iter_entries():
+ pb.update('upgrading revision', i, total)
+ i+=1
+ new_ie = ie.copy()
+ if new_ie.revision == oldrevid:
+ new_ie.revision = None
+ versionedfile = repository.weave_store.get_weave_or_empty(new_ie.file_id,
+ repository.get_transaction())
+ if not versionedfile.has_version(newrevid):
+ builder.record_entry_contents(new_ie,
+ map(repository.get_revision_inventory, new_parents),
+ path, repository.revision_tree(oldrevid))
+ finally:
+ pb.finished()
builder.finish_inventory()
return builder.commit(oldrev.message)
More information about the bazaar-commits
mailing list