Skip to content

apurtell/jgit-hbase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

org.eclipse.jgit.storage.hbase
------------------------------

This package is an implementation of the JGit storage.dht.spi interface,
binding JGit's generic DHT storage to Apache HBase. This work is based on
Shawn Pearce's jgit_hbase prototype.

Download HBase 0.92.1 and unpack the distribution.  To experiment with
a single node cluster, start the node locally in the background:

  hbase-0.92.1/bin/start-hbase.sh

To later stop this single node cluster:

  hbase-0.92.1/bin/stop-hbase.sh

Compile this package, you may need JGit first:

  (cd ../jgit && mvn clean install)
  mvn clean package

This has been tested with JGit 1.3.0.201202151440-r.

Initialize the HBase schema once per cluster:

  java -jar target/jgit-hbase.jar hbase-create-schema \
    git+hbase://localhost/test

The hostname ("localhost") denotes the ZooKeeper nodes to contact to
find the HBase master server.  The schema prefix path component
("test") is the prefix to apply to all Git tables, keeping them
seperated from other tables that may also run in the same cluster.
The schema prefix may not itself contain '/'.

Create a repository:

  java -jar target/jgit-hbase.jar hbase-init \
    git+hbase://localhost/test/jgit.git

A git+hbase repository URI has the obvious hostname component
("localhost"), followed by the schema prefix ("test"), and the
remainder of the URI is the repository name.

Launch a Git daemon, which needs at least 800M to handle the linux-2.6
repository.  Currently JGit's DHT implementation holds onto the entire
pack during receive, to implement delta resolution efficiently.

  java -Xmx800m -jar target/jgit-hbase.jar hbase-daemon \
    --enable receive-pack git+hbase://localhost/test

Push to it:

  git push git://localhost/jgit.git master

Clone from it:

  git clone git://localhost/jgit.git

About

HBase back end for JGit - Java GIT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages