CSVN使用入门
在前面我们已经配置好了csvn服务器,直达链接http://blog.csdn.net/qq_34829953/article/details/78285647
现在我们在win10环境下使用我们搭建好了的svn
随便在一个路径下新建一个文件夹,用到存放svn文件,右键选中svn checkout,url那里填版本库检出命令,注意localhost.localdomain那里需要改为csvn服务器的ip,回车后输入用户名admin密码admin(这是默认的)
然后随便在workspace里面新建一个文件,然后选中workspace右键选中svn commit,然后这个文件就会更新到svn版本库了
现在我们尝试新建一个用户,我就懒得截图了,我们随便创建一个用户,并且给这个用户所有项目的读权限,点击导航栏的版本库,选中访问跪着,添加username=r(增加这条语句,其实这个用户还是拥有所有项目的读写权限,原因是上面的那句*=rw,也就是说所有用户都具有读写权限,我们再把这句改为admin=rw就可以了)
现在我们再尝试新建文件,并svn commit,发现权限不足,提交失败。改为username=rw,再次提交,提交成功
刚搭建好的csvn服务器可以说是空白的,需要我们自己创建版本库
问题是,现在我们有另一个旧的svn版本库需要导进来,实现在访问这个新csvn服务器上能同时访问到旧的svn版本库
实现方法很简单:
将旧csvn服务器的csvn\data\repositories目录下文件拷贝到新服务器的repositories下
具体如何简单快速地实现呢,毫无疑问使用scp命令(这个命令貌似系统自带,不用进行多余的配置)
scp -r /application/csvn/data/repositories/* root@10.0.3.103:/application/csvn/data/repositories/
为什么要加个-r(递归)选项呢?因为不只是复制一个文件,而是多个,不加会提示not a regular file
需要重启csvn,如果重启后再版本库里还是没看到新增旧的版本库,可以点击discover刷新,一般就可以出现了
导入之后还会报一个警告,那就是权限不足,将新导入的版本库修改其拥有者为csvn,然后进入web页面的版本库,点击新导入的版本库后面的可能需要修改权限,点击验证权限,恢复正常
csvn版本库的迁移
首先复制旧csvn服务器上repositories下的版本库文件夹到新csvn服务器repositories文件夹下面
然后复制旧csvn的svn_auth_file到新csvn上(这个应该是复制旧服务器上的密码,但是却没有生效,不知道为什么)
接着就是复制旧服务器上的用户账号
csvn-production-hsqldb.script 在这个文件里搜索INSERT INTO USER 然后复制这几行,追加到新服务器上的对应文件中(这里我遇到一个问题,就是我在csvn的web管理界面可以看到我新建的用户,但是我在这个文件中却找不到对应的插入信息,最后发现是没有重启csvn的问题)
接着用旧csvn服务器上svn_access_file文件覆盖新csvn服务器上的对应文件(为了安全起见,最好将被替换的文件先做好一个备份,防止出现异常情况无法恢复)
最后重启csvn,迁移就完成了。但是有一个问题,就是旧服务器上的账号无法正常登陆新的csvn,会提示没有权限读取页面,这个我还不知道怎么解决
使用svnadmin dump 快速复制版本库
svnadmin dump /application/csvn/data/repositories/test > repos-dumpfile
上面这条命令用来备份test版本库,导出为文件repos-dumpfile