span.fullpost {display:inline;}

Tuesday, May 26, 2009

Coding

Today I managed to get a few Trac plug-ins working. One of them assesses the relatedness between files (the more often two files are checked in together, the more they are related). The second plug-in gets the difference between two revisions of a file (svn diff) and counts the number of lines that have been changed. This will be needed for our expertise calculations.

Writing the plug-ins hasn't been too hard. I started out by editing some plug-ins on the "trac hacks" website. I used an "if-I-take-this-section-out-does-it-break?" technique to figure out what the code was doing, and to strip it down into the few features that I actually needed, and then added a bunch of my own stuff. I think I know what I'm doing now (maybe).

Also, I've installed Ubuntu on my laptop, and set up Trac and svn on it (this required re-researching all the fixes to the same problems I encountered when installing them at school -- why didn't I write the solutions down!?) Just in case I need it again, I'm going to write down all the things I installed:

  • sudo apt-get install python-setuptools

  • sudo easy_install Trac

  • sudo apt-get install subversion

  • sudo apt-get install apache2-utils

  • sudo apt-get install python-subversion

And for reference, this is how to set up a repository and trac project:

  • Create the repository:
    svnadmin create [repoName]

  • Checkout a working copy:
    svn checkout file:///home/.../[repoName] [workingRepoName]

  • Setup a trac project:
    trac-admin /home/..../[projectName] initenv

  • Setup a user for the project:
    sudo htpasswd -c /home/.../[projectName]/.htpasswd [username]

  • Start the tracd:
    tracd -p 8080 --basic-auth=[projectName],/home/.../[projectName]/.htpasswd,/home/.../[projectName]/ /home/.../[projectName]/


0 Comments:

Post a Comment

<< Home