一、关于SVN服务器的安装部署
Subversion是优秀的版本控制工具,首先来下载和搭建SVN服务器.
现在Subversion已经迁移到apache网站上了,下载地址:
http://subversion.apache.org/packages.html
这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,文档的下载地址.
windows操作系统下面的二进制文件包一共有5种,如图:

本人用的Setup-Subversion-1.8.9-1.msi服务端和TortoiseSVN客户端,不过现在网上大家推荐用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用.
VisualSVN服务端本人暂时未使用,大家可以下载VisualSVN server使用
启动SVN服务
如何设置svn服务器端的服务开机启动
启动subversion的服务可以通过两种方式来完成
1.第一种手动输入cmd命令,svn服务端软件服务的启动可以通过cmd命令来启动,定位到subversion的安装目录,我的机器是C:\Program Files\Subversion\bin, 输入命令 svnserve –d –r E:\SVN\Project,其中E:\SVN\Project是svn数据仓库的目录。
2.第二种把subversion的服务添加到windows服务,作为开机自动启动的服务,同样可以通过cmd命令来完成,命令如下:
sc create 服务名 binpath= “svnserve所在的目录 –service -r 版本库目录”start= auto depend= Tcpip

如图所示
其中"binpath="后面跟的是subversion的安装目录,--service -r后面的参数是数据仓库的路径。通过这种方式就把subversion的服务作为windows自启动的服务了。
接下只要重启服务器就可以了,服务器端的subversion的服务就可以开始运行了.
二、 SVN的配置
1. 如何设置SVN提交时必须输入注释
Windows环境
在SVN的版本库hooks路径中找到pre-commit文件,我的版本库路径为E:\SVN\Project\hooks\pre-commit.tmpl;
可以将该文件删除,重新创建pre-commit.bat批处理文件。也可以在该文件中添加下列代码
@echo off
set SVNLOOK="D:\Program Files\VisualSVN Server\bin\svnlook.exe"
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
%SVNLOOK% log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log message not allowed. Commit aborted! 1>&2
exit 1
里面的代码还需要修改一下,找到SVN_LOOK="你svn服务端软件安装目录即可"
改完保存即可实现限制无注释提交svn了
三、SVN的备份和迁移功能
windows下如何备份导出SVN库、导入SVN库?
操作系统:Windows10,64位
SVN Server版本:Setup-Subversion-1.8.9-1
SVN Client版本:TortoiseSVN-1.14.1.29085-x64-svn-1.14.1
方法\步骤
一、目的
如何将PC1上面的F:\SVN\Project下的各个库备份到PC 2 上面的D:\SVN
如何将PC2 D:\Backup下各个库的备份文件导入到svn库下?
备份SVN库。
将PC 1 上面的svn库备份导出到空闲磁盘 E:\Backup\,生成dump文件。
在cmd命令行里输入:
svnadmin dump F:\SVN\Project -r 0:50 > E:\Backup\20160120_0150.dump
svnadmin dump F:\SVN\Project -r 51:1000 --incremental > E:\Backup\20160120_1.dump
...
...
在备份的过程中,先导出前面几个版本的库文件,后面的是增量备份
三、导入备份库到新的SVN库下。
1.在PC2电脑D盘中新建空文件夹SVN,在SVN下建库。(svnadmin create D:\svn)将PC1的20160120_0150.dump,20160120_1.dump拷贝到PC2 的D盘backup
2.在cmd命令行里输入:
svnadmin load D:\SVN < D:\backup\20160120_0150.dump
svnadmin load D:\SVN < D:\backup\20160120_1.dump
导入文件20160120_2.dump。依次类推20160120_3.dump。
如果我们前面不使用--incremental方式导出,此处分批导入三个dump文件,则会提示错误:版本库文件已经存在。
因为我的SVN库比较大,用了几年,看了一下,有200G左右。。这样折腾迁移搞了一天,后面发现真的好笨,直接把仓库拷贝到新电脑就好,省去了这么多麻烦。。。拷贝快多了。。
另外,如有需要软件和遇到其他问题的网友可以私信给我。
本文详细介绍了在Windows上安装Subversion服务器、设置提交注释、配置服务开机启动,以及如何进行SVN库的备份、导出和导入操作。通过实例演示了svnadmin命令的使用,包括全量和增量备份,以及如何解决导入时的版本库文件已存在错误。
2357

被折叠的 条评论
为什么被折叠?



