bzr-usertest - a benchmarking toolkit for Bazaar and other?command?line (VCS) tools

Teemu Likonen teemu.likonen at iki.fi
Sat Mar 29 16:50:27 GMT 2008


Ian Clatworthy wrote:

> "git gc" may well reduce the space required. But it's only a single
> commit with no history so I don't run gc for git (or any of the other
> tools for that matter).

Initial commit in git repository does not seem to produce a packed
repository so all the objects are separate files. The repository will be
packed (i.e. git gc'ed) automatically at some later point (quite soon
I believe since the repository state easily exceeds the maximun number
of loose objects needed before autopacking). Bzr in turn seems to
produce a single .pack repository after initial commit.

So at least to me it seems that when comparing the sizes of git and bzr
repositories one needs to ensure both repositories are fully packed.
Both git and bzr do this automatically from time to time but at any
arbitrary moment they may not be comparable unless they are bzr-packed
and git-gc'ed. (Or one needs to do some kind of long-term test suite
over time and calculate averages.)

I did testing from this mentioned point of view: I dropped
emacs-22.2.tar.gz into git and bzr repositories (add+commit), ensured
that the repos are fully packed and then checked with "du -sh" how much
the .git and .bzr directories weight. With bzr I ensured that there are
no .bzr/repository/obsolete_packs. I got this:

.git   39 MB
.bzr   41 MB

With Linux 2.6.24.4 tarball:

.git   68 MB
.bzr   78 MB

I don't have a bzr repository of Linux kernel with full history but
I have git and bzr repos of GNU Emacs. Repos aren't exactly the same as
the git repo has over 2000 commits more. I don't know if there are some
other things that may cause them to be uncomparable. Anyway, this is
what I got:

.git   166 MB
.bzr   293 MB

(I deleted .bzr/repository/obsolete_packs before "du -sh".)




More information about the bazaar mailing list