大家好,今天小编来为大家解答以下的问题,关于subversion,subversion的安装与使用。这个很多人还不知道,现在让我们一起来看看吧!
Subversion为什么提示错误
提示out of date是由于本地版本与svn上版本不同造成的。
解决方法:
步骤1、 team–>update。更新版本。
步骤2、team–>Show Tree Conflict–>标记"冲突已解决"
步骤3、team–>commit。提交即可。
扩展资料:
SVN的主要功能:
(1)目录版本控制
CVS只能跟踪单个文件的历史,不过 Subversion实作了一个"虚拟"的版本控管文件系统,能够依时间跟踪整个目录的变动。目录和文件都能进行版本控制。
(2)真实的版本历史
自从CVS限制了文件的版本记录,CVS并不支持那些可能发生在文件上,但会影响所在目录内容的操作,如同复制和重命名。
除此之外,在CVS里你不能用拥有同样名字但是没有继承老版本历史或者根本没有关系的文件替换一个已经纳入系统的文件。在Subversion中,可以增加(add)、删除(delete)、复制(copy)和重命名(rename),无论是文件还是目录。
所有的新加的文件都从一个新的、干净的版本开始。
(3)自动提交
一个提交动作,不是全部更新到了档案库中,就是不完全更新。这允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。
(4)纳入版本控管的元数据
每一个文件与目录都附有一组属性关键字并和属性值相关联。你可以创建,并储存任何你想要的Key/Value对。属性是随着时间来作版本控管的,就像文件内容一样。
(5)选择不同的网络层
Subversion有抽象的档案库存取概念,可以让人很容易地实作新的网络机制。 Subversion可以作为一个扩展模块嵌入到Apache HTTP服务器中。
这为Subversion提供了非常先进的稳定性和协同工作能力,除此之外还提供了许多重要功能:举例来说,有身份认证,授权,在线压缩,以及文件库浏览等等。还有一个轻量级的独立Subversion服务器,使用的是自定义的通信协议,可以很容易地通过 ssh以 tunnel方式使用。
(6)一致的数据处理方式
Subversion使用二进制差异算法来异表示文件的差异,它对文字(人类可理解的)与二进制文件(人类无法理解的)两类的文件都一视同仁。这两类的文件都同样地以压缩形式储存在档案库中,而且文件差异是以两个方向在网络上传输的。
(7)有效的分支(branch)与标签(tag)
在分支与标签上的消耗并不必一定要与项目大小成正比。 Subversion建立分支与标签的方法,就只是复制该项目,使用的方法就类似于硬连接(hard-link)。所以这些操作只会花费很小,而且是固定的时间。
(8)Hackability
Subversion没有任何的历史包袱;它主要是一群共用的 C程序库,具有定义完善的API。这使得 Subversion便于维护,并且可被其它应用程序与程序语言使用。
subversion的安装与使用。
如果只是一个人用的话不需要装subversion,在使用时在URL of repository栏内填写你设定的repository文件夹的绝对路径就行。而使用subversion的话在路径栏里则填写的是svn://hostIP/+repository文件夹的相对路径。subversion就是一个简单的服务器,如果在局域网内搭建svn版本控制的话使用它就很方便,如果只是自己用就没必要,配置过程还是比较麻烦的,我当时就配了一天,出了好多问题。如果你特想用的话,下面是我的一些心得。
1.下载并安装TortoiseSVN。
2.下载并安装Subversion。
注意Subversion的版本号要与TortoiseSVN尽量对应,若Subversion的版本过低则TortoiseSVN不能正常地在Subversion上进行操作。我使用的tsvn是1.7.1,一开始用1.3的subversion就不行,后来重新装了个1.7版本的subversion就好了
3.建立版本库。
创建一个目录作为版本库,对使用版本控制的工程文件进行备份。首先在一个合适的位置创建版本库目录,如”d:/Mydocument/SVNRepository”;右键该文件夹选择TortoiseSVN->Create repository here。
4.配置版本库权限。
版本库建立好后在该目录下会自动生成几个文件,其中conf目录下的文件为权限配置文件。修改svnserve.conf文件:
[general]
anon-access=none
auth-access=write
password-db=passwd
第一句禁止匿名用户对版本数据库的读写,第二句运行授权用户对版本数据库的读写,第三行标明授权用户的数据库文件名。
修改passwd文件
[users]
【username】=【password】
每行都是一个用户名=用户密码。
注意:删除原始文件中的#,#为注释的意思,如#auth-access=write不会起任何作用。
不要取消svnserve.conf文件中[sasl]下的注释,否则在连接服务器时会出现missing SASL mechanisms的错误。
5.启动Subversion服务器
Subversion可以通过控制台启动,输入svnserve–d就可以启动服务器,但是一旦该控制台关闭,服务器也就关闭了,这样做非常不方便。我们可以将其作为window服务加入注册表中,这样每次Window启动时会自动启动Subversion服务器了。在控制很多教程在介绍Subversion启动时提到了SVNServices.exe,这个程序实质上就是做这件事请,我们完全可以不使用该程序,直接在控制台下输入一段简单的指令即可。
假设你现在Subversion的安装目录为”D:/Program Files/Subversion”,版本库位置为”d:/Mydocument/SVNRepository”,现在打开控制台,输入:
sc create SVNService binpath=” D:/Program Files/Subversion/bin/svnserve.exe--service–r d:/Mydocument/SVNRepository” displayname=”SVNService” depend= Tcpip start=auto
注意:每个=后面都必须有空格如start= auto,否则会出错。
回车后成功建立服务,打开任务管理器,在服务标签下可以找到SVNService的服务。
“–r d:/Mydocument/SVNRepository”这句话的作用是将服务器默认路径设置到改目录下,比如现在你需要从SVN服务器CheckOut一个工程,该工程在d:/Mydocument/SVNRepository/Project1目录下,那你在TortoiseSVN路径选择中需要输入svn://hostIp/d:/Mydocument/SVNRepository/Project1,而加入该句话后你只需要输入svn://hostIp/Project1即可,既方便又隐藏了该项目在服务器中的绝对路径。
6. Import项目工程
启动好Subversion服务器后就开始向服务器中导入工程数据了。右键工程根目录或文件,选择TortoiseSVN-> Import进行导入,导入路径URL选择svn://hostIp/ProjectName即可。此时如果出现无法连接目标主机错误,检查Subversion服务器是否开启,在任务管理器中找到任务->SVNService,右键选择启动服务。如果出现文件版本不一致,则意味着Subversion版本太低,重新下载匹配当前TortoiseSVN的版本。如果出现SASL机制不匹配则在svnserve.conf文件中将[sasl]下的条目全部用#注释掉。
7.使用SVN
现在你便可以在局域网内的任何一台装有TortoiseSVN的主机上进行项目开发了。使用CheckOut从服务器上下载工程,Update更新工程,Commit提交改动。
subversion-repository是什么意思
subversion-repository即SVN中心版本库。
其中Subversion即SVN,是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。
Repository是指数据的中央存储仓库,Repository以filesystem tree的形式存放信息。若干clinet(客户端)连接到repository并读、写文件,因此SVN是一个典型的client/server架构。
【单词含义】
subversion英 [səb'vɜ:ʃn]美 [səbˈvɚʒən,-ʃən]
n.破坏;(活动)颠覆;覆灭,瓦解
repository英 [rɪˈpɒzətri]美 [rɪˈpɑ:zətɔ:ri]
n.仓库;贮藏室;博物馆;亲信