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 - #

Sign in with OpenID

Auto-HTML: Line breaks are preserved; URLs will be converted in to links.

Manual XHTML: Enter your own, valid XHTML. Allowed tags are a, p, blockquote, ul, ol, li, dl, dt, dd, em, strong, dfn, code, q, samp, kbd, var, cite, abbr, acronym, sub, sup, br, pre

A django site