1.SVN简介
SVN定义?
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
为什么要使用SVN?
程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。
Subversion是什么?
它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。
和SVN相类似的软件
GIT;RCS;CSV
2.SVN安装(客户端TortoiseSVN1.9.5版本和服务器VisualSVN3.5.7安装教程)
2.1 SVN服务器搭建和使用。
1.首先来下载和搭建SVN服务器,下载地址如下: http://subversion.apache.org/packages.html,进入网址后,滚动到浏览器最底部看到如下截图:
2.2 服务器VisualSVN3.5.7安装
①直接点击Next!
②点击Standard Edition(标准版)
③Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾山表示使用安全连接,点击Next,进入下一步,如下图:
④点击Install(开始安装)
2.3 客户端TortoiseSVN1.9.5版本安装
3.VisualSVN服务器使用
3.1 服务器主界面
可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.
3.2 VisualSVN 创建新的代码库
VDFS是基于FSFS的,公司的官网有介绍:VisualSVN Server
It's worth to notice that VDFS data store is built on top of the standard FSFS backend. The existing FSFS-based repositories can be instantly converted into a VDFS repository. Moreover, there is no data lock-in and you can instantly convert a VDFS repository back into a regular FSFS-based repository.
简单来说这个是VisualSVN基于FSFS文件系统格式扩展的,根据wikipedia的说法:VisualSVN Server
VisualSVN Distributed File System (VDFS). Multisite Repository Replication is based on VDFS technology. VDFS enables automatic, transparent, bidirectional replication of Subversion repositories between multiple locations (each slave repository is writeable). VDFS follows the classic master / slave replication architecture and uses Microsoft RPC as its transport layer.
也就是说,分布式版本管理DVCS兴起之后,大家发现多个仓库的好处了,开始给SVN增加这个功能。
至于FSFS本身是SVN在2004年开始替换Berkeley DB的,是基于文件系统概念设计的,而不是基于数据库的概念,根据 http://svnbook.red-bean.com/en/1.1/ch05.html 的说法,采用目录树的结构去做transaction,可以在目录外创建完一次提交,然后把完成的提交一次性移动进版本历史。另外,根据他们的数据结构,对Berkeley DB的append操作是O(N^2)的,而FSFS是O(N)的。当然更完整的介绍可以看:http://svn.apache.org/repos/asf/subversion/tags/1.8.4/notes/fsfs
如果你不是太在乎私有格式,也需要多仓库同步,可以用VDFS,官方文档说了VDFS默认的service是没有启动的,所以对你日常应该没有影响。如果不喜欢私有格式,就用FSFS就好。
3.3 VisualSVN创建新的用户和组
3.3.1创建用户
需要建立用户和组,并且需要分配权限。
① 在VisualSVN Server Manager窗口的左侧(控制区)右键单击Users,选择Create User或者新建->User,输入新建用户名和密码后点击OK,如图:
②用户创建成功
3.3.2创建组
②添加组别成功
3.3.3分配权限
接下来我们需要给用户组设置权限,在控制区里右击选中Properties,添加相应组别和用户并对其赋予相关的权限,如下图
点击【确定】按钮即可。
4.客户端TortoiseSVN1.9.5使用教程
4.1 checkout项目文件
2、Immediate children,including folders——直接子节点,包含文件夹:检出目录,包含其中的文件或子目录,但是不递归展开子目录。
3、Only file chlidren——仅文件子节点:检出指定目录,包含所有文件,但是不检出任何子目录。
4、Only this item——仅此项:只检出目录。不包含其中的文件或子目录。
4.1.1如何获取代码库的路径(URL of repository)