1、安装subversion(Ubuntu):

sudo apt-get install subversion
=>查看是否安装成功:dpkg -L subversion

=>卸载程序:sudo apt-get remove subversion

sudo apt-get autoremove


2、创建版本库所在的目录:

mkdir /home/svn


3、创建项目的版本库:

svnadmin create /home/svn/myproject


4,修改svnserve.conf(文件位置:/home/svn/conf/svnserve.conf)

[root@BlackGhost conf]# vi svnserve.conf

[general]

anon-access =none

auth-access =write

password-db = passwd

authz-db = authz


5, 目录控制文件authz (文件位置:/home/svn/conf/authz)

[root@BlackGhost conf]# vi authz

[groups]

admin= zhangsan

[myproject:/]

@admin = rw

* = r


6, 修改用户密码文件passwd(文件位置:/home/svn/conf/passwd)

[root@BlackGhost conf]# vi passwd
[users]
zhangsan= *****


7,启动svn

[root@BlackGhost www]# svnserve -d -r /home/svn
=> –i 作为 inetd 启动。
=> -d参数表示svnserve将会作为一个服务程序运行在后台。
=> -r参数表示将/home/svn指定为代码库的根目录。
这样,当客户端使用类似 svn://192.168.0.1/myproject这样的URL访问服务器的时候,其所访问的

真实库是/home/svn/myproject。
=> --listen-port,--listen-host 可以指定绑定的地址和端口,
=> -R 可以强制设定为 Read-Only 模式

在这里特别的要注意,/home/svn是仓库的根目录,不要和[myproject:/]目录重叠了。

如果重叠是会提示你以下错误

[zhangsan@BlackGhost checkout]$ svn co svn://127.0.0.1/

svn: Authorization failed

=>开机启动:/etc/init/rc.local中增加一行就可以了:svnserve -d -r /home/svn


8,查看是否启动

ps -ef | grep svnserve

=>停止服务:killall svnserve


9,完全备份和增量备份svn

svnadmin dump /svn/project/www > full.svn.bak

#完全备份/svn/project/www这个版本库,并另存为full.svn.bak

svnadmin dump /svn/project/www -r 8 –incremental > svn.bak.1
#以增量把版本库8转存到svn.bak.1


10,还原版本库

svnadmin create /svn/project/test #创建一个新的版本库

svnadmin load /svn/project/test < full.svn.bak #现还原完全备份

svnadmin load /svn/project/test < svn.bak.1 #再还原增量备份的内容


11,热拷贝

svnadmin hotcopy /svn/project/www /root/backup.svn.www/
#热拷贝www这个版本库,可以直接拿来用