diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2013-05-07 18:39:35 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-07 22:38:40 -0700 |
commit | 435f39a3e8f9dc1aab786347d4a92aee3ecef56a (patch) | |
tree | 47446fe3909cb249e6b9c950c2186be11d3ae4f4 /contrib/remote-helpers/git-remote-bzr | |
parent | 3b892dc8280b3abfd10e97e1bacc8acf580980b8 (diff) | |
download | git-435f39a3e8f9dc1aab786347d4a92aee3ecef56a.tar.gz |
remote-bzr: fix for disappeared revisions
It's possible that the previous tip goes away, we should not assume it's
always present. Fortunately we are only using it to calculate the
progress to display to the user, so only that needs to be fixed.
Also, add a test that triggers this issue.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/remote-helpers/git-remote-bzr')
-rwxr-xr-x | contrib/remote-helpers/git-remote-bzr | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 0ef30f8d55..3e452af1dc 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -282,9 +282,13 @@ def export_branch(repo, name): branch.lock_read() revs = branch.iter_merge_sorted_revisions(None, tip, 'exclude', 'forward') - tip_revno = branch.revision_id_to_revno(tip) - last_revno, _ = branch.last_revision_info() - total = last_revno - tip_revno + try: + tip_revno = branch.revision_id_to_revno(tip) + last_revno, _ = branch.last_revision_info() + total = last_revno - tip_revno + except bzrlib.errors.NoSuchRevision: + tip_revno = 0 + total = 0 for revid, _, seq, _ in revs: @@ -353,7 +357,10 @@ def export_branch(repo, name): progress = (revno - tip_revno) if (progress % 100 == 0): - print "progress revision %d '%s' (%d/%d)" % (revno, name, progress, total) + if total: + print "progress revision %d '%s' (%d/%d)" % (revno, name, progress, total) + else: + print "progress revision %d '%s' (%d)" % (revno, name, progress) branch.unlock() |