← Back to team overview

openstack team mailing list archive

please compress the public nova.git repository (~100MB -> 30MB)

 

Hello,

Looking at nova.git for the first time, I cloned it.
Surprised that it was so much larger than the others, and too large for
the size of the source and the amount of history, I tried to compress it.
That reduced the repository size from nearly 100MiB to just 30:

  $ git clone git://github.com/openstack/nova.git
  $ git-repo-compress .git
  97M     .git
  Counting objects: 101858, done.
  Delta compression using up to 12 threads.
  Compressing objects: 100% (100594/100594), done.
  Writing objects: 100% (101858/101858), done.
  Total 101858 (delta 80708), reused 18388 (delta 0)
  150.91user 81.16system 0:35.05elapsed 662%CPU (0avgtext+0avgdata 324536maxresident)k
  29056inputs+59312outputs (381major+252932minor)pagefaults 0swaps
  started Tue 2012-02-28 16:40:42 +0100
  Tue 2012-02-28 16:41:17 +0100
  30M     .git

The command I used is just a wrapper around git repack:

  git-repo-compress () {
      local d=$1
      du -sh "$d"
      start=$(date)
      env time git --git-dir="$d" repack -afd --window=250 --depth=250
      echo started $start
      date
      du -sh "$d"
  }

Future cloners (and those who push, too) will be
grateful if someone with access to the server would
do the same thing to the public nova.git repository.
Compressing the repo improves server performance, too.

These other repositories compressed well, too:
          size of .git repo (MiB)
           current  compressed
  swift      9.8M    2.3M
  keystone    11M    9.9M
  horizon    4.1M    3.2M
  glance     5.2M    1.9M
  quantum    3.0M    1.4M


Follow ups