gimd (pronounced gim-dee) provides a small distributed database layered on top of the powerful Git version control system.
Scala Java
Latest commit dde0569 Jun 13, 2010 @gkossakowski Update to Scala 2.8.0.RC4.
Change-Id: Ifc54d27903716f94109247c478d4d7d9ed75bfca
Signed-off-by: Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com>
Permalink
Failed to load latest commit information.
project
src
.gitattributes
.gitignore
COPYING
Gimd.iml
README
sample.scala
sbt
sbt-launch-0.7.4.jar

README

                                          gimd
                                  Git Message Database

gimd (pronounced gim-dee) provides a small distributed database layered on top of the powerful Git
version control system.

=== Building ===

Gimd recently switched to Simple Build Tool from Maven due to the fact that sbt treats 'simple' word
seriously.

Enter root directory and type:

$ ./sbt update

Sbt will compile project definition and download all dependencies.

Once it's done type:

$ ./sbt

Sbt will enter to the interactive mode. In the interactive you can type different commands that sbt
will execute.

In order to compile Gimd jus enter: compile

Consult sbt's documentation for further details:

    http://code.google.com/p/simple-build-tool/wiki/DocumentationHome

=== Testing ===

In sbt's interactive mode it's enough to type: test

Sbt will compile all tests and execute them.

Gimd uses JUnit 4.x and ScalaCheck 1.7 testing libraries at the moment.

=== Running sample ===

In sbt's interactive mode switch to console by typing: console

Once you are in Scala's REPL (with Gimd's libraries loaded) load sample script by typing:

:load sample.scala

It will load sample script that defines some custom class and it's binding to Gimd's data
structures, adds some sample data and executes some queries.

You can play with your db by doing some more complex queries, e.g.:

scala> db.query(MyUserFileType, MyUserType.query where { x => (x.age === 0) && (x.name < "user20") }) foreach println
User(user182,email182@com.com,0)

=== Contributing ===

At the moment gimd is little bit in a state of flux due to Move to Scala 2.8 and sbt so contributing
can be difficult.

Anyway feel free to join http://groups.google.com/group/gimd-discuss

This section will get updated as soon as there is an official Scala release that does not crash on
gimd so contributing will become much easier.