SVN的完整配置----团队开发

一、工具:
1)服务器端: Subversion (v1.6.5.);
2)客户端工具:TortoiseSVN 及simplified Chinese Language pack;
3)eclipse端工具:Subclipse (Eclipse) (可在线更新);
三者的下载地址是:http://subversion.tigris.org/
二、下载并安装:
1)服务端安装:next-->一直到底,想改路径的就改,安装没什么交代的!
2)客户端安装:[url http://tortoisesvn.net/downloads]【下载】[/url],安装TortoiseSVN,想改路径就改,装完后需要重启系统。下载地址及简体中文语言包地址 http://tortoisesvn.net/downloads
三、配置:
1)建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:svndemorepository
就会在目录E:svndemorepository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:svndemorepository下"右键->TortoiseSVN->Create Repository here…“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
2)配置用户和权限
来到E:/svndemo/repository/conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret

3)运行独立服务器
在任意目录下运行:
svnserve -d -r E:/svndemo/repository 我们的服务器程序就已经启动了。
4)初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:/svndemo/initproject,目录下有一个readme.txt文件:右键->TortoiseSVN->[color=red]Import…[/color] URL of repository输入“svn://localhost/trunk” ok 完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
5)基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:/svndemo/wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit…,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
最后,所有的内容都已经录制为动画文件,大家可以参考。
关于本教程大家有什么意见,可以在这里回复。


【补充】配置SVN

1. 配置服务器

打开仓库目录下的 conf/svnserve.conf 文件
********************************************
[general]
# anon-access = read
# auth-access = write

password-db = passwd
authz-db = authz
--------------------------------------------

去掉 password-db = passwd 和 authz-db = authz 的注释
前两行为匿名用户的权限
后两行为启用配置文件来对用户和权限进行管理
注意:所有配置信息必须[color=red]顶格[/color]
[注]:通过实验,在check out时,没有认证框,所以也把anon-access = none;这样保证import和check out都要输入用户名。

2. 配置用户
打开仓库目录下的 conf/passwd 文件
[users]
admin=admin 等号左边为用户名,右边为密码
新增用户只需要在这里直接增加即可,如: oksonic = 123456
增加好用户以后需要重启SVN服务器

3. 配置工作组
打开仓库目录下的 conf/authz 文件,文件内容如下:
********************************************
# [groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
--------------------------------------------

因为所有配置信息都被注释掉了,所以所有的用户都有管理员的权限(所有目录的读/写)
[groups] 这里的内容为组的配置

把已经建好的两个用户合并为一个分组,用户名之内以逗号分隔,配置内容如下:
********************************************
[groups]
admin_group = admin,oksonic
--------------------------------------------
4. 配置权限
SVN 的权限只有两个,1 是只读,2 是读/写
例:
********************************************
[/]
# 指定所有的仓库默认只读
* = r

# 指定 admin_group 组的用户对库中所有内容具有读/写权限
@admin_group = rw
--------------------------------------------

[/] :这里代表的仓库的目录,此为根目录
* = r : * 号代表所有的用户, r 为只读
现在需要建一个项目到仓库中

1. 在桌面建一个文件夹,如:SVN测试
2. 在目录中新建几个文件和文件夹以作测试
3. 使用客户端工具把目录中的所有文件加入到SVN服务器中的 test 目录中

【】
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin_domain=leh,admin
group1=dns,lek
[/]
@admin_domain=rw
*=r
[dns2:/] //这里的dns2是个版本库
@group1=rw
*=

---------
如果repoPath=D:\xyz\svn-win32-1.6.3\repository,repository下面有多个工程:demo,project1,project2

为了统一管理权限,权限配置文件 passwd和authz都在repoPath目录下,每个工程的版本库中的conf文件夹下只需要svnserve.conf文件,并设置:
password-db = ..\..\passwd
authz-db = ..\..\authz
realm = my_repos(统一用它来使各个版本库之间共享版本库的密码缓存)

Java代码
[groups]
admin = administrator,admin1
coder = niecoder,coder1
programer = user1
guest = guest

[/]
@admin = rw

[demo:/]
@coder = rw
@guest = r
user999 = rw

[demo:/src]
@programer = rw

[project1:/]
@programer = rw
* =
[project2:/]
user888 =


三、 在Eclipse中使用Subversion:Subclipse

  前面介绍了如何在资源管理器中直接使用Subversion进行协同功能,然而在实际的开发工作中,我们更多的时候需要直接在开发工具中使用协同及版本控制功能。下面简单介绍如何在Eclipse中使用Subversion进行协同开发。
http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

1.在线更新地址: http://subclipse.tigris.org/update_1.6.x ;
或者下载下来之后,解压缩复制到Eclipse目录即可
2.启动程序后在Eclipse配置项的Team里面就会多出SVN,就可以进行配置了。
3.想要提交一个项目,对项目点击右键Team--Share project就可以将项目导入SVN了。
需要注意的是,请不要将动态生成的目录添加到SVN,否则其他人Check out的之后,再Update容易出错,例如classes目录(还有.svn文件),不需要提交上去,本地就可以了。

先向版本库中加入一个Eclipse工程,我这里是随便搭建的一个WEB工程 SVNtest ,将它导入版本库svn://localhost/ts(这使用本机装的版本库,其他机器就要打ip地址,之前说过)。导入后用版本库浏览器找到你导入的工程目录,把其下WebRoot\WEB-INF\classes目录删掉(注意:不删出以后会报错,原因后面再讨论)这些初始化的操作都用客户端工具完成的,毕竟插件的功能还不是那么强大。
重新部署工程时会将文件夹WEB-INF/classes下的内容全删了,包括".svn"这个文件夹,从面导致SVN找不到这个文件夹的信息,于是报错。 解决的方法是在SVN仓库内将classes下的内容清空,然后在确保本地工程已完全提交的情况下,将本地工程包括文件删除,再从SVN仓库中重新取出。 导致此问题的原因善不明确,估计是往这个文件夹手动添加了文件。

想要对比本地和服务器上的源代码,请使用Team--Synchronize with Repository,列出不同的文件之后,双击,既可以对比两个文件。

WebService项目会生成一个.apt_generated目录,里面包含了一些源代码,提交的时候不需要提交上去,MyEclipse在获得SVN的项目之后,会自动生成这个目录和底下的文件。


其它参考网址:

1、Subersion和TortoiseSVN的简单使用[http://www.svn8.com/svnpz/20090625/6839.html]
2、http://www.svn8.com/SVNSY/20090901/9085.html
3、http://www.svn8.com/SVNSY/20090825/8889.html
4、http://www.svn8.com/svnpz/20090625/6850.html【】
5、http://www.uml.org.cn/pzgl/200904106.asp【eclipse】
6、http://hi.baidu.com/jessiji82/blog/item/02930c9ae8af49b2c8eaf420.html
7、http://hi.baidu.com/yangwen%5Fyw/blog/item/06854f102d4b0afac3ce790a.html
8、http://blog.163.com/ibm.net/blog/static/117900116200942793517206/ 【】
9、http://www.scmlife.com/bbs/thread-16675-1-1.html【权限设置】
10、http://xgene.iteye.com/blog/442322【权限设置】
11、http://blog.163.com/spookfcy/blog/static/24038347200842704134842/【权限设置】
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值