CVSNT Plugin for Trac
This experimental plugin is my attempt to integrate CVSNT and Trac. My configuration is CVSNT v2.0.51c and the latest Trac 0.13 trunk on the same WinXP machine.
It consists of a loginfo hook script for CVSNT and a plugin for Trac. The loginfo hook script creates a changeset database dedicated for this integration. Then it calls trac-admin to add the changeset. The Trac plugin provides a CVSNT repository that gets the change info from this new database.
The changesets appear in the Timeline and Tickets get updated (of course depending on the commit log message).
The CVSNT repository does not (yet) support the source browser.
Feedback/contributions would be appreciated (I have no python experience, no trac experience and only very basic cvs knowledge)
If you have any issues, create a new ticket.
Download the zipped source from here.
- CVSNT hook set-up:
- Copy CvsntLoginfo.py, ProjectConfig.py and loginfo_script.py to your machine (probably the CVSNT root folder is an appropriate place).
- Edit the string constants in ProjectConfig.py to match your configuration.
- Modify the CVSNT loginfo hook so it will call python to run loginfo_script.py (not that the hook runs in an empty environment so you require full path names).
- Trac plugin set-up:
- In CvsntPlugin.py modify the string constant at the begining of the CvsntRepository class to match the database file in loginfo_script.py.
- Build and install the egg.
- Make sure the CvsntPlugin is enabled and also the Trac CommitTicketUpdater and CommitTicketReferenceMacro.
- In Trac add a repository. You now get a new type cvsnt. The directory should be the root of your CVSNT repository.
You should be all set now. Commit a file and see what happens.