当前位置:电脑软件 > 编程开发 > 调试编译 > subversion(svn)

subversion(svn)

大小:18KB语言:简体中文类别:调试编译

类型:国产软件授权:免费软件时间:2018/11/22

官网:

环境:Windows10,Windows8,Windows7,WinVista,Win2003,WinXP

安全检测:无插件360通过腾讯通过金山通过瑞星通过

本地下载

subversion简称svn,是近年来崛起的版本管理软件,可称之为cvs的接班人。将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。该版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作,从某种程度上来说,这种形式也让我们的团队能够轻而易举的就能够进行团队协作。本站提供subversion(svn) for windows 64位下载端口,一个自由开源的版本控制系统,可以方便您在独立的客户端上设计一个自由的控制系统,其功能也得到了多方面的优化设计,可以让软件自动跟踪官方的新版本,从而起到随时升级的操作,欢迎有需要的朋友免费下载体验。
subversion(svn)

功能介绍

1、包含绝大部分CVS的功能
CVS是最基本的版本控制系统。包含了CVS的大部分功能,并且针对有些功能还稍加改进。
2、目录的版本化
将目录名以版本号的形式体现。
3、基于版本的复制,删除和重命名
无论复制、删除还是重命名,都会被打上版本号,尽管这听上去有些奇怪。
4、自由的版本化元数据操作
允许任何元数据附加在文件或目录中。这些属性是键/值对,并且被版本化。也提供对修订版附加任何键/值属性的方法,这些属性不会被版本化,因为他们会自动将元数据附加到版本空间中,但他们可以随时被更改。
5、混合追踪
开始加入了混合追踪功能。
6、文件锁
支持文件锁定,当多个用户试图编辑同一个文件时会收到警告。
7、Apache网络服务的支持,基于WebDAV/DeltaV协议
使用基于HTTP的WebDAV/DeltaV协议进行网络通信,而Apache网络服务器提供网络存储的站点服务。
8、可执行的标签
当一个文件是可执行的时候,会提示,并且当这个可执行的文件被放在版本控制中时,会防止该程序检查其他目录。
9、独立进程模式
可以运行在独立模式下。
10、一个只读的存储镜像
提供一个工具,SVNsync, 用于同步主服务器上的 文件到一个子存储服务器上,并且标为只读的属性。

支持特性

1、版本化的目录
CVS只能跟踪单个文件的变更历史,但是实现的“虚拟”版本化文件系统则可以跟踪目录树的变更。在Subversion中,文件和目录都是版本化的。
2、真实的版本历史
由于只能跟踪单个文件的变更,CVS无法支持如文件拷贝和改名这些常见的操作——这些操作改变了目录的内容。同样,在CVS中,一个目录下的文件只要名字相同即拥有相同的历史,即使这些同名文件在历史上毫无关系。而在Subversion中,可以对文件或目录进行增加、拷贝和改名操作,也解决了同名而无关的文件之间的历史联系问题。
3、原子提交
一系列相关的更改,要么全部提交到版本库,要么一个也不提交。这样用户就可以将相关的更改组成一个逻辑整体,防止出现只有部分修改提交到版本库的情况。
4、版本化的元数据
每一个文件和目录都有自己的一组属性——键和值,可以根据需要建立并存储任何键/值对。与文件本身的内容一样,属性也在版本控制之下。
5、可选的网络层
在版本库访问的实现上具有较高的抽象程度,利于人们实现新的网络访问机制。可以作为一个扩展模块嵌入到Apache之中,这种方式在稳定性和交互性方面有很大的优势,可以直接使用服务器的成熟技术——认证、授权和传输压缩等。此外,自身也实现了一个轻型的、可独立运行的服务器软件,这个服务器使用了一个自定义协议,可以轻松地使用SSH封装。
6、一致的数据操作
用一个二进制差异算法描述文件的变化,对于文本(可读)和二进制(不可读)文件其操作方式是一致的,两种类型的文件压缩存储在版本库中,而差异信息则在网络上双向传递。
7、高效的分支和标签操作
分支与标签操作的开销与工程的大小无关。Subversion的分支和标签操作只是一种类似于硬链接的机制拷贝整个工程,因而这些操作通常只会花费很少且相对固定的时间。
8、可修改性
没有历史负担,它以一系列优质的共享C程序库的方式实现,具有定义良好的API,这使得非常容易维护,和其它语言的互操作性很强。

安装配置

