Sidebar Network

django-rcsfield A field for the Django web framework which - under the hood - versionizes it’s content.

The Basics

django-rcsfield is a field (like models.TextField) for the Django web framework which - under the hood - versionizes it’s content. The ‘rcs’ in the name is short for ‘revision control system’.

The first prototype works with BZR (hardcoded). SVN code was working a few revisions ago and currently undergoes some refactoring. Backends for mercurial and other vcs are planned and an abstration layer will make implementing additional backends easy.

Currently this is only a prototype. It handles the following: On running manage.py syncdb it checks out an initial working copy. If a model has an VersionizedTextField (may be renamed in the future) contents of this field are versionized in the repository to make it possible to fetch older versions, while the ‘head’ version stays in the db for maximum performance.

Project Homehttp://code.google.com/p/django-rcsfield/
Grab the Repository – svn checkout http://django-rcsfield.googlecode.com/svn/trunk/
 

Recent Commits

  • 66 was committed 1 month, 1 week ago.
    moved diff code from bzr and git backend into the basebackend because it will work for every backend. modified svn and dummy backend to reflect the change.
  • 65 was committed 1 month, 2 weeks ago.
    changed self.instance to instance.
  • 64 was committed 1 month, 2 weeks ago.
    refactored the historytrail templatetag to work like an include tag, which allows developers to overwrite the template and therefore the produced html. The default template included produces the same html as the templatetag did before.
  • 62 was committed 2 months, 1 week ago.
    added RcsJsonField
  • 60 was committed 2 months, 3 weeks ago.
    Git backend: Fixed a relative path to the file to be committed
  • 59 was committed 3 months, 1 week ago.
    moved difflib import to the top of the file to avoid reimporting it on every diff. fixes #5
  • 58 was committed 4 months ago.
    added git backend called ‘gitcore’ because the only dependency GitPython has the Python module name ‘git’
  • 57 was committed 4 months ago.
    made backend loading mechanism a bit more robust
  • 56 was committed 4 months ago.
    small typo fix in INSTALL
  • 55 was committed 4 months ago.
    remove import from django.core.validators, because it’s removed from django-trunk. fixes #3