方法如下:
在服务器端找到
Repositories\MyTestRepository\db\revprops\0
和
Repositories\MyTestRepository\db\revs\0
目录下就是日志信息了,删掉就没了
问题描述:
公司需要将一个SVN远程服务器的全部已有项目迁移到一台新服务器的SVN中,其中需要包含全部的提交日志,目前此工作已全部迁移完毕,特此记录一下操作步骤
环境描述:
1. 要迁移的远程SVN的 Windows服务器
2. 迁移目的SVN的Windows服务器
操作流程:
2. 将SVN文件复制到新的服务器磁盘中
3. 在新的服务器创建新SVN仓库
4. 加载导出备份文件即可
建议后面的路径中间均不要有空格,不然使用一些命令时容易有问题
因为导出的SVN 历史 文件可能很大,推荐使用U盘复制和备份后操作
操作步骤:
1. 用windows的cmd命令框CD进入到VisualSVN Server的安装目录下的bin目录,使用命令生成svn仓库的备份
此命令:第一个路径是svn仓库路径,第二个是备份的路径。
svnadmin dump D:svnRepositoriesdxd >D:SVNBackupdxdBackup20220319.dump
2. 复制导出的dump到新的SVN服务器,这个文件建议备份一下,算是留档了哈,在新的服务器中创建一个新的SVN仓库,名字可以与原来的不同不耽误备份导入
3. 加载这个dump备份文件。同样在新服务器的VisualSVN Server的安装目录下的bin目录,使用CMD命令加载新的SVN仓库中。
svnadmin load D:svnRepositoriesdxd <D:BackupdxdBackup20220319.dump
直接开放svnserve的端口就可以了,默认端口是3690
如果selinux开启了,它会阻止文件的写入,从仓库中拉去正常,但上传的时候会出现 不能打开文件"***/db/txn-current-lock"权限不够
如果出现semanage未定义,可以参考 CentOS7 中安装semanage来设置selinux
仓库目录为 /home/svn/test ,如果要删除版本仓库直接删除目录就可以了 rm -rf /home/svn/test
在仓库目录 /home/svn/test 的 conf 目录中会有三个文件
修改配置
修改配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
权限管理分为组管理和目录权限管理
多个创建可以共用一套账号和密码权限管理。也可以用不同的账号密码管理,如果用不同的配置少单仓库类似,修改每个仓库conf下的账号和权限文件就可以了。下面说一下共用账号权限文件的情况。
在仓库目录 /home/svn 目录中创建authz文件和passwd文件。
修改配置各仓库下conf/svnserve.conf。将password-db和authz-db指向/home/svn/目录下的文件
修改/home/svn/passwd配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
修改/home/svn/authz权限管理分为组管理和目录权限管理
如果单仓库以/home/svn启动,此时访问的地址会有仓库名。 svn://ip/test
访问地址分别为:
编辑 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 参数改为svn仓库目录 OPTIONS="-r /home/svn"
设置开机启动
修改后也可以用systemctl来启动、停止、重启
svnserve启动后,修改authz和passwd文件是时实生效的,并不需要重启服务
有时随着仓库越来越多,权限配置也越来越多时,会出现一些配置错误,导致访问时出现无法加载权限验证之前的错误,这个时候我们可以将svn服务器的日志打印出来,看些配置出错了。
停止svn服务器,重新附加log-file参数输入日志到指定文件
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)