Subversion和同步存储工具结合实现异地复制版本库
2011-04-27 11:20
281 查看
很早就使用Subversion作为自己开发项目的源码管理工具,在单位和家里分别有计算机用于项目开发,这两台计算机都连接到互联网上,分别安装了Subversion服务器端,早期使用时,同步两台计算机版本库的方法是用U盘拷贝,经常在两台计算机间拷来拷去让人不胜其烦,而且有时也会因为疏忽忘记拷贝某个文件,或是无法确认两个版本库相差的文件到底是哪几个。
后来偶然使用了Dropbox和金山快盘这样的文件云同步工具,才使问题圆满解决,说起来也很简单,就是将Subversion的版本库根目录建在Dropbox或金山快盘的同步目录中,建立Subversion的Windows服务时把版本库路径指向同步目录下的版本库根目录即可,每次版本库目录中文件发生变化时,同步工具会自动同步变化的文件,无需用户干预。
这样调整后,从开发者视角看,就像自己在互联网上架设了一个Subversion服务器一样,其优点更在于无需独立的IP地址,不用担心源代码被窃取,源码版本库至少有三份相同的拷贝,即使异地的两台计算机同时宕机了,云存储供应商的服务器上仍会有一份拷贝。
当然这种变通方法仅限于单个开发人员自己使用,无法实现多人使用。同时也建议,即使没有异地读取的需要,也最好将版本库根目录放置在同步目录中,这相当于给Subversion增加了一个随时备份的服务器,保证源码的安全。
下面是自己使用同步工具配合Subversion的一些经验:
1、Dropbox的同步速度最快,虽然是国外服务器,但其下载和上传巨量小文件的速度是最快的。
2、金山快盘前期版本有问题,同步小文件速度异常慢,感觉程序有bug,版本升级后问题解决,已经很好用了。要注意的是同步文件夹名最好用英文,因为老版本的Subversion服务端对汉字路径名不支持(自己发现1.4.4版有此问题),快盘的空间也很大,新版本是个不错的同步工具。
3、数据银行-“DBank”,也是个不错的同步工具。
4、***也出了同步工具EverBox,空间挺大,但客户端程序还在测试,存在不少问题,连文件上传下载的进度都没有,不推荐使用。
后来偶然使用了Dropbox和金山快盘这样的文件云同步工具,才使问题圆满解决,说起来也很简单,就是将Subversion的版本库根目录建在Dropbox或金山快盘的同步目录中,建立Subversion的Windows服务时把版本库路径指向同步目录下的版本库根目录即可,每次版本库目录中文件发生变化时,同步工具会自动同步变化的文件,无需用户干预。
这样调整后,从开发者视角看,就像自己在互联网上架设了一个Subversion服务器一样,其优点更在于无需独立的IP地址,不用担心源代码被窃取,源码版本库至少有三份相同的拷贝,即使异地的两台计算机同时宕机了,云存储供应商的服务器上仍会有一份拷贝。
当然这种变通方法仅限于单个开发人员自己使用,无法实现多人使用。同时也建议,即使没有异地读取的需要,也最好将版本库根目录放置在同步目录中,这相当于给Subversion增加了一个随时备份的服务器,保证源码的安全。
下面是自己使用同步工具配合Subversion的一些经验:
1、Dropbox的同步速度最快,虽然是国外服务器,但其下载和上传巨量小文件的速度是最快的。
2、金山快盘前期版本有问题,同步小文件速度异常慢,感觉程序有bug,版本升级后问题解决,已经很好用了。要注意的是同步文件夹名最好用英文,因为老版本的Subversion服务端对汉字路径名不支持(自己发现1.4.4版有此问题),快盘的空间也很大,新版本是个不错的同步工具。
3、数据银行-“DBank”,也是个不错的同步工具。
4、***也出了同步工具EverBox,空间挺大,但客户端程序还在测试,存在不少问题,连文件上传下载的进度都没有,不推荐使用。
相关文章推荐
- GlusterFS分布式存储搭建双机复制卷结合Keepalived实现存储高可用
- rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync【文件从本地上传到linux服务器有什么更好的工具?】
- InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能
- Syncthing免费开源的文件同步工具-带版本控制可用于构建个人云存储
- percona-xtrabackup工具实现mysql5.6.34的主从同步复制
- percona-xtrabackup工具实现mysql5.6.34的主从同步复制
- 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍
- HTML5 vedio标签与canvas的结合实现视频同步模糊效果
- MariaDB数据库主从复制、双主复制、半同步复制、基于SSL的安全复制实现及其功能特性介绍 推荐
- mysql服务器复制的主从架构半同步的实现
- SQLServer2000同步复制技术实现步骤
- mysql主从复制,半同步,主主复制架构的实现
- 基于jenkins结合svn、ansible、shell和mysql版本迁移实现多服务器批量发布 推荐
- 结合Mantis缺陷管理系统实现vss的版本管理
- Rsync远程同步,实现下行 ,上行异地备份。配置rsync+inotify实时备份。
- 利用strstr与atoi的结合实现一个C语言获取文件中数据的工具
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 实现异地Oracle数据库的数据同步步骤
- 结合工具来实现敏捷开发 - 11
- windows下实现mysql备份至异地,并结合计划任务实现自动管理。