RSS proxy for different VCS/DVCS.

django, apps, svn
pip install django-vcs-watch==0.2.2


Django VCS Watch

This is a django application which serve as RSS proxy for different VCSs.



django_globals is required to automatic update of the 'user' field.

To install django_globals, download sources from a repository and install package django_globals somewhere in your python path.

Then, add django_globals in to the INSTALLED_APPS, and add django_globals.middleware.User into the MIDDLEWARE_CLASSES.

django_fields required for encrypted passwords and authentication. You can find it at, also, it have it's own dependencies, for example, from django-pycrypto.

python-dateutil this package used to parse ISO dates. Under debian like systems, just do sudo apt-get install python-dateutil


There are some test templates in the templates/django_vcs_watch. They use modified 'Colorize' filter by Will Larson, but you can use another colorizer in your own templates.


Example project is in the example directory.


These options can be added to your

  • VCS_WATCH_CHECK_INTERVAL -- Interval in minutes, to check feeds for updated. In case if there is no any information about feed, it will be polled for updates with this frequency. If there are two or more commits already fetched, then, check interval will be interval between two latest commits, so that more actively developed projects will be polled more oftenly. Default value is 60 minutes.

  • VCS_WATCH_PID_DIR -- Directory, where to story pid file for jobs. Default value is '/tmp'.

  • VCS_POSTPROCESS_COMMIT -- This is a hook to manipulate with the commit after it was fetched from a repository, but before it is saved to the database. It should be a callable with two arguments - Repository object and Commit object. By default it extracts filetypes and saves them as commit tags with 'ft:' prefix.


  • Write a short Installation instruction.
  • Update this readme and describe more options.
  • Add check for valid and accessible URL before add it to database.
  • Add ability to edit or remove Repository.
  • Check if similar URL already exists.