Checkout of small repository takes huge amount of time

Asked by Tobi Schäfer on 2011-06-30

First of all, I am pretty new to bzr – however, I think I did not do something sophisticated with it, yet.

So I have a quite small repository consisting of only 16 revisions and using 121 Mbyte of server disk space:

# bzr info -vv
Shared repository with trees (format: 2a)
Location:
  shared repository: .

Format:
       control: Meta directory format 1
    repository: Repository format 2a - rich roots, group compression and chk inventories

Create working tree for new branches inside the repository.

Repository:
        16 revisions

# du -sh
121M .

Now when I do a `bzr branch sftp://host.dom/path/to/trunk` it takes about *10 to 15 minutes* with a connection averaging 12 Mbit/s and I get the following output just before the start of the build phase:

    882252kB 2381kB/s | Fetching revisions:Inserting stream:Estimate 2289/2292

*0.8 Gbyte* for checking out a 121 Mbyte repository? Is that really correct? Or is my repository broken or in need of some maintenance?

Is there something like a quick checkout?

And almost as bad as the duration is that memory is clogged on my machine (OS X 10.6.8, 2.4 GHz Intel Core 2 Duo, 6 GB Ram) during the whole process.

Oh, and the resulting directory only needs 246 Mbyte disk space again.

What is going on?

PS. Some info about my bzr install on the local machine:

$ bzr version
Bazaar (bzr) 2.3.1
  Python interpreter: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python 2.7.2
  Python standard library: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
  Platform: Darwin-10.8.0-i386-64bit
  bzrlib: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/bzrlib

Question information

Language:
English Edit question
Status:
Solved
For:
Bazaar Edit question
Assignee:
No assignee Edit question
Solved by:
Martin Pool
Solved:
2011-06-30
Last query:
2011-06-30
Last reply:
2011-06-30
Best Martin Pool (mbp) said : #1

Please run 'bzr info' on the repository.

I would recommend using bzr+ssh rather than sftp

Martin

Tobi Schäfer (interface) said : #2

Thanks Martin for your reply and your recommendation.

In fact, bzr+ssh did the checkout much faster! And the size displayed during checkout is actually the one of the repository!

So could it be that the huge difference of the size displayed during checkout (0.8 Gbyte) and the actual size of the repository (121 Mbyte) and local checkout (246 Mbyte) is a bug in the sftp method?

I already posted the result of `bzr info -vvv` of the repository so I assume you might refer to the local checkout – here is the result of `bzr info` on the local machine, just for the record:

$ bzr info -vv
Standalone tree (format: 2a)
Location:
  branch root: .

Related branches:
  parent branch: sftp://<email address hidden>/path/to/trunk/

Format:
       control: Meta directory format 1
  working tree: Working tree format 6
        branch: Branch format 7
    repository: Repository format 2a - rich roots, group compression and chk inventories

In the working tree:
      1587 unchanged
         0 modified
         0 added
         0 removed
         0 renamed
         0 unknown
         0 ignored
       340 versioned subdirectories

Branch history:
        16 revisions
         1 committer
        79 days old
   first revision: Tue 2011-04-12 14:06:15 +0200
  latest revision: Tue 2011-05-31 22:37:57 +0200

Repository:
        16 revisions

Tobi Schäfer (interface) said : #3

Thanks Martin Pool, that solved my question.