Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Using Git as a versioned data store in Python. gitshelve supports the same interface as Python’s built-in shelve module but stores things to a versioned Git repository instead of just a pickled dictionary. I’ve been casually wondering what a Git-powered CMS would look like.

Tagged , , ,

6 comments

  1. I guess that this concept could be easily cloned using mercurial, bzr, etc.

    That would be excellent!

    No' - 15th May 2008 15:37 - #

  2. http://ikiwiki.info/ uses a VCS to store pages, with git a supported option.

    James - 15th May 2008 17:57 - #

  3. There is also Git-wiki and forks. I really like the idea of mixing casual data with VCSes.

    Sunny - 15th May 2008 20:12 - #

  4. One thing I always thought would be handy about using version control, would be the ability to make multiple changes to a site and shelve them as one set.

    So across the coarse of a few weeks, a user could continue working on refining their site for an upcoming launch date but not display any of those changes to the public until the entire set is ready.

    I guess it'd be like branching your site. Does anyone know if that sort of functionality exists in other content management tools?

    Al - 15th May 2008 23:10 - #

  5. What's bad in gitshelve - it uses stdin/out for data transferring. I think that solution, which use mercurial, would be really nicer.

    Alexander Solovyov - 16th May 2008 09:36 - #

  6. Together with pythy we've done hgshelve (he is main implementer), which is really better:
    • Uses mercurial directly, though library and not through subprocess.PIPE
    • Handles Python types (unicode, int, dict), not only strings

    Alexander Solovyov - 19th May 2008 06:52 - #

Comments are closed.
A django site