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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

SVN配置方法.docx

1、SVN配置方法SVN配置方法软件工程版本控制领域, SVN已经逐步替代CVS,今天配置SVN因为一些细节记不太清,所以baidu了一下,发现许多人所说的配置过程存在疏漏或错误,因此我很罗嗦的记录了一下绝对够罗嗦,为的就是哪怕你从来没用过类似软件,也能做到一次配置成功.(雪人注:这里只考虑常见的局域网内使用,因此没有使用SSH等.)SVN相关软件下载:1. svn的Win32版本:http:/subversion.tigris.org/servlets/ProjectDocumentList?folderID=912.2.svnservice3. TortoiseSVN及简体中文语言安装包:ht

2、tp:/tortoisesvn.tigris.org/download.html搭建SVN服务器端:1.解压缩svn到一个目录,例如c:svn2.解压缩svnservice的压缩包,将svnservice.exe放入c:svnbin3.安装TortoiseSVN,安装完毕时会提示重新启动计算机,重启完毕后安装简体中文语言包,然后在随便一个目录右击,就会发现多出了一些SVN相关菜单,选择其中的TortoiseSVN,再选择子菜单”Settings”,设置Language为”中文(简体)”4.打开”我的电脑”,建立一个存放svn信息的目录,例如c:svnhome,然后返回在c盘,右击这个svnho

3、me目录,在出现的菜单中选择TortoiseSVN,再选择子菜单”在此创建文件库”,选择fsfs方式即可(雪人注:这里选择创建文件库实际上就相当于让TortoiseSVN代替你进行了svnadmin create c:svnhome的操作)5.在dos控制台状态下cd c:svnbin然后svnservice -install -d -r c:svnhome再net start svnservice来将其作为服务运行,建议你再到控制面板-管理工具-服务中找到SVNService,右击选择”属性”,再将其启动类型设置为”自动”6.打开c:svnhome,你会发现已经多了一些目录和文件,打开con

4、f子目录,打开svnserve.conf文件,这里行前凡是有#的都等于是被注释忽略了,你可以把#去掉让那一行生效,或者自己新添加行.里面的英文注释已经详细说明了各种设置的含义,最后你设置general小节中行前没有#号的内容为:anon-access = noneauth-access = writepassword-db = passwd含义是:未验证用户无任何权限(如果把none修改为read就是给予读权限)已验证用户给予写权限(当然也能读)密码数据存放到passwd文件中然后打开同目录的passwd文件来设置帐户:同样,设置users小节中行前没有#号的内容,例如:snowman=abc

5、123含义是:用户snowman的密码为abc1236.打开”我的电脑”,在你需要进行版本控制的目录上右击,选择TortoiseSVN,再选择子菜单”导入”,设置”文件库url”为svn:/localhost点确定后就会提示文件正在导入. (雪人注:这里是svn文件库与svn服务是同一台计算机的情况,所以可用localhost,其它机器如果要访问svn服务,应该用svn:/svn服务器的IP地址,例如svn:/10.0.0.52)至此, SVN服务器配置完成客户端配置:1.没安装TortoiseSVN的计算机先安装它并重启计算机. (雪人注:具体步骤参照前面搭建服务器端的第3步)2.创建一个准

6、备用来存放版本控制工程的目录,例如d:project,然后在”我的电脑”中右击这个目录,选择”SVN取出”,设置”文件库url”为svn:/svn服务器的IP地址,接下来会问你用户名和帐号,你就填写前面搭建服务器端所设置的用户snowman密码abc123(文件库url可参照前面搭建服务器端第6步的注解)点确定后就会提示文件正在取出到d:project至此, SVN客户端配置完成,你会看到d:project及其下面的文件都被标记了绿色对勾客户端的简单日常使用:1.要取得工程的当前的最新版本,右击d:project,选择”SVN更新”2.你更改工程后,要将你的修改更新到SVN,右击d:proje

