随笔-15  评论-79  文章-0  trackbacks-0

    很早以前用过VSS的人都知道,相比之下SVN的确是个好东东。他以副本式的版本管理模式很好的解决了VSS单数据源下的签入签出混乱问题。但是最近发现很多人都不会装SVN,经理在这里写个博客跟大家分享一下。
环境:
Win7系统
Myeclipse 8.5GA
JDK1.6
一、准备工作
首先,当然是下载软件安装包。(经理这里以svn1.6为例)这里需要2个安装程序和1个解压包。


Setup-Subversion-1.6.6.msi这个是SVN服务器。
(你可以在这里 http://subversion.tigris.org 下载到最新版本)

TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi是SVN 版本控制系统的一个免费开源客户端。
(可以在这里下载   http://tortoisesvn.net/downloads )

site-1.6.12.zip是Myeclipse的插件包。
(可以在这里下载 subclipse.tigris.org

二、安装svn服务器
    首先安装svn服务器(也就是Setup-Subversion-1.6.6.msi这个),按照常规安装就OK了。然后把tortoise也安装起来(也就是TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi这个)。
在安装tortoise的时候会提示重启,这里最好重启下。

这是经理的安装目录
Setup-Subversion-1.6.6.msi --> Subversion目录
TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi --> TortoiseSVN目录
svnroot目录是什么呢?接着往下看

三、建立SVN资源库(Repository)
svnroot是经理建立的svn资源库根目录,然后在这个目录里建立了一个名为repos的目录。(这个目录是经理打算做svn资源库的目录)

然后在这个目录点右键->TortoiseSVN->Create repository here



当看到被建立的repos目录中多了很多文件夹后证明资源库创建成功。
在网上也看到有用cmd命令来创建的,如svnadmin create D:\svn\repository

四、配置用户和权限
 打开刚刚建立的资源库文件夹(repos),里面有一个名为conf的文件夹,这个文件夹里都是svn的配置信息。首先打开svnserve.conf文件
这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行。经理对这个文件主要修改3处
把" #anon-access = read"改为"anon-access = none"
(他表示没有经过验证的用户无任何权限,之前的意思是没经过验证的用户可以进行读操作。经理强烈建议该成none,不然别人没有验证的人都可以看到项目文件)
把" #auth-access = write"去掉#为"auth-access = write"
(通过验证的用户有写操作,写操作是包含读操作的)
把" #password-db = passwd"去掉#为"password-db = passwd"
(密码数据存放到passwd文件中)

打开passwd文件
设置一个用户名如 manager=jingli
还有一个文件authz
这个文件主要是用来针对不同的目录给用户分配不同的权限的。
如:
[groups]
team1 = manager,staff
表示划定一个小组,组员有manager和staff用户

[repository:/baz/fuz]
@team1= rw
 * = r
表示team1这个组对资源有读写权限,资源对所有人有读权限

[/foo/bar]
manager = rw
* =r
也可以像这样对个人设置权限,manager有读写权限,该资源对所有人有读权限
这些可以根据个人需要修改

五、运行svn服务器
在安装的Subversion目录下有个bin目录里svnserve.exe,我们直接运行这个文件是无效的。需要在控制台来启动他。直接在cmd命令中输入svnserve -d -r D:\SVN\svnroot这样服务就启动了(注意,这里指定的是svnroot文件即资源根目录,而不是资源目录repos)。当然你关闭dos窗口的时候svn服务也就关闭了。svn的所有操作都需要在这个服务器启动的基础上进行。但是一直开着这个dos命令窗口很不爽,所以经理在这里写个程序让他开机自动启动。
首先我们需要为svnserve创建一个系统服务。
以经理本机的安装目录为例,在cmd命令行输入

sc create SVNServer binpath= "D:\SVN\Subversion\bin\svnserve.exe --service -r D:\SVN\svnroot" 
displayname
= "SVNServer" depend= Tcpip start= auto   
pause

binpath指svnserve.exe的路径
(注意:如果你的路径里有空格记得要在binpath的头尾用转义字符/"把整个个binpath框起来,D:\SVN\svnroot指svn资源库根目录)
displayname指服务名称
depend指协议是tcpid
start指开机自动启动
注意:以上的=后面的一个空格千万不要丢了

然后我们打开服务可以看到我们的服务已经是自动启动了


六、安装subeclipse插件
打开之前下载的site-1.6.12.zip文件可以看到里面有features、plugins两个文件夹
用之前我讲过的Myeclipse安装插件的方法安装就可以了
参考:
(http://www.blogjava.net/zhangyuan/archive/2010/07/28/327371.html)


在这里要注意一点
安装插件时要去掉features中的org.tigris.subversion.subclipse.mylyn_3.0.0.jar文件
去掉plugins中的org.tigris.subversion.subclipse.core_1.6.8.jar和org.tigris.subversion.subclipse.mylyn_3.0.0.jar
经理用Myeclipse8.5配这一套svn如果不删这些文件的话,启动Myeclipse时会报错


这样SVN就搭建好了..



posted on 2010-07-28 23:27 张元Won 阅读(31265) 评论(13)  编辑  收藏 所属分类: Myeclipse

评论:
# re: Myeclipse 8.5 配置SVN 2010-07-30 11:02 | 凡客
收藏了,好东西呀  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2010-07-30 14:06 | え经理え
谢谢... 有好东西再分享...@凡客
  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2010-07-31 15:50 | kasir.wang
不错。。。  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN[未登录] 2010-08-31 22:21 | ddd
good  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN[未登录] 2010-08-31 22:24 | ddd
我想问下是不是一定要想安装好svn的服务器和客户端再安装插件才能成功啊?

我按照你的都安装好了 myeclipse里也可以看到svn了 服务器和客户端的安装目录都和你说的一样,可是我在把项目共享到svn时新建资源库填写的url总是说错误!

麻烦帮我解决下 谢谢!  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2010-09-01 10:12 | え经理え
对,我当时找资源库的时候url也总是说错误..
我的svn资源库创建在这个路径
D:\SVN\svnroot\repos
我用myeclipse插件获取svn资源库位置路径是svn://localhost/repos/sharesin
sharesin是我共享的一个资源项目
不知道这些对你有没有帮助...

@ddd
  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2010-11-15 15:01 | liujx
您好! 我用eclipse创建资源库时url 总是不对,

我用svn服务创建的资源库:E:\svn\repos1
eclipse创建资源库时url写成:svn://localhost/repos1

提示:找不到这个资源库。请问这个url我该如何写呢?
  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2010-11-17 17:39 | え经理え
首先要问你的svn服务是否启动了,如果你启动了服务那要看你启动的服务是怎么写的,如果你的在启动服务中加了你的那个svn文件夹路径,那么你的资源目录也要加svn路径
@liujx
  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN[未登录] 2011-04-25 17:29 | ok
我想问下我在CMD中运行sc create SVNServer binpath= "D:\SVN\Subversion\bin\svnserve.exe --service -r D:\SVN\svnroot"
displayname= "SVNServer" depend= Tcpip start= auto
pause
的时候我本来的路径是是E盘的,但是忘了改了,现在我的
动服务中那个svn文件夹路径是D盘的,导致启动不了,找不到路径,那我如何才能修改这个路径呢  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2011-05-16 16:14 | lixiujuan
很棒啊,谢谢!!!  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2011-09-05 14:51 | xufeng52645264
按照你的方法一步一步地来还是没有配置成功,如果删除features中的org.tigris.subversion.subclipse.mylyn_3.0.0.jar文件
以及去掉plugins中的org.tigris.subversion.subclipse.core_1.6.8.jar和org.tigris.subversion.subclipse.mylyn_3.0.0.jar
启动后在MyEclipse 中就找不到SVN否则就会在启动时报错“The following software could not be provisioned:……mylyn3.0.0:missing:bundle”并且在新建资源库时提示"svn: Can't connect to host 'localhost': 由于目标机器积极 Network connection closed unexpectedly",这是怎么回事,已经困扰了我好几天了。  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2012-04-25 14:52 | classic
displayname指服务名称
depend指协议是tcpid
start指开机自动启动

这三个在哪找呀 我启动老报错
D:\>displayname= "SVNServer" depend= Tcpip start= auto
'displayname' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
如何解决?  回复  更多评论
  
# re: Myeclipse 8.5 配置SVN 2012-09-12 11:07 | 行行行
我在配置myeclipse时不去掉那三个包,启动服务器也没有报错啊!!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: