安装
tar -zxvf subversion-1.6.6.tar.gz
cd subversion-1.6.6
./configure -prefix=/opt/svn -without-berkeley-db
http://www.cnblogs.com/fyfblog/archive/2011/06/12/2097138.html
http://www.2cto.com/os/201203/123389.html
http://blog.chinaunix.net/uid-25266990-id-2749876.html
# 创建apache用户
htpasswd /svn/passwd username
# 创建工程
svnadmin create www
# 启动svn
/usr/local/apache/bin/apachectl -k start
svnserve -d -r /svn/project
# 检查状态
ps -ef|grep svnserve
强制删除lock
rm -rf /svn/project/www/db/locks
svn 备份:--主备机使用相同用户密码(svn服务用户,非apache配置用户)
http://www.2cto.com/os/201211/172348.html
svn双机热备 1.4以上版本
主从版本一致,用户名密码配置正确,认证时输入备份svn用户密码.
cd /www/hooks
cp pre-revprop-change.tmpl pre-revprop-change
vi pre-revprop-change
# 最后一行改成 exit 0
chmod 755 pre-revprop-change
svnsync init svn://172.19.34.104/www svn://172.19.34.164/www
# 初始化完成后,执行
svnsync sync svn://172.19.34.104/www 进行同步
# 主机更新时,从机自动同步,在主机/hooks/下建立/修改post-commit脚本,增加两行代码
vi post-commit
#!/bin/sh
svnsync sync --non-interactive svn://172.19.34.104/www --username svn_backup --password svn1q2w3e4r
## 常见错误
从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
## 解决方法 -- 删除属性 “svn:sync-lock” 于版本库版本 0
svn propdel svn:sync-lock --revprop -r 0 http://172.19.34.104/www
svn服务器端回退版本
1.首先找到本次提交后生成的版本号,例如为r224.
2.登录到svn服务器上,进入到项目的svn目录.
3.进入db目录,删除此目录下的rep-cache.db。并修改此目录下的current文件,将其修改为上一个版本,例如233.
4.删除db/revs/0/目录下的224文件。 (随着版本增多,会在不同的文件夹下)
5.删除db/revprops/0/目录下的224文件。(随着版本增多,会在不同的文件夹下)
至此,服务器端已经回退到r223版本,此时可以将本地下载到的代码删除,重新从svn服务器上下载一份代码,然后基于此代码继续修改提交。
如果在windows下使用TortoiseSVN,还需要删除本地的缓存,不然会出现再次提交后,其日志显示出现错误的情况,删除方法为点击TortoiseSVN的settings,在选择"Saved Data",点击Clear清除Log message即可。
tar -zxvf subversion-1.6.6.tar.gz
cd subversion-1.6.6
./configure -prefix=/opt/svn -without-berkeley-db
http://www.cnblogs.com/fyfblog/archive/2011/06/12/2097138.html
http://www.2cto.com/os/201203/123389.html
http://blog.chinaunix.net/uid-25266990-id-2749876.html
# 创建apache用户
htpasswd /svn/passwd username
# 创建工程
svnadmin create www
# 启动svn
/usr/local/apache/bin/apachectl -k start
svnserve -d -r /svn/project
# 检查状态
ps -ef|grep svnserve
强制删除lock
rm -rf /svn/project/www/db/locks
svn 备份:--主备机使用相同用户密码(svn服务用户,非apache配置用户)
http://www.2cto.com/os/201211/172348.html
svn双机热备 1.4以上版本
主从版本一致,用户名密码配置正确,认证时输入备份svn用户密码.
cd /www/hooks
cp pre-revprop-change.tmpl pre-revprop-change
vi pre-revprop-change
# 最后一行改成 exit 0
chmod 755 pre-revprop-change
svnsync init svn://172.19.34.104/www svn://172.19.34.164/www
# 初始化完成后,执行
svnsync sync svn://172.19.34.104/www 进行同步
# 主机更新时,从机自动同步,在主机/hooks/下建立/修改post-commit脚本,增加两行代码
vi post-commit
#!/bin/sh
svnsync sync --non-interactive svn://172.19.34.104/www --username svn_backup --password svn1q2w3e4r
## 常见错误
从目标版本库获得锁失败,当前被“rhel500:284ff204-e16b-457f-933c-03d1c26c314b”持有
## 解决方法 -- 删除属性 “svn:sync-lock” 于版本库版本 0
svn propdel svn:sync-lock --revprop -r 0 http://172.19.34.104/www
svn服务器端回退版本
1.首先找到本次提交后生成的版本号,例如为r224.
2.登录到svn服务器上,进入到项目的svn目录.
3.进入db目录,删除此目录下的rep-cache.db。并修改此目录下的current文件,将其修改为上一个版本,例如233.
4.删除db/revs/0/目录下的224文件。 (随着版本增多,会在不同的文件夹下)
5.删除db/revprops/0/目录下的224文件。(随着版本增多,会在不同的文件夹下)
至此,服务器端已经回退到r223版本,此时可以将本地下载到的代码删除,重新从svn服务器上下载一份代码,然后基于此代码继续修改提交。
如果在windows下使用TortoiseSVN,还需要删除本地的缓存,不然会出现再次提交后,其日志显示出现错误的情况,删除方法为点击TortoiseSVN的settings,在选择"Saved Data",点击Clear清除Log message即可。