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