Excess data size for a single revision

Eli Zaretskii eliz at gnu.org
Mon Jan 23 10:50:25 UTC 2012


> Date: Mon, 23 Jan 2012 11:18:22 +0100
> From: John Arbash Meinel <john at arbash-meinel.com>
> CC: Martin Pool <mbp at sourcefrog.net>, bazaar at lists.canonical.com
> 
> 1) Look at .bzr/repository/packs/*
> There should be a fairly recent file that contains that pull. See what
> size it is. If this is comparable to the 58MB then we genuinely
> downloaded content that we wanted to keep. If it is a lot smaller,
> than it is possible that on the server side it is stored
> inefficiently, and we copied it, and compressed it on the fly before
> writing it locally.

The pack is this:

  -rw-rw-rw- 1 eliz eliz  28040427 Jan 19 06:35 36bfdda5be84a32615e6db8f9eaabed3.pack

I verified (by looking at .bzr.log) that there was no repacking since
then.

> 2) Use the name of that file to then inspect the associated index
> files (tix = text content, rix = revision, cix = inventory stuff,
> iix/six are probably not very interesting). For example, my most
> recent file in bzr is: c0ba9a41c20d1b447d3b603361b63bbf.pack
> 
> You can use
> 
>  head -n5 .bzr/repository/indicies/c0ba9a41c20d1b447d3b603361b63bbf.tix
> 
> To get the summary information, and you can this to get the detail:
> 
>  bzr dump-btree [--raw]
> .bzr/repository/indicies/c0ba9a41c20d1b447d3b603361b63bbf.tix
> 
> Note that it will probably be a bit verbose, but if you look around in
> it, you can see how many files are affected, etc. In my case, a 2.7MB
> bzr pack file had 1712 entries in the .tix (1700 files were affected),
> 549 entries in .rix (549 total revisions), and 2,159 entries in .cix
> (which has to do with inventory management.)
> 
> With the raw data, you can start working out what the size on disk
> actually comprises of.

What am I looking for, though?  E.g., the .rix index corresponding to
the above pack has 35 revisions, while the corresponding .tix file has
4088 texts.  Is the latter unusually large?

> 3) If you want to test the fetch again, you can create a new
> repository, and branch your old revision into it (so it shouldn't copy
> any new data) and then do the fetch again. So something like:
> 
> bzr branch -r 106888 . ../../somewhere-not-in-the-shared-repo --no-tree
> cd ../../somewhere-not-in-the-shared-repo
> bzr pull bzr+ssh://eliz@bzr.savannah.gnu.org/emacs/trunk -Dhpss

Will do, thanks.



More information about the bazaar mailing list