您的位置:首页 > 编程语言

记录如何借助网盘搭建SVN服务器实现版本控制和代码同步

2015-10-20 14:13 981 查看
一直以来都是通过SVN服务器来管理自己的代码,原因是个人觉得SVN的版本控制是一个好东西,而且SVN使用起来非常简单。但是之前的SVN服务器是部署在自己家里的电脑上,只有在家里才能访问,这一点十分不方便!于是就想着怎么样搭建一个即可以通过外网随时访问,又能实现版本控制的代码托管服务器。查了一下资料,发现方法各种各样,于是挑了个比较简单的,就是借助网盘搭建SVN服务器实现版本控制和代码同步。网上讲述这个方法的文章很多,然而雷同的文章也很多o(╯□╰)o,而且我跟着捣腾完了之后,虽然可以通过SVN服务器来实现版本控制和代码同步了,但是发现了一个个人认为不完善的地方,就是不能用SVN服务器管理软件VisualSVN
Server Manager来管理版本仓库了,这对于我这种用习惯了界面交互而不喜欢敲指令代码的人来说,简直就是硬伤!于是自己摸索了一下,发现要解决这个硬伤其实也很简单!

实现原理



借助网盘搭建SVN服务器实现版本控制的原理是得益于网盘客户端的存在和SVN强大的版本控制功能,每个开发者的版本仓库都建立在各自的本地同步网盘目录上,而各个开发者的本地同步网盘目录会通过网盘客户端自动与网盘服务器自动同步,从而保持各个开发者本机上的版本仓库的一致性。需要注意的是,所有的开发者必须使用同一个网盘账户!!!



实现步骤

安装网盘客户端,设置本地同步网盘目录,安装过程简单,略过。这里以百度网盘为例,本地同步网盘目录设置为 E:\百度云同步盘,设置完成后在目录 E:\百度云同步盘下新建一个文件夹,将其重命名为 SVN_Repositories。
安装 VisualSVN Server 和 TortoiseSVN,安装过程也很简单,略过。安装完成之后,打开SVN服务器管理软件VisualSVN Server Manager。此时的VisualSVN Server Manager的界面如下:


在上面打开的管理软件中,右键选中“VisualSVN Server (Local)”,在弹出的菜单中选择属性,即“Properties”。


在弹出的属性对话框中,选择Tab页“Storage”,然后把编辑框中的路径修改为第 1 步中新建的文件夹路径,即E:\百度云同步盘\SVN_Repositories,最后点击确定即可。完成之后,在目录E:\百度云同步盘\SVN_Repositories下会自动生成一些SVN服务器信息文件。


完成上述四个步骤之后,就可以像操作传统的SVN服务器一样来建立版本仓库、建立用户以及用户组,设置用户读写权限,完成代码的导入、导出、提交、更新等等一系列SVN常用功能。由于这些信息都是保存在本地同步网盘目录中,那么借助网盘的同步功能将这些信息全部同步到网盘服务器上,这样凡是可以访问网盘服务器的开发者就可以通过网盘同步来获取这些信息。
为了验证在其他电脑上的开发者借助网盘也可以实现SVN服务器的版本控制和代码同步,需要在另外一台电脑(可以用虚拟机代替)上也安装网盘客户端并设置本地同步网盘目录,同样还需要安装VisualSVN
Server 和 TortoiseSVN。比如在新电脑上的本地同步网盘目录设置为 D:\百度云同步盘,然后再将网盘服务器上的文件夹SVN_Repositories选择同步到该目录,这样在新电脑的目录D:\百度云同步盘\SVN_Repositories里就会存储着和第
5 步中完全一样的SVN服务器信息。
在新电脑上,打开SVN服务器管理软件VisualSVN
Server Manager,同样右键菜单打开第 4 步中的属性对话框,选择Tab页“Storage”,然后把编辑框中的路径修改为第 6 步中文件夹SVN_Repositories的路径,即D:\百度云同步盘\SVN_Repositories。完成之后,在新电脑中的SVN服务器信息就会和原来那台电脑的SVN服务器信息保持一致。
完成上述7个步骤之后,此时的两台电脑上就可以真正地实现SVN的数据同步和版本控制了,就和部署在传统的SVN服务器上一样来使用即可。凡是在其中任意一台电脑进行SVN操作,不论是建立版本仓库、还是代码的导入、导出、提交、更新,甚至是用户及用户组的增加、删除、读写权限的修改等,所有的数据都被同步另外一台电脑上。

虽然这里的实现步骤和网上很多文章的有点不一样,不过实现原理都大同小异,有些文章的是只实现了一个版本仓库的同步,而这里是实现了所有的版本仓库的同步,包括用户以及用户组,读写权限信息等等。其实如果熟悉的话,只要在安装VisualSVN
Server的过程中,把本地同步网盘目录设置为所有的版本仓库的存储路径就可以了。如下图:



纸上得来终觉浅,须知此事要躬行。看着别人的文章写出来的步骤是挺简单的,但是真正要自己去搭建的时候,难免因为理解上的偏差,又或者是因为软件版本的差异,总会出现一些意料之外的问题,不过只要自己肯动手,合理利用网络资源,那么很多问题就不再是问题了。借助网盘搭建SVN服务器来管理个人的代码是一个很不错的方法,值得学习,甚至是一些公司的小项目也可以通过这种方法来完成协同开发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  svn 版本控制 网盘