Subversion & eclipse

Just download and extract the latest version of subclipse Zipped downloads:   to your eclipse home directory. copy the content to eclipse home directory, merge already existing directories, merge the content of artifacts.xml
Menus:  File>Import>Other>Checkout Projects from SVN
Choose the proper project, you can specify where to put the project that can be apart from the eclipse workspace


$sudo apt-get install subversion

Easy Approach

$ sudo apt-get install apache2
$ sudo apt-get install subversion libapache2-svn

add following lines to /etc/apache2/apache2.conf

<Location /svn>
  DAV svn
  SVNPath /home/morteza/zPersonal/archive/repos
  AuthType Basic
  AuthName "My repository name"
  AuthUserFile /etc/subversion/passwd
  Require valid-user

To import or commit files to your Subversion repository over HTTP, the repository should be owned by the HTTP user. In Ubuntu systems, normally the HTTP user is www-data. To change the ownership of the repository files enter the following command from terminal prompt:
$ sudo chown -R www-data:www-data /path/to/repos

create an empty user-list file /etc/subversion/passwd
add a new user by
$ sudo htpasswd /etc/subversion/passwd your-desired-svn-user-name
Then you will be prompted to enter password for the user name you specified (your-desired-svn-user-name).

create the repository: change directory to your desired place
/../desired-directory$ mkdir repos
$ svnadmin create /../desired-directory/repos
import your files: put your files in a folder structure as
put the files you wish to store in the repository in the trunk.

import files
$ svn import /../main_directory http://localhost/svn
You will be prompted to enter some comment about this action. write something and save it, and close the editor (vim), and then it will ask for the user name and password you entered above.

you can view the files in your browser, at address:   http://localhost/svn
you can replace localhost with the ip address of the machine and access the files from other computers in the network.


Other Approach (mcuh more complicated)

$ sudo apt-get install apache2
$ sudo apt-get install subversion libapache2-svn

System > Administration > Users and Groups   Add Group 'subversion'
Add yourself and www-data (the Apache user) as users to this group
To see system users in the Users and Groups
  gconf-editor    go to   /apps/gnome-system-tools/users    showall

 $ sudo mkdir /home/svn
 $ cd /home/svn
 $ sudo mkdir myproject
 $ sudo chown -R www-data:subversion myproject
 $ sudo chmod -R g+rws myproject

 create the repository
$ sudo svnadmin create /home/svn/myproject

SVN Commands

$ svnadmin create /path/to/repos

$svn checkout http://localhost/svn/trunk dir
$svn export http://localhost/svn/trunk dir

To add:
one file:
$ cd /../where_you_want_to_add _the_file_in_a_checked_out_directory
$ svn add /../your_file
svn status | grep ^\? | awk '{print $2}' | xargs svn add      Link
doc : svn status will show the changes and new files have a ? at the beginning of line. grep extracts only these messages, awk will ignore the ? and print the file path. xargs will execute svn add for the file <This does not work for files with space or new line in their names>
svn add * –force    <I didn't try this>

$ svn st | grep "^?" | awk '{ print $2}' | while read f; do svn add $f; done

To export