7、ct,选择”SVN提交” (谨慎的话请先更新到SVN最新版本后再提交)其实就是将svnservice文件拷贝到你已经装好的TortoiseSVN目录下,然后运行上述的那些命令后(svnservice -install -d -r c:svnhome),去控制面板-管理工具-服务,既可以看到svn的服务了,启动即可SVN安装与启动服务2010-02-22 11:25转一、安装 首先下载一个SubVersion,和TortoiseSVN。前者是svn的服务器端,后者是svn的客户端。注意服务器端得版本和客户端得版本 一定要一致才可以,否则会出现错误:Error * 期望文件系统格式“2”;发现格式

8、“3” 使用subversion过程中 出现 Error * 期望文件系统格式“2”;发现格式“3”错误,这是服务器程序subversion和客户端程序TortoiseSVN版本号不一致的。删除 subversion和原有的版本库,用相同的版本重新安装subversion和TortoiseSVN,问题即可解决。下面我 以Subversion1.4.5和TortoiseSVN1.4.5为例二、建库找一个地方见一个文件夹,这个文件夹是放你的项目的。我们把它称为库。以下以src为例。然后再这个文件夹上右键,选择Create repository here 或者在命令行里执行D:Application

9、SetUpSubversionbinsvnadmin create E:src命令行要在安装目录中bin文件夹下执行。三、设置用户名和密码设置用户名和密码是成员之间修改项目后伤处使用的。下面我们就来设置一下用户名和密码吧。在刚才建的库文件夹下的conf文件夹里找到一个叫svnserve.conf的文件。用一个文本编辑器将它打开。然后找到# password-db = passwd这行代码。将这行代码签名的#号全部去掉,并且确保顶格 不存在空格。#表示注释,去掉#和空格表示启用密保文件。然后再conf文件夹下找到一个叫password的文件,同样用文本编辑器打开,然后看到如下代码:users#

10、harry = harryssecret# sally = sallyssecret这两行是两个用户名和密码,等号前面是用户名,后面是密码,一行是一个用户。我们可以直接在这下面追加我们自己设置的用户名,也可以把他删除重写。 例如:usersjane=123456spring=789456写好之后保存就可以了。四、启动服务同样是在安装目录下的bin文件下执行D:ApplicationSetUpSubversionbinsvnserve -d -r E:src,效果如下这样服务就启动成功了。这个命令窗口不可以关,如果关闭的话服务也就关闭了。这样很不方便, 解决的办法就是将服务添加到windows系

11、统服务里面。具体操作如下:C:sc create svn binpath= D:ApplicationSetUpSubversionbinsvnserve.exe -service -r c:svnroot displayname= Subversion Server depend= tcpip start= auto运 行这一行命令,两个路径分别是svnserve.exe的地址和库的地址,其中svnservcer.exe就是刚才我们启动服务用的那个,所以写那个路 径就好了。start=auto,每次开机自动运行;想手动的话,net start svn或 者net stop svn切换开关。服

12、务添加成功后结果是:这样我们的服务就启动成功了,现在把命令窗口关闭也没有关系了。五、导入项目找到自己的项目,然后在项目上右键。Import,出现如图窗口:上面的是我要导入的库德地址:svn:/ip/库文件夹名称。建议不要勾选左下角的复选 框。ignored 是忽略的意思,比如java的class包他是经常变化的,成员之间没有交换的必要。就可以将它忽略。还有一些私人的配置文件之类的。不然每个人都上传自 己的配置文件,导致每个人在每次更新后,系统都跑不动。 直接点击确定就可以上传了。下面就是每个成员机器上都装上TortoiseSVN,访问服务器上的项目就可以了。自己建 一个存放项目的文件夹,然后右

13、键check out :上面的地址是服务器地址。下面的地址是下载下来存放到哪里,点击ok就可以从服务器上当下来 了。建议每次编辑项目前都update一次,表示得到最新版本。编辑完之后再commit,这样 用svn管理项目就省了非常多的时间。好了,就写到这里。希望对大家有帮助。svn备份和还原除去最常用的update,checkout, commit等操作, 最常见的就是对svn版本库的备份和还原。 备份策略svn备份一般采用三种方式:1)svnadmin dump 2)svnadmin hotcopy 3)svnsync. 注意,svn备份不宜采用普通的文件拷贝方式(除非你备份的时候将库暂停)

