一、SVN联网操作
(1)svn
启动服务:svnserve --deamon --root /home/svnroot/repos
签出:svn co svn://hostname/home/svnroot/repos/yourproject/trunk yourdir
(2)svn+ssh
a.客户端通过使用ssh登入服务器后,服务器用svnserve -t(tunnel)访问仓库
b.确保linux/unix用户对svn存储库有rw权限
可以建立一个svn组,将用户添加至这个组,并设置存储库的组为这个组,模式为rwxrwx---,设置sticky bit
签出:svn co svn+ssh://username@host/home/svnroot/repos/yourproject/trunk yourdir
(3)apache
svn和apache结合,见:http://blog.youkuaiyun.com/gtuu0123/archive/2009/06/13/4266954.aspx
签出:svn co http://localhost/svn/project/yourproject/trunk yourdir
二、SVN安全
1.svnserve
在存储库下,有一个目录叫conf,其中有一个文件叫svnserve.conf,是配置svnserve的安全的
svnserve.conf
--------------------
[general]
anon-access=read 匿名只读
auth-access=write 被授权的用户读写
password-db=passwd 密码文件为当前目录下的passwd文件
-------------------
passwd文件
--------------------
[users]
mike=secret mike密码为secret
dave=hello123 dave密码为hello123
-------------------
如果要启用基于路径的安全性,使用authz-db=authz,则authz文件为基于路径的安全性验证文件(可以参考http://blog.youkuaiyun.com/gtuu0123/archive/2009/06/13/4266954.aspx )
2.apache
见http://blog.youkuaiyun.com/gtuu0123/archive/2009/06/13/4266954.aspx
三、备份和载入SVN
备份:svnadmin dump svn存储库路径 > 备份文件
增量备份:svnadmin dump --incremental --revision <version1>:<version2> svn存储库路径 > 备份文件
载入:svnadmin create svn存储库路径
svnadmin load svn存储库路径 < 备份文件
四、分割和合并仓库
1.分割
svnadmin dump /home/svnroot/repo > repo.dump -- 导出
mkdir /home/svnroot/newrepo
svnadmin create /home/svnroot/newrepo -- 建立新存储库
cat repo.dump | svndumpfilter include log4rss/trunk/src | svnadmin load /home/svnroot/newrepo -- 将log4rss/trunk/src分支导入/home/svnroot/newrepo中
2.合并
svnadmin load --parent-dir 被合并到的目录 svn存储库路径 < 备份文件
如:svnadmin dump http://localhost/svn/project > project.dump
svn mkdir http://localhost/svn/project/merge
svnadmin load --parent-dir merge http://localhost/svn/project < project.dump