-
Notifications
You must be signed in to change notification settings - Fork 6
/
README
57 lines (37 loc) · 1.77 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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