git-ged
- 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 render all implementations to share repositories with each other.
The genealogical data format for persons and relationships is yet to be decided. The first cut will be one that is largely one-to-one compatible with GEDCOM 5.5. I fully expect to change the format before this solidifies, and I'll use whatever is the commonly-accepted format.
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.
Requirements
- git (http://git-scm.com) tested with 1.7.8
- grit gem (https://github.com/mojombo/grit) tested with 2.4.1
Install
Easiest install is via RubyGems:
$ gem install git-ged
Source
Git-ged's Git repo is available on GitHub, which can be browsed at:
https://github.com/jsumsiong/git-ged
and cloned with:
git clone https://github.com/jsumsiong/git-ged.git
Development
You will need these gems to get tests to pass:
- mocha
Contributing
If you'd like to hack on git-ged, follow these instructions. To get all of the dependencies, install the gem first.
- Fork the project to your own account
- Clone down your fork
- Create a thoughtfully named topic branch to contain your change
- Hack away
- Add tests and make sure everything still passes by running
rake
- If you are adding new functionality, document it in README.md
- Do not change the version number, I will do that on my end
- If necessary, rebase your commits into logical chunks, without errors
- Push the branch up to GitHub
- Send a pull request for your branch
Usage
TODO
Copyright
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.