1、下载svn的客户端和服务器端。我用的分别是TortoiseSVN-1.7.7.22907-win32-svn-1.7.5.msi和Setup-Subversion-1.6.16.msi。这两个软件本站安装包中均有下载,下载完成后,安装SVN客户端和服务器端,两者的安装先后没什么影响,安装路径默认即可。
2、在本地新建一个文件夹,用来做SVN库。这里我在D盘新建了一个名为mySVN的文件夹,然后右键选择tortoiseSVN->Create Repository here,这样SVN库就已经创建好了可以看到该文件夹中增加了一下目录。

3、修改相关配置文件
1)用记事本打开%SVN库的路径%\conf\svnserve.conf。然后将password-db = passwd这句的前面的'#'去掉,并且前面不能有空格。
2)同样,在同目录下,用记事本打开passwd文件,将[users]下的harry = harryssecret、sally = sallyssecret前面的'#'去掉,并删除前面的空格,这样,我们就有了两个帐户,它们是以”用户名=密码“的形式存放的,然后我们再添加一行。
3)slm=mangguo,还是要注意前面不能有空格,因为我之前没注意这个问题,导致后面的Repo-browser等操作都无法完成,因此需要注意。后面我们会用这个帐户做本地的测试。(两个文件修改完成后注意及时保存)。
4、测试
1)任意右键点击一个之前做的项目,这里我选择了一个名为jwstest_client的项目,在弹出的上下文菜单中选择tortoiseSVN->Import,出现如下界面。

2)点击ok之后,出现如下界面(在成功之前需要先输入用户名和密码,因为我之前添加了一个slm=mangguo的帐户,输入相应地信息之后就可以了,可以选择保存该用户名和密码,以后就可以直接提交了),表示项目已经成功上传到SVN库中了。

5、需要注意,在这里,我上传的是jwstest_client目录,但是jwstest_client本身这个文件夹并没有上传,也就是说import的内容是jwstest_client里面的所有文件和目录。现在我们去SVN库中看一下上传的文件存放在什么地方了。

6、可以看出,SVN库的db目录是用来存放上传项目的,下面我们将测试如何把SVN库中的项目下载到本地,我们新建一个文件夹起名checkout1,右键点击选择SVN Checkout,打开以下视图。

7、点击ok之后,checkout成功了。

8、现在去checkout1目录中查看相应地文件信息。

9、右键点击这些文件,会发现有commit、update等操作,点击TortoiseSVN,可以查看diff with previous version、Show log等,至此我们就可以使用svn对项目进行版本控制和项目管理了。

软件组件

由几个部分组成,下面将简单的介绍一下这些组件。下文的描述或许过于简略,不易理解,但不用担心,本书后面的章节中会用更多的内容来详细阐述这些组件。
1、SVN
命令行客户端程序。
2、SVNversion
此工具用来显示工作拷贝的状态(用术语来说,就是当前项目的修订版本)。
3、SVNlook
直接查看版本库的工具。
4、SVNadmin
建立、调整和修复版本库的工具。
5、SVNdumpfilter
过滤版本库转储数据流的工具。
6、mod_dav_SVN
ApacheHTTP服务器的一个插件,使版本库可以通过网络访问。
7、SVNserve
一个单独运行的服务器程序,可以作为守护进程或由SSH调用,这是另一种使版本库,可以通过网络访问的方式。
8、SVNsync
一个通过网络增加镜像版本库的程序。

区别对比

SVN与CVS对比的优点
1、统一的版本号
CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
2、原子提交
一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
3、重命名、复制、删除文件等动作都保存在版本历史记录当中。
4、对于二进制文件,使用了节省空间的保存方法(简单的理解,就是只保存和上一版本不同之处)。
5、目录也有版本历史
整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
6、分支的开销非常小。
7、优化过的数据库访问,使得一些操作不必访问数据库就可以做到,这样减少了很多不必要的和数据库主机之间的网络流量。

软件不足

1、只能设置目录的访问权限,无法设置单个文件的访问权限。
2、若用户有设置单个文件的访问权限的需求,国内有单位可提供基于开源软件的扩展版本,见参考资料。
3、官方版本不支持NTFS文件系统的扩展属性,NTFS的扩充属性(安全属性、附加数据流(可选数据流)、加密数据流等)在提交、检出、导入、导出等操作过程中会丢失。
4、现在国内有提供支持NTFS扩展属性的扩充版、tSVN, 即NTFS的扩充属性(安全属性、附加数据流(可选数据流)、加密数据流等)可和文件一起被提交、检出、导入、导出。见参考资料。
下载地址

有问题?点击报错+投诉+提问

网友评论

0条评论

评分:
captcha 评论需审核后才能显示