安装前软件准备

svn服务器
Setup-Subversion-1.8.13.msi
svn客户端
TortoiseSVN-1.8.11.26392-win32-svn-1.8.13.msi
svn插件
site-1.8.zip

首先安装svn服务器与客户端。
安装完成后,验证。
SVN安装使用及eclipse整合SVN_svn

启动svn服务器

svnserve -d -r G:\work\svn\root

SVN安装使用及eclipse整合SVN_svn_02
对于window用户,需要把svn添加到服务中,而不用每次都执行以上命令。

sc create 创建一个服务

SVN安装使用及eclipse整合SVN_随笔_03

sc create svnserveDemo binPath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r G:\work\svn\root"  displayname= "svnserve"

如果需要删除某个服务。
sc delete 删除一个服务

sc delete svnserveDemo

创建之后就可以开到如下一个服务svnserveDemo
SVN安装使用及eclipse整合SVN_随笔_04

创建版本库(工厂)

svnadmin create G:\work\svn\root\Demo

SVN安装使用及eclipse整合SVN_随笔_05
修改Demo/conf目录下svnserve.conf文件
anon-access = write

创建项目并导入到配置库

svn import -m "Demo first" Demo svn://localhost/Demo

SVN安装使用及eclipse整合SVN_svn_06

checkout相应的项目

G:\xxx\xxx\oneday\Demo_d\01>svn co svn://localhost/Demo

SVN安装使用及eclipse整合SVN_svn_07
对项目进行开发,开发完成之后,通过svn commit进行提交。

通过svn commit进行提交

G:\xxx\xxx\oneday\Demo_d\01\Demo>svn ci -m "Demo two"

SVN安装使用及eclipse整合SVN_svn_08

在另一个文件夹下面执行以上同样的checkout,commit操作。

G:\work\xxx\oneday\Demo_d\01\Demo>cd ../../
G:\work\xxx\oneday\Demo_d>cd 02
G:\work\xxx\oneday\Demo_d\02>svn co svn://localhost/Demo
G:\work\xxx\oneday\Demo_d\02>cd Demo
G:\work\xxx\oneday\Demo_d\02\Demo>svn ci -m "02"

SVN安装使用及eclipse整合SVN_随笔_09
在原来的文件夹通过svn update来更新未更新的版本。

svn update来更新未更新的版本

G:\work\xxx\oneday\Demo_d\01\Demo>svn update

SVN安装使用及eclipse整合SVN_随笔_10

基本流程

1、创建工厂
svnadmin create xxx
2、有项目经理创建
2.1 进入项目的文件夹
2.2 使用svn import完成项目的导入
3、由开发人员来checkout相应的项目
4、开发人员可以对项目进行开发,开发完成之后通过svn commit进行提交
5、其他开发人员只要checkout之后,就可以通过svn update未更新的版本
就按照4-5的步骤周而复始的执行。
SVN安装使用及eclipse整合SVN_svn_11

冲突问题

两个开发人员共同修改了一个文件之后并且提交就会产生冲突
1、修改代码之前先进行更新
2、项目经理分配任务的时候需要独立的来考虑(为不同的开发人员分配不同的模块进行开发,这样尽可能的避免冲突)

通过界面进行co,ci,update等操作

svnadmin create G:\work\svn\root\Student

新建一个文件夹,进入文件夹,随便添加一些内容,右键,
import到svn服务器中。
SVN安装使用及eclipse整合SVN_随笔_12

SVN安装使用及eclipse整合SVN_svn_13

checkout
SVN安装使用及eclipse整合SVN_svn_14

commit
SVN安装使用及eclipse整合SVN_随笔_15

update
SVN安装使用及eclipse整合SVN_随笔_16

Log Messages
SVN安装使用及eclipse整合SVN_svn_17

权限问题

为不同的开发人员,创建不同的用于以及权限。

cms-->
1.admin
2.ui-->2人
3.code-->1人
4.test-->1人

svnadmin create G:\work\svn\root\cms

修改conf目录下svnserve.conf文件

anon-access = none
auth-access = write

password-db = passwd
authz-db = authz

passwd文件 创建用户及密码

[users]
# harry = harryssecret
# sally = sallyssecret
jason = 123
tony = 123
ivy = 123
james = 123
lgd = 123
lkx = 123

authz文件 权限设置

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
g_admin = jason
g_ui = tony,ivy
g_code = james
g_test = lgd,lkx

[/]
@g_admin = rw
* = r

[/ui/js]
tony = rw

[/ui/html]
ivy = rw

[/code]
@g_code = rw

[/test]
@g_test = rw

至此,设置完毕,就可以创建相应的文件进行使用了。
SVN安装使用及eclipse整合SVN_随笔_18
项目经理将初始化的目录创建好之后,上传到服务器。其他开发人员checkout出这个工程修改自己权限范围内相应的文件就可以了。

eclipse中使用SVN

首先安装SVN插件,安装完成之后。

eclipse装入svn插件后,插件显示中文

如果希望显示英文

增加eclipse/configuration/config.ini

osgi.nl=en_US

svnadmin create G:\work\svn\root\sources

svnserve.conf文件

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

passwd文件

[users]
# harry = harryssecret
# sally = sallyssecret
root = 123
stu = 123

authz文件

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
[/]
root = rw
stu = r

上传

选择一个工程,右键,Team,share project。
SVN安装使用及eclipse整合SVN_svn_19
SVN安装使用及eclipse整合SVN_随笔_20
SVN安装使用及eclipse整合SVN_svn_21

下载

右键,import,svn
SVN安装使用及eclipse整合SVN_svn_22
SVN安装使用及eclipse整合SVN_随笔_23

SVN安装使用及eclipse整合SVN_svn_24