experimenting with JGit and bitmaps
- From
Shawn Pearce <spearce@spearce.org>
- Date
- Mar 17, 2013, 01:29 UTC
- Message-ID
- <CAJo=hJtvfXvLZo2HgBPo4rM5Xbc32da4sCbiC7wWAD2hhgSMCw@mail.gmail.com>
JGit has merged the bitmap work Colby and I were working on[1] and plans to ship it in JGit 2.4. The bitmaps are now stored in a separate ".bitmap" file alongside of a pack, making the entire system backward-compatible with git-core.
If you have Java and Maven installed you can try this out locally:
$ git clone https://eclipse.googlesource.com/jgit/jgit # (fastest mirror of jgit is self-hosted here)
$ cd jgit $ mvn package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
$ org.eclipse.jgit.pgm/target/jgit debug-gc $ org.eclipse.jgit.pgm/target/jgit daemon --export-all --listen 127.0.0.1 . & $ git clone git://127.0.0.1/. tmp
I will be presenting some of this work at EclipseCon and ALMConnect.
JGit's GC implementation is still being worked on, hence the "debug-gc" name. I would only run it on a backup of a repository. Fortunately this is easy with Git. :-)
[1] http://thread.gmane.org/gmane.comp.version-control.git/206457
[2] http://www.eclipsecon.org/2013/sessions/scaling-jgit
http://www.eclipsecon.org/2013/sessions/deploying-gerrit-code-review