ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:187.56KB ,
资源ID:11096067      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11096067.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SVNSubversion详解.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SVNSubversion详解.docx

1、SVNSubversion详解1 SVN服务器配置下载SubVersion,有安装版和解压缩版设置svn_homebin为path创建资源库,假设资源库为F:SVNRepositoryRootrepository,,则要分两步创建,先mkdir d:svnroot,这个可以使用操作系统命令创建然后用svn命令,svnadmin create F:SVNRepositoryRootrepository配置svn_homeconfsvnserve.conf,启用 anon-access = read,并添加anon-access= write,修改配置文件特别要注意:默认没有anon-access

2、= write,默认时anon-access=read下面是# auth-access = write去掉注释符#后,要使得anon-access顶格,即要去掉前面的空格,否则可能报需要option的错误。当出现目标机器积极拒绝,无法连接或svn: Cant connect to host .时,请依次检查下面各项1,服务器有没有运行,有没有打开相应端口如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口如果服务器是apache,检查apahce是否运行,是否打开80端口检查时可以在服务器运行netstat -na看看相应端口是否在LISTEN2,防火墙有没有开

3、放相应端口3,客户端是否可以连接服务器的相应端口使用命令telnet 服务器IP 相应端口如:telnet 192.168.0.1 3690 有效,可测试端口是否打开启动服务,导入导出都是在服务启动后才能使用的。启动服务两种方式:命令窗口,启动后则不能关闭该命令窗口,与Tomcat一样svnserve -d -r F:SVNRepositoryRootrepository设置成Windows服务形式,这中非常好,可以设置随操作系统启动sc create svnserve binPath= E:Program Filessvnbinsvnserve.exe -service -root F:SV

4、NRepositoryRootrepository displayname= Subversion depend= tcpip start= auto导入项目,先在svn资源库中创建对应得虚拟目录,然后导入F:testsvn mkdir -F F:SVNRepositoryRootlog.txt svn:/localhost/testF:testsvn import -f F:SVNRepositoryRootlog.txt svn:/localhost/test 导入时需给出一个记录日志的文件,如上即可,否则正确不能执行该命令。接下来的操作可以用Tortoise或Eclipse插件轻松实现2

