Setting up Subversion (SVN) on Ubuntu Linux

After getting the Android SDK and Eclipse IDE installed and running, I started on getting Subversion ready for our first project. Here are the general steps necessary. For my configuration there is a Ubuntu server that I connect through ssh and will need to do the same to connect to SVN after everything is configured.

Useful tutorials:

Commands executed to setup the system:

sudo apt-get install subversion
cd /
mkdir svn_repository
sudo addgroup subversion
sudo adduser USERNAME1 subversion
sudo adduser USERNAME2 subversion
# Repeat the above line for other usernames as needed
sudo adduser www-data subversion
cd /svn_repository
mkdir android_test
sudo svnadmin create /svn_repository/android_test
cd /svn_repository
sudo chown -R www-data:subversion android_test
sudo chmod -R g+rws android_test

Above I have an example where a directory called “svn_repository” is created in / for simplicity and the permission are modified to give the group “subversion” access to that directory. Notice that the Apache service is included in the group. I also then create a directory inside that to host a test project to make sure the system in functioning.

Tests the server locally:
svnserve -d –foreground -r /svn_repository

Otherwise you should be good to go when connecting through ssh+SVN. At least as far as I can tell a service doesn’t need to be added by hand to startup on boot.

We needed to install the Subversive SVN plugin for our Eclipse IDEs as well:
Go to Help >> install new software… in Eclipse.
Type in “subversive” into the “working with” box and it should give you this link or similar:
I installed “Subversive Integration Plug-in’s” and “Subversive SVN Team Provider Plugin”, I did get a warning about installing unsigned content which needs to be accepted to continue.

Once it installs and you restart the IDE, it will ask you to install a SVN connector.
I selected SVN Kit 1.3.3 (eg. the newest SVN Kit).

Go through the process for that… and the system should be good to go.

After that you can create a local project and right click on the main item, selecting Team >> Add To Version Control…

Your primary link will be something like svn+ssh://websiteaddress/svn_repository/android_test/HelloAndroid

Where HelloAndroid is the name of your project and /svn_repository/android_test is the actualy physical path to the repository on the server. Make sure to enable and use the proper ssh port if you are passing your data through it.