Having used the Subversion version control system in my team programming projects at Berkeley and noticing my friends use it for their own single-developer projects, I finally decided that I too should start using it personally. And having it be remote-enabled will allow me to share code with others and invite others to work with me in a team.
I spent the last few hours struggling to get remote-enabled SVN + Trac + TortoiseSVN to work together. I never imagined that such a popular combination did not yet have a simple all-in-one installer without having to resort to command line and script hacking.
But…some googling led me to EasyTrac which promises to “be able to quickly deploy Trac and Subversion to your computer.”
Anyway, here is my detailed steps to getting all this to work together:
- Install all these things on the computer you mean to be the svn server:
- Install Python
- Install EasyTrac – this will install Subversion and Trac and some helper packages
- Choose “path” for access mode
- Choose your apache port (other than 80 if you have a web server running)
- You might want to leave the Subversion port as 3690 (I haven’t been able to change it later)
- You need to port-forward both these ports on your router so that you can access from anywhere
- Choose a good place to store all your repository + trac data (Authz, SVN, Trac folders will be created in it)
- Let install finish
- In Authz\SVN.acp, change line to “admin = admin, your-name”
- In Authz\Users.acp, add line “your-name:your-password”. Change admin’s password also for safety
- Create a practice repository (Start Menu -> EasyTrac -> Create Project)
- In SVN\repository-name\conf, edit svnserve.conf to be
- anon-access = none
- auth-access = write
- password-db = passwd
- realm = some string
- In SVN\repository-name\conf, edit passwd to be
- your-username = your-password
- admin = admin’s password
- Install TortoiseSVN on the server and your personal computer
- In Tortoise, go to repository svn://server-ip/repository-name
- Add some files to the repository
- Change them and commit them to the repository for testing
- Go to http://localhost:apache-port/trac/repository-name to see TRAC at work!
- Go to http://localhost:apache-port/svn/repository-name to see the SVN rep
- You can login and go to admin->permissions to change anonymous access, make yourself admin, etc
- If you want to backup/restore repositories, simply copy/paste the SVN\repository-name directory and TRAC\repository-name
- From SVN programs, access your repository using svn://server-ip/repository-name
That’s it. Good luck coding.