5、 权限管理2.1 概念解释比如有两个仓库aa和bb,管理员有两个admin和administrator用户访问控制文件内容如下:groupsadmin=admin,administrator /组admin有两个成员admin和administrator/*=r /每个用户都有读权限aa:/ /在仓库aa根目录下admin=r /管理员admin有读权限administrator=rw /管理员administrator有读写权限bb:/ /在仓库bb根目录下admin=r /管理员admin有读权限administrator=rw /管理员administrator有读写权限bb:/db /

6、在仓库bb的db文件目录下admin=rw /管理员组admin有读写权限2.2 详细步骤用SVN(Subversion)取代CVS的呼声越来越高。SVN也确实比CVS优胜很多,没有辜负众望。在日常工作中,如何配置好和利用好SVN,是很值得花些时间去研究研究的。在我应用SVN的这段时间里,更喜欢的是用svnserve加客户端来搭配使用。也就是将svnserve配置成为一个服务端,然后在Windows 下安装个TortoiseSVN 。这是一个不错的搭配选择。1 SVN安装1.1 FreeBSD下安装SVN1.1.1 安装SVN# cd /usr/ports/devel/subversion#

7、make NOPORTDOCS=YES -DWITH_SVNSERVE_WRAPPER install clean1.1.2 创建用户# pw useradd -s /bin/sh -d /var/empty -n svn1.2 Linux下安装SVN1.2.1 下载及编译安装SVN# wget http:/subversion.tigris.org/downloads/subversion-1.3.2.tar.bz2# tar -jxvf subversion-1.3.2.tar.bz2# cd subversion-1.3.2# ./configure -with-zlib -enable

8、-all-static 1.2.2 创建用户# useradd -d /var/empty svn2 svnserve配置2.1 创建仓库2.1.1 创建仓库存放目录# mkdir -p /opt/svn/repos,etc2.1.2 创建SVN仓库# svnadmin create /opt/svn/repos/source1# svnadmin create /opt/svn/repos/source2# chown -R svn:svn /opt/svn/仓库名称可以根据自己的规划或喜好设定。2.2 配置仓库SVN的svnserve对于每个仓库,有一个独立的配置文件和独立的用户、权限管理

9、。在这里仍然要保持配置文件svnserve.conf的独立,但是用户、权限管理是用统一的一个文件来存储。这样方便以后的管理和维护。另外要注意,即使svnserve服务已经运行,修改配置文件或者用户、权限管理文件,保存后马上生效,不需要重启服务。2.2.1 配置source1仓库进入仓库目录# cd /opt/svn/repos/source12.2.2 修改配置你可以直接删除默认的svnserve.conf文件,然后使用下面的配置:# vi svnserve.confgeneralanon-access = none auth-access = writepassword-db = /opt/

10、svn/etc/svn-user.confauthz-db = /opt/svn/etc/svn-authz.confrealm = My First Repository说明:anon-access = none #不允许匿名用户访问auth-access = write #通过验证的用户可以读和写password-db = /opt/svn/etc/svn-user.conf #用户保存文件authz-db = /opt/svn/etc/svn-authz.conf #权限管理文件realm = My First Repository #仓库名称2.2.3 配置source2仓库# cd

11、/opt/svn/repos/source22.2.4 修改配置你可以直接删除默认的svnserve.conf文件,然后使用下面的配置:# vi svnserve.confgeneralanon-access = none auth-access = writepassword-db = /opt/svn/etc/svn-user.confauthz-db = /opt/svn/etc/svn-authz.confrealm = My Second Repository如果有更多的仓库,可以类推配置。-svnserve.conf的原始内容:# This file controls the co

12、nfiguration of the svnserve daemon, if you# use it to allow access to this repository. (If you only allow# access through http: and/or file: URLs, then this file is# irrelevant.)# Visit http:/subversion.tigris.org/ for more information.general# These options control access to the repository for unau

13、thenticated# and authenticated users. Valid values are write, read,# and none. The sample settings below are the defaults.# anon-access = read# auth-access = write# The password-db option controls the location of the password# database file. Unless you specify a path starting with a /,# the files lo

14、cation is relative to the conf directory.# Uncomment the line below to use the default password file.# password-db = passwd# The authz-db option controls the location of the authorization# rules for path-based access control. Unless you specify a path# starting with a /, the files location is relati

15、ve to the conf# directory. If you dont specify an authz-db, no path-based access# control is done.# Uncomment the line below to use the default authorization file.# authz-db = authz# This option specifies the authentication realm of the repository.# If two repositories have the same authentication r

16、ealm, they should# have the same password database, and vice versa. The default realm# is repositorys uuid.# realm = My First Repository-3 用户及权限管理3.1 用户管理3.1.1 创建用户存储文件# vi /opt/svn/etc/svn-user.conf3.1.2 设置用户帐号usersharry = harryssecretsally = sallyssecretbote = botessecret说明:users #是必须的,标记为用户配置开始ha

17、rry = harryssecret # harry 是用户名 , harryssecret是密码。注意,是明文密码sally = sallyssecret # 同上bote = botessecret # 同上往后所以仓库的用户都在这里记录就可以了。至于那个用户,允许访问那个仓库,在权限管理里限制。3.2 权限管理3.2.1 创建权限管理文件# vi /opt/svn/etc/svn-authz.conf3.2.1 设置权限管理groupssource1 = harrysource2 = sallysource1:/source1 = rwsource2 = rsource2:/source

18、2 = rwbote = rw2.3 成功案例资源库为:svnadmin create F:SVNRepositoryRootrepositorySvnserver.confanon-access = none auth-access = writepassword-db = /opt/svn/etc/svn-user.confauthz-db = /opt/svn/etc/svn-authz.confrealm = My Second RepositoryAuthzgroups# harry_and_sally = harry,sally# harry_sally_and_joe = har

19、ry,sally,&joeqingdaowebsite=darren,lp,qrq/qingdaowebsite = rw* = rrepository:/QingDaoWebSiteqingdaowebsite = rw* = rPasswdusersdarren = darrenlp = lpqrq=qrq3 SVN版本冲突解决详解3.1 版本冲突原因: 假设 A 、 B 两个用户都在版本号为 100 的时候,更新了 kingtuns.txt 这个文件, A 用户在修改完成之后提交 kingtuns.txt 到服务器,这个时候提交成功,这个时候 kingtuns.txt 文件的版本号已经变

20、成 101 了。同时 B 用户在版本号为 100 的 kingtuns.txt 文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的 101 版本上作的修改,所以导致提交失败。 3.2 版本冲突现象: 冲突发生时, subversion 会在当前工作目录中保存所有的目标文件版本 上次更新版本、当前获取的版本 ( 即别人提交的版本 ) 、自己更新的版本、目标文件 。 假设文件名是 kingtuns.txt 对应的文件名分别是: kingtuns.txt.r101 kingtuns.txt.r102 kingtuns.txt.mine kingtuns.txt 。同时在目标文件中标记来自

21、不同用户的更改。 3.3 版本冲突解决: 3.3.1 场景: 1 、现在 A 、 B 两个用户都更新 kingtuns.txt 文件到本地。 2 、文档中原始文件内容如下: 3 、 A 用户修改文件,添加内容“ A 用户修改内容”完成后提交到服务器 4 、 B 用户修改文件,添加内容“ B 用户修改内容”完成后提交到服务器 B 用户提交更新至服务器时提示如下: B 用户将文件提交至服务器时,提示版本过期:首先应该从版本库更新版本,然后去解决冲突,冲突解决后要执行 svn resolved (解决),然后在签入到版本库。在冲突解决之后,需要使用 svn resolved (解决)来告诉 subv

22、ersion 冲突解决,这样才能提交更新。 3.3.2 解决冲突有三种选择: A 、放弃自己的更新,使用 svn revert (回滚),然后提交。在这种方式下不需要使用 svn resolved (解决) B 、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行 resolved filename 并提交 ( 选择文件 右键 解决 ) 。 C 、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行 resolved filename 来解除冲突,最后提交。 3.3.3 解决步骤如下: 1、 在当前目录下执行“ update ”(更新)操作 2、 在冲突的

23、文件上(选中文件 - 右键菜单 TortoiseSVNEdit conflicts (解决冲突),出现如下窗口 Theirs 窗口为服务器上当前最新版本 Mine 窗口为本地修改后的版本 Merged 窗口为合并后的文件内容显示 3、 如果要使用服务器版本,在 Theirs 窗口选中差异内容,右键,选择 Use this text block (使用这段文本块)。 同理如果要使用本地版本,在协商后,在 Mine 窗口右键,选择 Use this text block (使用这段文本块)。 4、 修改完成后,保存 kingtuns.txt 文件内容。 5、 在 B 用户的冲突目录下,选中文件 -

24、 右键菜单 TortoiseSVNResolved (解决)。会列出冲突的文件列表,如果确认已经解决,点 OK 。 6、 冲突解决 7 、提交解决冲突后的文件。 3.4 如何降低冲突解决的复杂度: 1 、当文档编辑完成后,尽快提交,频繁的提交 / 更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。 2 、在提交时,写上明确的 message ,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘 3 、养成良好的使用习惯,使用 SVN 时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。 4 Su

25、bversion中如何checkout出单个文件4.1 通过命令行操作 1、检出目录images svn co -depth=empty images_work_dir这样就在本地形成了一个工作拷贝目录images_work_dir 2、进入images_work_dir目录,单独更新logo.jpg svn up logo.jpg这样,我们就单独检出了logo.jpg,后面就可以对这个文件进行修改、提交等操作。 4.2 通过TortoiseSVN操作 目前还不清楚TortoiseSVN该如何操作,希望知道的朋友补充 根据楼主上面的提示,我使用TortiseSVN客户端试验了一下,能正常检出,

26、我做如下补充(还以楼主举的例子为例)。 1、使用TortiseSVN客户端(以1.5.3版为例)右键菜单中的“svn checkout”检出logo.jpg文件的上级目录images文件夹,在检出窗口中的“检出深度”处要选择“仅此项”,这样检出来才是一个空目录,本地命名为temp。 2、然后在temp文件夹上点右键,在弹出的TortiseSVN右键菜单中选择“检查更新”,在“检查更新”窗口中点击“检查版本库”,会列出该“images”目录下的所有文件。 3、在“检查更新”窗口中选中要检出的“logo.jpg”文件,点右键,在右键菜单中选择“更新”,即可将该文件单独检出。 5 SVN插件安装我刚

27、刚安装好, 我写在我的博客中 安装subclipse, SVN 插件 1、从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org, 官网可以下载, 找到地方就行,之前找错了2、从中解压出features与plugins文件夹,复制到E:MyEclipsemyPluginsvn里面,其它的*.xml文件不要。 3、在E:MyEclipseMyEclipse8.5dropins下新建文件svn.link,内容是:path=E:MyEclipsemyPluginsvn 保存。 4、删除E:MyEclipseMyEclipse8.5configurationorg

28、.eclipse.update文件夹 5、重启myeclipse就一切正常了。6 SVN迁移,备份,重装系统后恢复数据svn服务要迁移到其它linux主机上原服务器svn配置仓库路径:/home/svn/repos权限文件:/home/svn/svn-access-file用户认证文件:/home/svn/passwordfileapache 配置文件:/etc/httpd/conf.d/subversion.confsvn 服务启动脚本 /etc/init.d/svn做法如下一、在原服务器上备份svn,备份内容如下 1.备份/home/svn/svn-access-file文件 2.备份/h

29、ome/svn/passwordfile文件 3.备份/etc/httpd/conf.d/subversion.conf文件 4.备份/etc/init.d/svn文件 5.将版本库导出为一个文件,使用如下命令view plaincopy to clipboardprint?01.svnadmin dump /home/svn/repos svn_bak svnadmin dump /home/svn/repos svn_bak 将以上备份的文件传到linux新主机的某个目录下,如/root/二、在新的linux环境上安装svn和apache,配置 1.安装svn,使用如下命令view plaincopy to clipboardprint?01.yum install subversion 02.yum install httpd 03.yum install mod_dav_svn yum install subversion yum install httpdyum install mod_dav_svn

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1