1.1 基本概念

1.repository:资源库,它是svn的核心,运行于服务端,存储所有文件及其历史变化。

2.workspace:本地仓库:运行于客户端,它是用户的工作空间,从repository检出的文件都放在wrokspace中。

3.trunk:主干,存放项目的主版本或者正在开发中的代码。

4.branches:分支,它是主版本的分支,比如在trunk中发现严重的BUG,或者想在项目中饰演某个版本新技术,都可以在分支中进行。

5.tag:它是只读的,用于对项目的特殊版本进行标记,比如一个milestones,或者一个release。

svn import本地仓库 svn有本地仓库吗_svn import本地仓库


1.2 windows下安装svn仓库

1.2.1 资源包的下载

下载地址:http://subversion.apache.org/packages.html

svn import本地仓库 svn有本地仓库吗_资源库_02

 

1.2.2 环境变量的配置

为了方便使用%Subversion%\bin目录下的工具,最好将bin目录添加到环境变量path中。

svn import本地仓库 svn有本地仓库吗_svn_03

 

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,添加账号

svn import本地仓库 svn有本地仓库吗_资源库_04

 

3.启动svn资源库:

执行命令:svnserve –d –r F:\svnrepos

1.3 svn客户端的安装

1.3.1 tortoise SVN软件包的下载

svn import本地仓库 svn有本地仓库吗_svn_05

 

1.3.2 svn的安装

下载之后直接安装就好了,但是要注意这里,选择安装所有的命令行客户端工具,默认是不安装的,如果不安装,svn中的bin目录下就会没有svn.exe,这个待会会用到,所以一点要注意哦。一定,一定,一定要安装(都是坑啊)

svn import本地仓库 svn有本地仓库吗_svn_06

然后一步步根据提示安装就行了。

1.4 tortoisesvn的常用命令的作用

svn import本地仓库 svn有本地仓库吗_svn_07

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】-【与资源库同步】)。

svn import本地仓库 svn有本地仓库吗_资源库_08

 

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资源库中的版本不一致就会产生冲突。

svn import本地仓库 svn有本地仓库吗_svn import本地仓库_09

 

2解决的办法:

 

开发人员B在Commit Test.java(Revision 4)时遇到了冲突,有两种方法可以解决冲突。

 

svn import本地仓库 svn有本地仓库吗_svn_10

1.8 svn的标准结构

svn import本地仓库 svn有本地仓库吗_svn import本地仓库_11

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