Subversion客户端(含安装配置)V1.9.5官方版 |
![]() ![]() |
|
![]() |
Subversion客户端(含安装配置)简介: kkx给大家分享的Subversion(简称SVN)是一个开源的版本控制系统,它可以帮助软件团队协作开发和管理项目的源代码 。Subversion 的主要功能包括版本控制、文件追踪、分支和标记、版本历史记录、权限管理等 。Subversion 最初是由 CollabNet 公司开发,其中的版本号遵循 Apache Group 的规范,即主版本号.次版本号.修正版本号,在 Subversion 中也叫做 release.major.minor 。Subversion 使用一种名为“复制-修改-合并”的机制来管理源代码的版本,这种机制确保团队成员之间的修改不会互相冲突 。Subversion 有一个命令行工具,也有多个图形化的客户端工具,例如 TortoiseSVN、eclipse svn插件、subclipse等 。Subversion 使用 Apache License 2.0 发布,成为 Apache 基金会的顶级项目之一 。它已经广泛应用于许多开源项目和商业项目中 。 ![]() Subversion1.9.5安装配置由于subversion只是一个服务器,用户想要可视化界面的话需要Tortoisesvn/soft/5287.html来进行可视化操作 。1、建立目录,存放所有仓库,这里为 "D:svnhome" 。 2、创立独立仓库,存放各个项目(project1, project2) svnadmin create D:svnhomeproject1 svnadmin create D:svnhomeproject2 好了,有些朋友可能会出现下面的问题: ![]() 没关系,我们可以把工作目录切换到Subversion的安装目录下 在这里,我的Subversion安装目录是:D:Program FilesSubversion,那么,可执行文件就在 D:Program FilesSubversionin里面了 。 ![]() 当然,你也可以使用Tortoisesvn创建仓库,先建立一个仓库目录D:svnhomeproject1,在project1上面点击右键,如下 ![]() 3、启动服务器 svnserve -d -r D:svnhome 至此,你的SVN服务器已经可以访问了!访问地址为: svn://127.0.0.1/project1 或 file:///D:/svnhome/project1 svn://127.0.0.1/project2 或 file:///D:/svnhome/project2 如果不是在本机访问,必须把回路IP改成局域网或公网IP 。注意你家的防火墙! 四、服务器简单配置 1、编辑文件 D:svnhomeproject1confsvnserve.conf (库配置文件),加入下面几行!每行前面不能有任何字符,不然会报错! anon-access = none auth-access = write password-db = passwd authz-db = authz 2、编辑文件 D:svnhomeproject1confpasswd (存放用户及密码),增加新用户,加入 [users] admin=123456 3、编辑文件 D:svnhomeproject1confauthz (权限相关),给admin写入权限,加入 [/] admin=rw 现在,你就可以该用户来访问你的SVN服务器了 。 以上步骤均基于Windows操作系统,至于Linux的,也是差不多的,这里就不多说了 。 至于服务器权限的高级配置,再探讨 。 Subversion1.9.5功能·包含绝大部分CVS的功能CVS是最基本的版本控制系统 。Subversion包含了CVS的大部分功能,并且针对有些功能还稍加改进 。 ·目录的版本化 Subversion将目录名以版本号的形式体现 。 ·基于版本的复制,删除和重命名 无论复制、删除还是重命名,都会被打上版本号,尽管这听上去有些奇怪 。 ·自由的版本化元数据操作 Subversion允许任何元数据附加在文件或目录中 。这些属性是键/值对,并且被版本化 。Subversion也提供对修订版附加任何键/值属性的方法,这些属性不会被版本化,因为他们会自动将元数据附加到版本空间中,但他们可以随时被更改 。 ·混合追踪 Subversion 1.5开始加入了混合追踪功能 。 ·文件锁 支持文件锁定,当多个用户试图编辑同一个文件时会收到警告 。 ·Apache网络服务的支持,基于WebDAV/DeltaV协议 使用基于HTTP的WebDAV/DeltaV协议进行网络通信,而Apache网络服务器提供网络存储的站点服务 。 ·可执行的标签 当一个文件是可执行的时候,Subversion会提示,并且当这个可执行的文件被放在版本控制中时,Subversion会防止该程序检查其他目录 。 ·独立进程模式 Subversion可以运行在独立模式下 ·一个只读的存储镜像 Subversion提供一个工具,SVNsync, 用于同步主服务器上的 文件到一个子存储服务器上,并且标为只读的属性 SVN与CVS对比的优点* 统一的版本号 。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同 。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件 。所以,各文件在某任意时间的版本号是相同的 。版本号相同的文件构成软件的一个版本 。* 原子提交 。一次提交不管是单个还是多个文件,都是作为一个整体提交的 。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏 。 * 重命名、复制、删除文件等动作都保存在版本历史记录当中 。 * 对于二进制文件,使用了节省空间的保存方法(简单的理解,就是只保存和上一版本不同之处) 。 * 目录也有版本历史 。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录 。 * 分支的开销非常小 。 * 优化过的数据库访问,使得一些操作不必访问数据库就可以做到,这样减少了很多不必要的和数据库主机之间的网络流量 。 Subversion1.9.5特性Subversion适用:版本变的目录 CVS只有追踪单独文件的变动历史时间,可是Subversion达到的“虚似”版本化文件系统软件则可追踪目录树变动 。在Subversion中,文件和目录全是版本变的 。 真实版本历史时间 因为只有追踪单独文件的变动,CVS没法适用如文件复制和更名这种比较常见的操作——这种操作影响了目录内容 。一样,在CVS中,一个目录中的文件只需名称同样即有相同历史,即便这种同名的文件古代历史无关 。但在Subversion中,能够对文件或目录开展提升、复制和更名操作,也解决了同名的而不相干的文件间的历史时间联络难题 。 分子递交 一系列有关的变更,要不所有提交到版本库,要不一个都不递交 。那样客户就可以把有关的变更组成一个逻辑性总体,避免出现仅有一部分改动提交到版本库的现象 。 版本变的数据库 每一个文件和目录都有各自的一组属性——键合值,可以根据实际情况创建并存放一切键/值对 。与文件自身的具体内容一样,属性还在版本操纵下 。 可供选择的传输层 Subversion在版本库访问的完成上具有很高的抽象程度,有利于我们完成一个新的网站访问体制 。Subversion能够作为一个扩展模块嵌入到Apache当中,这种方法在可靠性和互动性方面有着很大的优势,可以直接用云服务器关键技术——验证、受权和传送缩小等 。除此之外,Subversion本身也实现了一个轻形的、可单独运转的服务器程序,这一服务器使用了一个自定协议书,能够轻松地选择SSH封装形式 。 一致的数据信息操作 Subversion用一个二进制差别算法描述文件的改变,针对文字(能读)和二进制(不能读)文件其操作方法是一致的,两类的文件缩小保存在版本库中,而差别信息内容则在互联网上双重传送 。 高效率的支系和标识操作 在Subversion中,支系与标识操作的花销与工程大小不相干 。Subversion分支和标识操作只是一种类似硬链接的制度复制全部工程项目,因此这种操作一般只能耗费非常少且相对性固定时间 。 可修改性 Subversion并没有历史时间压力,它是以一系列高质量的分享C程序库的方式进行,具备界定较好的API,这也使得Subversion很容易维护保养,和其他语言的表达互操作能力很强 。 |
![]() 电信下载:Subversion客户端(含安装配置) 移动下载:Subversion客户端(含安装配置) 联通下载:Subversion客户端(含安装配置) |