Work flow on large repositories
Chris Hecker
checker at d6.com
Wed Jul 28 06:29:05 BST 2010
Ah, sorry, I thought the whole .bzr directory was only 20mb and was
confused!
Very interested to hear responses!
Chris
On 2010/07/27 21:01, Michael Hope wrote:
> 'bzr revno 4.4' shows 93541 revisions. The mirror .bzr directory is
> 549 MB. The 4.4 branch directory is 20 MB. The exported size is 559
> MB over 63000 files. It's reasonably big.
>
> -- Michael
>
> On Wed, Jul 28, 2010 at 3:57 PM, Chris Hecker<checker at d6.com> wrote:
>>
>> It seems like "large repository" means amount of history? 20mb is not very
>> big at all for the .bzr, I think. How many revisions are there?
>>
>> My repo is 1k revisions, but 55mb, and operations are reasonably fast
>> (creating a new working copy is a little pokey, 1300 files, but not too bad,
>> maybe 10 seconds).
>>
>> I'm very interested in this topic. I have binary files in my repro (maya
>> models and animations, photoshop psds, and audio files), and I'm worried
>> about it blowing up in my face at some point, but so far it's been fine and
>> I'm loving bzr relative to svn.
>>
>> Chris
>>
>>
>> On 2010/07/27 19:40, Michael Hope wrote:
>>>
>>> Hi there. I'm working on the gcc-linaro branch which is stored under
>>> bzr and hosted on Launchpad. This is a fairly big branch as it was
>>> imported from upstream SVN and contains a large amount of history.
>>>
>>> Most of the work is day-to-day changes on topic branches. I also want
>>> to run a buildbot style program that continually updates and builds
>>> the latest.
>>>
>>> My issue is that the various operations are taking too long. Could
>>> anyone suggest tricks or a different work flow to speed things up?
>>>
>>> Some of the operations include:
>>>
>>> Creating a mirror branch by doing init-repo, branch lp:gcc-linaro/4.4.
>>> The finding revisions stage takes about 10 minutes at 1kB/s. The
>>> download stage is much faster.
>>>
>>> Day-to-day work is done on topic branches. Creating the branch takes
>>> 46 s, 250 MB of RAM, and creates a 20 MB .bzr directory. Pushing this
>>> branch to LP for merging involves pushing the full 20 MB, but this is
>>> acceptable.
>>>
>>> Doing a bzr pull on the 4.4 mirror directory may more than half an
>>> hour and more than 500 MB of memory.
>>>
>>> Doing a bzr checkout takes over 20 minutes and 800 MB of memory on my
>>> fastest machine. On my netbook and ARM board this causes significant
>>> swapping. I've yet to complete a checkout on either.
>>>
>>> I'd also like to share the mirror with other local machines to skip
>>> downloading the same 500 MB many times. Running bzr serve and then
>>> checking out causes 100 % CPU usage for more than 10 minutes on the
>>> host.
>>>
>>> These numbers were with 2.2b4. 2.2 is significantly better than 2.1.
>>>
>>> -- Michael
>>>
>>>
>>
>
More information about the bazaar
mailing list