Skip to content
/ gimd Public
forked from gkossakowski/gimd

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

License

Notifications You must be signed in to change notification settings

qwestduck/gimd

 
 

Repository files navigation

                                          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,[email protected],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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 99.0%
  • Java 1.0%