Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
GEDCOM plugin for Git
Ruby Java
branch: master
Failed to load latest commit information.
experiments Found cli gem!
gedcom-ingester Additional ingester changes to just call the gedcom => json parser.
lib Removing subcommand/pickled_optparse combination in favor of cli.
test Added pickled_optparse dependency.
.gitignore Upgraded to ruby 1.9.3 (got rid of rake/rdoc warning).
.rbenv-gemsets Adding my global list of dev gems.
.rbenv-version Upgraded to ruby 1.9.3 (got rid of rake/rdoc warning). Fixing typo while coming back up to speed on this.
LICENSE Fixing up license to avoid reserving more rights than I wanted to.
LICENSE.grit Copied README from grit. Updating gem to most recent versions of dependencies.
Rakefile Upgraded to ruby 1.9.3 (got rid of rake/rdoc warning).
TODO Switch from commandable => cli.
git-ged.gemspec Updating gem to most recent versions of dependencies.


  • Status: experimental
  • Author: John Sumsion
  • Inspiration: Git, Tim Shadel

GEDCOM plugin for Git. As a git subcommand, git-ged lets you import and manage GEDCOM files in a versioned, shareable way in a Git repository.

It is also possible to attach to other repositories and fetch related genealogy data from others who have imported it into their own repository.

As a library, git-ged lets you write programs that communicate genealogical data in the git-ged repository layout.

As a repository implementation, git-ged also defines a repository specification that, if adhered to by alternate implementations will allow all implementations to share repositories with each other.

Options for data format that I can see:

The initial goal is to be able to easily ingest GEDCOMs from the wild.

Support for versioned media importing is not included in the first pass, although with projects like git-annex a sharable media repository is potentially possible.

NOTE: Although I started git-ged and have worked on it while being employed by FamilySearch, this project is not endorsed and is not supported in any way by FamilySearch. I work on it outside of work hours, and do not use internal FamilySearch servers or data privileges. It is a personal endeavor to enrich the genealogy data sharing ecosystem.



Easiest install is via RubyGems:

$ gem install git-ged


Git-ged's Git repo is available on GitHub, which can be browsed at:

and cloned with:

git clone


You will need these gems to get tests to pass:

  • mocha


If you'd like to hack on git-ged, follow these instructions. To get all of the dependencies, install the gem first.

  1. Fork the project to your own account
  2. Clone down your fork
  3. Create a thoughtfully named topic branch to contain your change
  4. Hack away
  5. Add tests and make sure everything still passes by running rake
  6. If you are adding new functionality, document it in
  7. Do not change the version number, I will do that on my end
  8. If necessary, rebase your commits into logical chunks, without errors
  9. Push the branch up to GitHub
  10. Send a pull request for your branch




Copyright (c) 2011 John Sumsion. See LICENSE for details.

Portions Copyright (c) 2010 Tom Preston-Warner. See LICENSE.grit for details. Thanks to the github folks for the inspiring Grit gem.

Something went wrong with that request. Please try again.