svn is a software versioning and revision control system distributed as free software under the Apache License. Software developers useSubversion to maintain current and historical versions of files such as source code, web pages, and documentation.
go to url http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/<arch> in my case I am using x86_64 architecture so using following URL to download required packages.
http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/
svn mkdir file:///opt/repo/bheri_rp/tags -m "adding tag directory"
svn mkdir file:///opt/repo/bheri_rp/branches -m "adding branch directory"
svn mkdir file:///opt/repo/bheri_rp/trunk -m "adding trunk directory"
svn import /home/dilli/proj_bheri http://192.168.1.251/svn/bheri_rp/ -m "Initial import"
svn co http://192.168.1.251/svn/bheri_rp/ .
#!/bin/sh
cd /var/www/web/bheri && /usr/bin/svn update --username username --password password --no-auth-cache >> /tmp/svn.out
chmod 755 post-commit
chown apache:apache post-commit
go to url http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/<arch> in my case I am using x86_64 architecture so using following URL to download required packages.
http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/
Download following packages:
- mod_dav_svn-1.8.14-1.x86_64.rpm
- serf-1.3.7-1.x86_64.rpm
- subversion-1.8.14-1.x86_64.rpm
Optionally following packages can be downloaded:
- serf-debuginfo-1.3.7-1.x86_64.rpm
- serf-devel-1.3.7-1.x86_64.rpm
- subversion-devel-1.8.14-1.x86_64.rpm
- subversion-gnome-1.8.14-1.x86_64.rpm
- subversion-javahl-1.8.14-1.x86_64.rpm
- subversion-perl-1.8.14-1.x86_64.rpm
- subversion-python-1.8.14-1.x86_64.rpm
- subversion-ruby-1.8.14-1.x86_64.rpm
- subversion-tools-1.8.14-1.x86_64.rpm
Install mod_dav_svn, serf and subversion
rpm -ivh mod_dav_svn-1.8.14-1.x86_64.rpm serf-1.3.7-1.x86_64.rpm subversion-1.8.14-1.x86_64.rpm
Modify subversion.conf file on conf.d of httpd.
vi /etc/httpd/conf.d/subversion.conf
Modify following settings
SVNPath /opt/repo/ to SVNParentPath /opt/repo/
AuthName "SVN Repo" to AuthName "Authorization Realm"
AuthUserFile /opt/WANdisco/apache22/conf/svn.passwd AuthUserFile /etc/httpd/conf/.htpasswd
Add following settings
AuthzSVNAccessFile /etc/svnusers
Create repo
mkdir -p /opt/repo/
cd /opt/repo/
svnadmin create rapti_rp
svnadmin create bheri_rp
svnadmin create karnali_rp
chown -R apache:apache /opt/repo
Create user and group logins
htpasswd -c -m /etc/httpd/conf/.htpasswd admin_rapti
htpasswd -m /etc/httpd/conf/.htpasswd admin_bheri
htpasswd -m /etc/httpd/conf/.htpasswd admin_karnali
htpasswd -m /etc/httpd/conf/.htpasswd user_rapti
htpasswd -m /etc/httpd/conf/.htpasswd user_bheri
htpasswd -m /etc/httpd/conf/.htpasswd user_karnali
Create groups
cat > /etc/svnusers
[groups]
rapti_admin = admin_rapti
bheri_admin = admin_bheri
karnali_admin = admin_karnali
rapti_user = user_rapti
bheri_user = user_bheri
karnali_user = user_karnali
[rapti_rp:/]
@rapti_admin = rw
@rapti_user = r
[bheri_rp:/]
@bheri_admin = rw
@bheri_user = r
[karnali_rp:/]
@karnali_admin = rw
@karnali_user = r
Restart httpd service
/etc/init.d/httpd start
We can browse SVN with the url below:
http://<IPADDRESS>/svn/<repo_name>
http://192.168.1.251/svn/rapti_rp
Now we can create trunk, tags and branches with command below
svn mkdir file:///opt/repo/bheri_rp/tags -m "adding tag directory"svn mkdir file:///opt/repo/bheri_rp/branches -m "adding branch directory"
svn mkdir file:///opt/repo/bheri_rp/trunk -m "adding trunk directory"
You can find the directories while accessing the svn url
http://192.168.1.251/svn/bheri_rp/
Importing existing project into repo.
svn import /home/dilli/proj_bheri http://192.168.1.251/svn/bheri_rp/ -m "Initial import"
Checkout svn to current directory
svn co http://192.168.1.251/svn/bheri_rp/ .Create hook file so that whenever commit occurs some svn command get executed.
cat > post-commit#!/bin/sh
cd /var/www/web/bheri && /usr/bin/svn update --username username --password password --no-auth-cache >> /tmp/svn.out
Change ownership and mode of the hook file.
chmod 755 post-commitchown apache:apache post-commit
No comments:
Post a Comment