分类: LINUX
2011-10-13 18:21:26
#apt-get install subversion
新建存储仓库#mkdir /home/svnrepos
#svnadmin create /home/svnrepos/TestProject
修改配置#cd /home/svnreos/TestProject/conf
#vim svnserve.conf
取消下面几行的注释:
anon-access = read #匿名用户权限(read,write,none)
auth-access = write #认证用户权限(read,write,none)
password-db = passwd #用户账户管理(passwd 为文件名称,这里使用了相对路径)
#vim passwd
添加svn用户
svnuser = password #指定(用户名 = 密码)
导入项目假如项目在/opt/TestProject 目录
#svn import –m “My TestProject Imported” /opt/TestProject
提交后提示版本为1
启动SVN服务器#svnserve –d –r /home/svnrepos --listen-host 172.31.134.100 (Your Ip Addr)
注意:这里svnrepos后边不能有/,新版本的svn需要 把 --listen-host 172.31.134.100 替换成 --listen-port 3690)
-d: 在后台运行
-r: 指定svn服务器根目录
--listen-host: 指定监听IP
测试SVN在其他机器上使用 svn://172.31.134.100/TestProject
用户名:svnuser 密码:password
访问svn服务。
附录 A 开机自动启动svn服务
在 /etc/init.d 目录下谢一个脚本svnd.sh,内容如下:
#!/bin/bash
/usr/bin/svnserve -d -r /home/svnrepos
然后执行:
#update-rc.d svnd.sh defaults
#chmod 777 /etc/init.d/svnd.sh
B 移除整个数据仓库
直接删除数据仓库。例如
#rm –fR /home/svnrepos/TestProject
C 移出某个项目#rm -Rf /home/svnrepos/TestProject
D 移出特定目录
建一个新的文件夹,准备放dump出来的文件。把代码库dump出来
#svnadmin dump /home/svnrepos/TestProject > a.dump
使用svndumpfilter过滤掉要删除的目录$
#cat a.dump |svndumpfilter exclude /home/svn/TestProject/SubFounder > b.dump
(windows 下将cat换成type)
#rm –fR /home/svnrepos/TestProject
#svnadmin create /home/svnrepos/TestProject
建一个新库,将出来过的文件load到新库中
#svnadmin load /home/svnrepos/TestProject < b.dump
E Windows下客户端TortoiseSVN清除记录的账户桌面右键,TortoiseSVN->setting->Save Data
点击不同按钮清除。
F 常用命令取出指定版本,如取出版本 2:
svn checkout --revision 2 svn://....
显示提交日志信息:
svn log
显示库中的最新信息:
svn log --revision HEAD
另外在 Linux 上还有一个基于 Qt 的图形化的辅助工具 eSvn。
sudo apt-get install esvn