/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to fetch.py

Commit cache data in batches as well.

Show diffs side-by-side

added added

removed removed

Lines of Context:
395
395
    if limit is not None:
396
396
        revision_ids = revision_ids[:limit]
397
397
    last_imported = None
398
 
    target_git_object_retriever.start_write_group() # FIXME: try/finally
399
398
    for offset in range(0, len(revision_ids), batch_size):
400
 
        repo.start_write_group()
 
399
        target_git_object_retriever.start_write_group() # FIXME: try/finally
401
400
        try:
402
 
            for i, head in enumerate(revision_ids[offset:offset+batch_size]):
403
 
                if pb is not None:
404
 
                    pb.update("fetching revisions", offset+i, len(revision_ids))
405
 
                import_git_commit(repo, mapping, head, lookup_object,
406
 
                                  target_git_object_retriever,
407
 
                                  parent_invs_cache)
408
 
                last_imported = head
 
401
            repo.start_write_group()
 
402
            try:
 
403
                for i, head in enumerate(
 
404
                    revision_ids[offset:offset+batch_size]):
 
405
                    if pb is not None:
 
406
                        pb.update("fetching revisions", offset+i,
 
407
                                  len(revision_ids))
 
408
                    import_git_commit(repo, mapping, head, lookup_object,
 
409
                                      target_git_object_retriever,
 
410
                                      parent_invs_cache)
 
411
                    last_imported = head
 
412
            except:
 
413
                repo.abort_write_group()
 
414
                raise
 
415
            else:
 
416
                hint = repo.commit_write_group()
 
417
                if hint is not None:
 
418
                    pack_hints.extend(hint)
409
419
        except:
410
 
            repo.abort_write_group()
 
420
            target_git_object_retriever.abort_write_group()
411
421
            raise
412
422
        else:
413
 
            hint = repo.commit_write_group()
414
 
            if hint is not None:
415
 
                pack_hints.extend(hint)
416
 
    target_git_object_retriever.commit_write_group()
 
423
            target_git_object_retriever.commit_write_group()
417
424
    return pack_hints, last_imported
418
425
 
419
426