14、,如copy命令、rsync命令。 笔者曾经用 rsync命令来做增量和全量备份,在季度备份检查审计中,发现备份出来的库大部分都不可用,因此最好是用svn本身提供的功能来进行备份。 优缺点分析: = 第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。 缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。 个人建议在版本数比较小的情况下使用这种备份方式。 第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备

15、份; 优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。 缺点是:比较耗费硬盘,需要有较大的硬盘支持(俺的备份机有1TB空间,呵呵)。 第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。 优点是:当制作成2个镜像库的时候起到双机实时备份的作用; 缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。 备份的命令 写道全备份:使用svnadmin dum

16、p或svnadmin hotcopy或svnsync来做,hotcopy:svnadmin hotcopy path/to/repository path/to/backup clean-logsdump:svnadmin dump 版本库路径及名称 revision 导出的版本号 导出的命名增量备份:使用svnadmin dump的incremental选项来实现svnadmin dump 版本库路径及名称 revision 上次导出的版本号:到本次要导出到的版本号 incremental 导出的命名一个技巧:如果你有一个较大的Subsersion版本库而你又想用最少的空间来将它备份下来,用

17、这个命令(请将/repo替换成你的版本库路径)吧:svnadmin dump deltas /repo |bzip2 |tee dump.bz2 | md5sum dump.md5分步解释:最重要的一步是 -deltas,将消耗更多的CPU资源,但拥有更有效的差异存储办法。bzip2压缩方案比gzip慢,但换来的更好的压缩率。更有趣的是,tee方法将压缩的数据流转向到文件dump.bz2,同时将其输出到标准输出,后者有转向给了MD5摘要计算工具。还原命令 写道还原版本:svnadmin load 要恢复的版本库路径及名称 DIRS 10. 11. IFEXISTDUMP_FILES( 12.

18、DEL/QDUMP_FILES 13. ) 14. FOR/F%iIN(DIRS)DO( 15. SETREPOS_NAME=%i 16. CALL:DUMP_REPOS 17. ) 18. SETREPOS_NAME= 19. 20. ECHO. 21. IFEXIST%DUMPTO_DIR%Repos_%VAR_DATE%.zip( 22. echoDeleteexistingcompresseddumpfile 23. del%DUMPTO_DIR%Repos_%VAR_DATE%.zip 24. ) 25. ECHOCompressingdumpfiles. 26. zip-j%DUM

19、PTO_DIR%Repos_%VAR_DATE%.zip%DUMPTO_DIR%*.bin 27. 28. ECHODeletedumpfiles. 29. FOR/F%iIN(DUMP_FILES)DO( 30. DEL/Q%DUMPTO_DIR%i 31. ) 32. 33. DEL/QDIRS 34. DEL/QDUMP_FILES 35. SETDUMPTO_DIR= 36. 37. ECHOSuccessed. 38. GOTO:EOF 39. 40. :=Functions= 41. :DUMP_REPOS 42. SETDUMP_FILE=%REPOS_NAME%.bin 43.

