Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have looked at this question:

We already use sudo apt-get install subversion to install subversion on the server.

What should I do in order to install the subversion client?

SVN client is only needed and we don't need the server on all machines.

Also we don't need GUI access on Ubuntu machines.

share|improve this question
    
Hi Priya. Welcome to Ask Ubuntu! The subversion package that you have installed on the server pretty much includes the client items. So, you can just go ahead and install it on the clients as well. And it is not GUI as well. So, I am sure it is more than enough for your need. If you want to discuss this, you can join us in chat. –  jokerdino Feb 21 '13 at 9:37

5 Answers 5

up vote 16 down vote accepted
+50

Your question in fact contains the answer.

  1. Install the subversion commandline tool using sudo apt-get install subversion.
  2. Use the client by typing the command svn command [options] [args].
  3. Do not do anything else. The server will not start and you can happily use the client without the server. You will also not have GUI access.

The subversion package

includes the Subversion client (svn), repository administration tools (svnadmin, svnlook) and a network server (svnserve).

Installing the whole packages (including both server and client) might seem like a lot of overhead, but it is the most easily maintainable solution. You easily get future updates, security releases and more. Also if ever one of your users desperately needs a subversion server, it is only a few commands away.

Use svn --version for the modules included:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - handles 'http' scheme
  - handles 'https' scheme

and use svn --help for more information. The available commands illustrate that the subversion package is the way to go.

   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)
   cleanup
   ...

You could also install svnkit, but that comes with a lot of java dependencies. Here is the official screenshot for the package (you can find it in synaptic):

enter image description here

For more information read http://svnbook.red-bean.com/ and http://subversion.apache.org.

share|improve this answer
    
+1 up vote for this. –  Baim Feb 28 '13 at 6:41

When you look what files are installed for the package subversion you'll that the package contains both client and server:

> dpkg -L subversion
…
/usr/bin/svndumpfilter
/usr/bin/svnserve
/usr/bin/svnversion
/usr/bin/svnlook
/usr/bin/svnrdump
/usr/bin/svnmucc
/usr/bin/svnsync
/usr/bin/svn
/usr/bin/svnraisetreeconflict
/usr/bin/svn-rep-sharing-stats
/usr/bin/svnadmin
…

So one possibility is using Post-Invoke to remove the server file after installation.

  1. Create a new file 99remove-svn-server with sudo in directory /etc/apt/apt.conf.d.
  2. Add the following line

    DPkg::Post-Invoke {"if [ -e /usr/bin/svnserve ]; then rm /usr/bin/svnserve; fi";};
    

Every time you use apt-get (or other installation methods), it will call the script after finishing its actions. This small scripts looks if svnserve exists and if yes, removes the file.

share|improve this answer

Subversion package includes svn (Subversion client) also. So you don't need to worry. If you want GUI use Rabbit http://www.rabbitvcs.org/

share|improve this answer

As dedunumax said, the subversion package includes both client and server, but according to another answer on askubuntu (How do I install svn?) the server (daemon) is not started by default.

Theoretically this should mean that installing the subversion package should be all you need to do on client machines.

share|improve this answer

Use RabbitVCS
RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use.
Currently, it is integrated into the Nautilus and Thunar file managers, the Gedit text editor, and supports Subversion and Git, with a goal to incorporate other version control systems as well as other file managers.

It is primarily inspired by TortoiseSVN.

RabbitVCS is Free/Open Source Software written in the Python and is based upon the PyGTK library.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.