GitiGitiWeb is a project mainly written in Python, it's free.
Personal Wiki Application for Django
GitiGitiWeb is a Django application that provides read/write access to Git repositories by interfacing with git-python. Currently it is designed as a single-user system with no authentication capabilities.
It does not require database support besides Git.
Requirements:
Create a new django project.
Copy the 'giti' folder to your project.
In settings.py, add 'giti' to the INSTALLED_APPS.
In settings.py, add '/full/path/to/giti/templates' to TEMPLATE_DIRS.
Now, we set up the repositories. A repository called "giti" must be present in order to use style sheets etc. Create it with the following commands:
$ cd giti/repos/giti $ git init $ git add * $ git commit -a -m "Initial commit"
Repeat the commands for any number of additional repositories you want to manage with GitiGitiWeb and modify settings.py to include the following.
REPOSITORY_PATHS = { 'giti': 'giti/repos/giti', 'myrepository1': 'giti/repos/repository1', 'myrepository2': 'giti/repos/repository2', ... }
Of course, you can use existing external repositories.
Add the following entry to urls.py (path is arbitrary):
(r'^path/', include('giti.urls')),
Finally, run "./manage.py runserver" and point your browser to the shown URL to test-run GitiGitiWeb.
If the error "ValueError: signal only works in main thread" is raised when running GitiGitiWeb, make sure you easy_install the latest development version of the async library that comes with GitPython (http://gitorious.org/git-python).