20、 ECHODumpingrepository%REPOS_NAME%. 44. svnadmindump%REPOS_NAME%-q%DUMPTO_DIR%/%DUMP_FILE% 45. IF%errorlevel%=0( 46. ECHO%DUMP_FILE%DUMP_FILES 47. )ELSE( 48. DEL/Q%DUMP_FILE% 49. ECHODump%REPOS_NAME%failed. 50. ) 51. SETDUMP_FILE= 52. 53. ECHO.ECHO OFFSET DUMPTO_DIR=.if not %1 = ( echo Back up all t

21、o %1 SET DUMPTO_DIR=%1) SET VAR_DATE=%DATE:0,4%DATE:5,2%DATE:8,2%dir /B /AD DIRSIF EXIST DUMP_FILES ( DEL /Q DUMP_FILES)FOR /F %i IN (DIRS) DO ( SET REPOS_NAME=%i CALL :DUMP_REPOS)SET REPOS_NAME=ECHO.IF EXIST %DUMPTO_DIR%Repos_%VAR_DATE%.zip ( echo Delete existing compressed dump file del %DUMPTO_DI

22、R%Repos_%VAR_DATE%.zip)ECHO Compressing dump files.zip -j %DUMPTO_DIR%Repos_%VAR_DATE%.zip %DUMPTO_DIR%*.binECHO Delete dump files.FOR /F %i IN (DUMP_FILES) DO ( DEL /Q %DUMPTO_DIR%i)DEL /Q DIRSDEL /Q DUMP_FILESSET DUMPTO_DIR= ECHO Successed.GOTO :EOF:= Functions =:DUMP_REPOSSET DUMP_FILE=%REPOS_NAM

23、E%.binECHO Dumping repository %REPOS_NAME% .svnadmin dump %REPOS_NAME% -q %DUMPTO_DIR%/%DUMP_FILE%IF %errorlevel%=0 ( ECHO %DUMP_FILE% DUMP_FILES) ELSE ( DEL /Q %DUMP_FILE% ECHO Dump %REPOS_NAME% failed.)SET DUMP_FILE=ECHO. 还原:cd到备份目录,再运行,例如loadall.bat, 如果不指定参数,则认为当前目录就是备份的目录,否则从指定目录进行还原。另外, 如果是备份到了

24、压缩包,需要先解压。Bat代码 1. SETVAR_IS_EMPTY_DIR=TRUE 2. 3. SETLOAD_DIR=.; 4. IFNOT%1=( 5. SETLOAD_DIR=%16. ) 7. 8. echo%LOAD_DIR% 9. 10. SETVAR_IS_EMPTY_DIR= 11. dir/B/A-D%LOAD_DIR%*.binDUMP_FILES 12. IF%errorlevel%=0( 13. ECHOFindeddumpfile. 14. )ELSE( 15. ECHOError:Cannotfinddumpfile. 16. DELDUMP_FILES 17.

25、 GOTO:EOF 18. ) 19. FOR/F%iIN(DUMP_FILES)DO( 20. SETREPOS_FILE=%i 21. CALL:LOAD_REPOS 22. ) 23. SETREPOS_FILE= 24. DEL/QDUMP_FILES 25. ECHOSuccessed. 26. GOTO:EOF 27. :=Functions= 28. :LOAD_REPOS 29. SETREPOS_NAME=%REPOS_FILE:0,-4% 30. mkdir%REPOS_NAME% 31. ECHO%REPOS_NAME% 32. ECHOLoadingrepository

26、%REPOS_NAME%. 33. svnadmincreate%REPOS_NAME% 34. svnadminload-q%cd%REPOS_NAME%DUMP_FILES 37. )ELSE( 38. RMDIR/Q%REPOS_NAME% 39. ECHOLoad%REPOS_NAME%failed. 40. ) 41. SETREPOS_NAME= 42. ECHO.SET VAR_IS_EMPTY_DIR=TRUESET LOAD_DIR=.;IF NOT %1= ( SET LOAD_DIR=%1)echo %LOAD_DIR%SET VAR_IS_EMPTY_DIR=dir /

27、B /A-D %LOAD_DIR%*.bin DUMP_FILESIF %errorlevel%=0 ( ECHO Finded dump file.) ELSE ( ECHO Error : Can not find dump file. DEL DUMP_FILES GOTO :EOF)FOR /F %i IN (DUMP_FILES) DO ( SET REPOS_FILE=%i CALL :LOAD_REPOS)SET REPOS_FILE=DEL /Q DUMP_FILESECHO Successed.GOTO :EOF:= Functions =:LOAD_REPOSSET REPOS_NAME=%REPOS_FILE:0,-4%mkdir %REPOS_NAME%ECHO %REPOS_NAME%ECHO Loading repository %REPOS_NAME% .svnadmi

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

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