GeoGit - Git for Geospatial

You probably know what Git is, the modern distributed revision control system, replacing CVS and Subversion for many projects. Spatially Adjusted made me aware of the GeoGit approach.

Here's what the documentation written a month ago says: "Following on the core Versioning WFS work, in 2011 OpenGeo started experimenting with a new way to handle versioning, drawing on git, a distributed versioning system built for Linux and widely used. There are two different paths taken, both of which warrant further investigation:

  • Using git and github directly, storing data as geojson in files
  • Drawing inspiration from git core code and adapting the structures to work with geospatial information


The code for the core repository can be found at . This code backs both a GeoSynchronization Service module (a spec by the OGC to synchronize data) and the versioning constructs of WFS2. The plan is to eventually get both in to the standard distributions of GeoServer.


For the geogit implementation we instead code things to be optimized for the fact that a typical geospatial representation doesn't have much nesting - it's just a bunch of features. The index is orthogonal, doesn't need to be part of the tree structure. But the problem we had when we tried to use straight git with lots of leafs is that it wouldn't really work. It doesn't scale to a single directory with millions of files."

Syndicate content