1.1 基本概念
1.repository:资源库,它是svn的核心,运行于服务端,存储所有文件及其历史变化。
2.workspace:本地仓库:运行于客户端,它是用户的工作空间,从repository检出的文件都放在wrokspace中。
3.trunk:主干,存放项目的主版本或者正在开发中的代码。
4.branches:分支,它是主版本的分支,比如在trunk中发现严重的BUG,或者想在项目中饰演某个版本新技术,都可以在分支中进行。
5.tag:它是只读的,用于对项目的特殊版本进行标记,比如一个milestones,或者一个release。
1.2 windows下安装svn仓库
1.2.1 资源包的下载
下载地址:http://subversion.apache.org/packages.html
1.2.2 环境变量的配置
为了方便使用%Subversion%\bin目录下的工具,最好将bin目录添加到环境变量path中。
1.2.3 svn配置文件的修改
1.创建资源库:
1)新建文件夹 F:\svnrepos
2)执行命令:通过cmd进入dos窗口:svnadmin create F:\svnrepos
2.修改配置文件:
1)修改文件 conf/svnserve.conf,将下面这行的注释取消(即将这个命名启用,passwd是conf下面文件夹的名字)
password-db = passwd
2)修改文件 conf/passwd,添加账号
3.启动svn资源库:
执行命令:svnserve –d –r F:\svnrepos
1.3 svn客户端的安装
1.3.1 tortoise SVN软件包的下载
1.3.2 svn的安装
下载之后直接安装就好了,但是要注意这里,选择安装所有的命令行客户端工具,默认是不安装的,如果不安装,svn中的bin目录下就会没有svn.exe,这个待会会用到,所以一点要注意哦。一定,一定,一定要安装(都是坑啊)
然后一步步根据提示安装就行了。
1.4 tortoisesvn的常用命令的作用
1.5 eclipse中集成svn
1.普通安装:将插件包里的plugins和features两个文件夹中的文件拷贝到Eclipse安装目录的对应位置;新版本直接放到dropins目录下即可。
2.在线安装:点击Eclipse菜单Help -> Install New Software,通过插件的远程或本地URL进行安装
3.link安装:
1)在Eclipse安装目录新建links文件夹;
2)在links文件夹下创建.link文件,文件名任意。.link文件中的path指向插件所在位置;
3)确认插件的目录结构,插件里是eclipse文件夹,eclipse文件夹中是plugins和features。
Xxx.link文件的内容为:
Path=xxxx/svn-chajian-1.1.0
1.6 svn的提交,检出
1.在eclipse浏览资源仓库:
依次点击Window – Show View – Other – SVN – SVN资源库,打开SVN资源库视图。在空白处点击右键,选择【新建】-【资源库位置】,在弹出窗口中输入SVN资源库的URL即可进行浏览。
2.在eclipse中提交项目:
在项目名称上点击鼠标右键,依次选择【Team】-【Share Project】,在弹出的窗口中,资源库类型选择【SVN】,接着指定项目提交到SVN资源库的哪个位置。
3.从svn中检出项目:
在SVN资源库视图浏览服务器上的项目,在项目名称上点击右键,在弹出的菜单中选择【检出为】,即可从SVN资源库中检出该项目。
4.同步时图:
在Eclipse中,对项目进行任何SVN操作前,都应养成良好的习惯,先打开同步视图(在项目名称上点击鼠标右键,依次选择【Team】-【与资源库同步】)。
Incoming Mode:只显示SVN资源库中比本地新的文件,意味着需要执行Update操作。
Outgoing Mode:只显示本地比SVN资源库中新的文件,意味着需要执行Commit操作。
Incoming/Outgoing Mode:以上两者并存显示。
Conflicts Mode:显示所有产生冲突的文件。
1.7 svn中的冲突以及解决办法
1产生的原因:
开发人员A、B同时从SVN资源库中检出文件Test.java,A先对Test.java做了修改并成功提交,B也对Test.java做了修改,B在提交时就会产生冲突。这也就意味着,在提交时,如果本地修改之前的版本与SVN资源库中的版本不一致就会产生冲突。
2解决的办法:
开发人员B在Commit Test.java(Revision 4)时遇到了冲突,有两种方法可以解决冲突。
1.8 svn的标准结构
1.9 eclipse中的svn修改用户名配置
依次点击Eclipse的window > Preference > Team > SVN,在右侧面板中,查看当前使用的SVN接口类型。
1.如果使用的SVN接口是JavaHL,找到并删除目录:C:\Users\用户名\AppData\Roaming\Subversion\auth
2如果使用的SVN接口是SVNKit,找到并删除文件:%eclipse%\configuration\org.eclipse.core.runtime\.keyring