bzr branch downloads ~640M for 140M repo
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
I was branching 'lp:s25rttr' bzr repository lately and (looking at the bzr output) it downloaded ~640M. However, the resulting repo takes only 140M. After asking on IRC, I was suggested to open a bug as such a large difference shouldn't happen.
The branching is done with the following command:
$ /usr/bin/bzr branch --no-tree lp:s25rttr /usr/local/
I've tested it on two amd64 machines and both give similar results. The download was done without being logged in to launchpad.
After logging in, the branching takes only circa 180M in downloads.
$ bzr --version
Bazaar (bzr) 2.5.0
Python interpreter: /usr/bin/python2.7 2.7.3
Python standard library: /usr/lib64/
Platform: Linux-3.
bzrlib: /usr/lib64/
Partial bzr.log (I don't have one for complete branching anymore):
0.160 bazaar version: 2.5.0
0.160 bzr arguments: [u'branch', u'--no-tree', u'lp:s25rttr', u'/usr/
0.173 looking for plugins in /tmp/portage/
0.173 looking for plugins in /usr/lib64/
0.205 encoding stdout as sys.stdout encoding 'UTF-8'
[29486] 2012-05-01 22:37:55.529 WARNING: You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data. See "bzr help launchpad-login".
1.754 creating repository in file://
1.829 Using fetch logic to copy between CHKInventoryRep
1.830 fetching: <PendingAncestr
73.633 22 bytes left on the HTTP socket
88.711 23 bytes left on the HTTP socket
89.327 23 bytes left on the HTTP socket
90.469 23 bytes left on the HTTP socket
94.523 23 bytes left on the HTTP socket
97.611 23 bytes left on the HTTP socket
[... and that repeatedly every 3-10 secs]
> The download was done without being logged in to launchpad.
Which means the http protocol is used.
> After logging in, the branching takes only circa 180M in downloads.
Here, the smart server is used.
That's the relevant fact. The "dumb" http protocol is less efficient and should not be used if you can avoid it.