基于windows平台的SVN教程( 三 )


基于windows平台的SVN教程

文章插图
 
③ commit,OK 。
解决方法 2:
直接修改Demo1.java,把其中的一些标记删除即可(前提是服务器上的和本地的内容都需要保存) 。
4、TortoiseSVN图标
基于windows平台的SVN教程

文章插图
 
部分图标的说明:
  • normal:状态正常
  • modified:对本地的副本做了修改,需要提交到服务器
  • conflicted:有冲突
  • readonly:文件是只读的,要修改必须先获取锁
  • locked:获得锁
  • deleted:计划从版本库中删除
  • added:已被计划纳入版本控制
  • non-versioned:未纳入版本控制
5、认证与授权
所谓认证(Authentication),就是给使用该仓库的用户分配一个用户名和密码,用户在连接仓库的时候需要输入用户名/密码 。授权(Authorization)就是为指定用户分配特定的权限,如只读、读写等 。认证与授权的设置需要修改仓库conf目录下的文件,如下:
  • authz:认证文件,分配用户名、密码 。
  • passwd:授权文件,为现有用户分配组,并为组分配权限 。
  • svnserve.conf:指定认证、授权文件的位置 。
1)修改conf/svnserve.conf
基于windows平台的SVN教程

文章插图
 
2)修改conf/passwd
基于windows平台的SVN教程

文章插图
 
3)修改conf/authz
基于windows平台的SVN教程

文章插图
 
这样,当用户再次执行checkout、commit、update时,就会要求认证 。
五、subclipse插件的使用
Eclipse提供了集成SVN的插件 — subclipse,本文重点关注subclipse的使用 。Eclipse中插件的安装不是这儿的重点 。安装成功后,可以看到下面的视图(Windows — Show View)和透视图(Windows — Open Perspective):
基于windows平台的SVN教程

文章插图
 
下面的操作使用了4.1节中的资源库(repoDemo2) 。
1)关联资源库
进入SVN资源库研究透视图,在SVN资源库面板上右键 — 新建 — 资源库位置,URL中输入:svn://192.168.1.6/repoDemo2 。
2)共享项目:share Project
新建一个Java Project,名称为svnProject,在项目中新建一个Demo1.java 。
共享项目:在项目上右键 — Team — Share Project…,将项目导入到repoDemo2 。在输入文件夹名时,一般选择使用项目名称作为文件夹名 。
3)提交:Commit
共享之后,项目并没有提交到仓库中,此时在项目上右键 — Team — Commit,就可以将现在的项目提交到仓库中 。
4)检出:Checkout
新建一个workspace,模拟另外一个用户(user2) 。首先还是关联资源库,在svnProject上右键 — 检出为 。
基于windows平台的SVN教程

文章插图
 
在Demo1.java中新增一个字段并提交(在user2的workspace中做的) 。
5)更新:
切换到user1的工作空间,更新项目 。不多说,Team — update
6)冲突处理
冲突的产生见4.3节 。原则:提交之前先更新 。
4.3节中的两种解决方法也适用于subclipse,解决方法1对应着subclipse中的Synchronize视图(View),解决方法2类同 。
六、SVN与Apache整合(用到再看)
业务场景:在上面的Demo中,SVN仓库对外提供服务都是通过SVN协议,最直观的体现就是URL都是以svn://开头的 。在开源项目中使用的SVN仓库对外提供服务时都是使用http协议,此时需要结合Apache服务器 。
1)安装Apache服务器(假定安装在C:Apache2.2)
2)修改C:Apache2.2confhttpd.conf释放掉注释和增加红色边框的两行(有顺序要求)
基于windows平台的SVN教程

文章插图
 
3)从SVN安装目录的bin目录下,拷贝mod_authz_svn.so和mod_dav_svn.so到C:Apache2.2modules目录中
4)用Apache服务器的htpasswd创建密码文件
基于windows平台的SVN教程

文章插图
 
5)拷贝project1_password到E:repositorysvnproject1conf目录下
6)拷贝以下内容到Apacheconfhttpd.conf最后
基于windows平台的SVN教程

文章插图
 
7)访问http://localhost/svn/flyne/trunk即可访问SVN仓库 。


推荐阅读