From: Felipe Contreras Date: Fri, 26 Apr 2013 01:08:04 GMT Subject: [PATCH 16/20] remote-bzr: improve progress reporting Message-ID: <1366938488-25425-17-git-send-email-felipe.contreras@gmail.com> In-Reply-To: <1366938488-25425-1-git-send-email-felipe.contreras@gmail.com> No need to manually count the revisions, and also, this would help to iterate more properly. Signed-off-by: Felipe Contreras --- contrib/remote-helpers/git-remote-bzr | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 06d9d24..7d3052a 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -305,13 +305,16 @@ def export_branch(repo, name): branch.lock_read() revs = branch.iter_merge_sorted_revisions(None, tip, 'exclude', 'forward') - count = 0 + tip_revno = branch.revision_id_to_revno(tip) + last_revno, _ = branch.last_revision_info() + total = last_revno - tip_revno - revs = [revid for revid, _, _, _ in revs if not marks.is_marked(revid)] + revs = [revid, seq for revid, _, seq, _ in revs if not marks.is_marked(revid)] - for revid in revs: + for revid, seq in revs: rev = repo.get_revision(revid) + revno = seq[0] parents = rev.parent_ids time = rev.timestamp @@ -366,10 +369,13 @@ def export_branch(repo, name): print "M %s :%u %s" % f print - count += 1 - if (count % 100 == 0): - print "progress revision %s '%s' (%d/%d)" % (revid, name, count, len(revs)) - print "#############################################################" + if len(seq) > 1: + # let's skip branch revisions from the progress report + continue + + progress = (revno - tip_revno) + if (progress % 100 == 0): + print "progress revision %d '%s' (%d/%d)" % (revno, name, progress, total) branch.unlock() -- 1.8.2.1.884.g3532a8d