您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页ubuntu搭建svn服务器

ubuntu搭建svn服务器

来源:筏尚旅游网
目录1.基本环境........................................................................................................................................32.搭建SVN服务器..........................................................................................................................32.1.安装svn..............................................................................................................................32.2.创建项目目录....................................................................................................................32.3.创建SVN仓库目录..........................................................................................................32.4.创建svn仓库.....................................................................................................................42.5.导入项目............................................................................................................................43.配置SVN服务器..........................................................................................................................43.1.修改svnserve.conf.............................................................................................................43.2.修改passwd.......................................................................................................................43.3.修改authz...........................................................................................................................44.使用SVN服务器..........................................................................................................................44.1.启用SVN服务..................................................................................................................44.2.SVN开机启动....................................................................................................................55.SVN命令........................................................................................................................................55.1.添加文件............................................................................................................................55.2.显示最后修改版本和作者................................................................................................55.3.输出指定目标的内容........................................................................................................55.4.将wc中的文件从逻辑上分组.........................................................................................55.5.检出....................................................................................................................................55.6.清理WC中过期的锁和未完成的操作...........................................................................65.7.提交文件到仓库................................................................................................................65.8.复制....................................................................................................................................65.9.删除....................................................................................................................................65.10.比较并显示修改点..........................................................................................................65.11.到处目录树......................................................................................................................75.12.帮助..................................................................................................................................75.13.导入本地一个目录到库中..............................................................................................75.14.显示指定WC和URL信息...........................................................................................75.15.显示目标下的文件和目录列表......................................................................................75.16.对目标获得修改锁..........................................................................................................85.17.从库中显示log消息.......................................................................................................85.18.合并两个受控源的不同之处..........................................................................................85.19.在WC或库路径创建目录.............................................................................................85.20.等同于svncopy命令跟个svndelete命令...................................................................85.21.从受控文件或目录等删除属性......................................................................................95.22.编辑属性..........................................................................................................................95.23.从文件或目录或版本取得指定属性的值.....................................................................9第1页

5.24.5.25.5.26.5.27.5.28.5.29.5.30.5.31.列出文件或目录或版本上的所有附加属性.................................................................9给文件或目录或版本附加属性并赋值..........................................................................9将冲突的文件标记为已解决........................................................................................10还原WC中所有的本地更改.......................................................................................10输出WC中文件和目录的状态...................................................................................10将WC转向一个其他的库地址同步...........................................................................10解锁................................................................................................................................11更新WC.........................................................................................................................11第2页

1.基本环境运行环境:Ubuntu12.04LTSIP地址:127.0.0.1或localhostsvn仓库:/root/svn2.搭建SVN服务器2.1.安装svn$sudoapt-getinstallsubversion2.2.创建项目目录$sudomkdir-p/root/workspace2.3.创建SVN仓库目录$sudomkdir/root/svn2.4.创建svn仓库$sudosvnadmincreate/root/svn2.5.导入项目-m“Newimport”:一定要注明导入信息,不然会出错$svnimport-m\"Newimport\"/root/svnfile:///root/workspace3.配置SVN服务器主要是修改svnserve.conf、passwd、authz三个文件。位置在/conf。3.1.修改svnserve.conf[general]#匿名访问的权限,可以是read,write,none,默认为read#anon-access=none#认证用户的权限,可以是read,write,none,默认为write#auth-access=write#密码数据库的路径#password-db=passwd#用户操作权限#authz-db=authz3.2.修改passwd第3页

[users]#用户名=密码#user=passwod3.3.修改authz[groups]user=test1,test2[/]user1=rw*=rtest1和test2属于user组,有读和写的权限。4.使用SVN服务器4.1.启用SVN服务$svnserve-d-r/root/svn4.2.SVN开机启动在/etc/init.d/rc.local文件中添加如何语句:svnserve-d-r/root/svn5.SVN命令5.1.添加文件命令:svnadd[path]别名:无描述:添加文件或目录到你的wc,打上新增标记。这些文件会在下一次你提交wc的时候提交到svn服务器。访问库:否举例:svnaddfile.cpp5.2.显示最后修改版本和作者命令:svnblameTarget[@REV]别名:praise,annotate,ann描述:显示某个已受控文件的每一行的最后修改版本和作者访问库:是举例:svnblamefile.cppsvnblame--xmlfile.cpp#加上xml参数可以以xml格式显示每一行的属性。5.3.输出指定目标的内容命令:svncatTARGET[@REV]第4页

别名:无描述:输出指定目标的内容,这里的目标一般是文件。访问库:是举例:svncatfile.cppsvncatfile.cpp-r2##显示版本号为二的file.cpp内容。svncatfile.cpp--revisionHEAD##显示最新版本的file.cpp内容。5.4.将wc中的文件从逻辑上分组命令:svnchangelistCLNAMETARGET...svnchangelist--removeTARGET别名:cl描述:可以将wc中的文件从逻辑上分组.访问库:否举例:svnclclNamefile.cppfile2.cppfile3.cppsvncommit--changelistclName-m\"ci\"#将file.cpp等三个文件加入名叫clName的changelist#将clName下的所有文件提交5.5.检出命令:svncheckoutURL[@REV]...[PATH]别名:co描述:检出访问库:否举例:svncheckoutfile:///var/svn/repos/testfile:///var/svn/repos/quizworking-copiessvncheckout-r2file:///var/svn/repos/testmine#checkout版本号为2的项目5.6.清理WC中过期的锁和未完成的操作命令:svncleanup[PATH...]别名:无描述:递归的清理WC中过期的锁和未完成的操作。访问库:否举例:svncleanup5.7.提交文件到仓库命令:svncommit[PATH...]别名:ci描述:把你WC的更改提交到仓库访问库:是举例:svncommit-m\"addedhowtosection.\"#默认情况下提交必须提供logmessage5.8.复制命令:svncopySRC[@REV]...DST别名:cp描述:copy操作可以从WC到WC;WC到URL;URL到WC;URL到URL。现在SVN只支持同一个仓库内文件的拷贝,不允许跨仓库操作。第5页

访问库:是举例:svncopy-r11file:///var/svn/repos/test/trunk\\file:///var/svn/repos/test/tags/0.6.32-prerelease\\-m\"Forgottotagatrev11\"#copy命令是创建分支和标记的常用方式。copy到url的操作隐含了提交动作,所以需要提供logmessages。5.9.删除命令:svndeletePATH...别名:del,remove,rm描述:删除访问库:如果PATH是库地址时会,删除WC内的文件不会。举例:svndellocalfile.cpp#删除WC里的文件svndelfile:///var/svn/repos/test/yourfile##删除仓库里的文件5.10.比较并显示修改点命令:svndiff别名:di描述:用来比较并显示修改点。访问库:举例:svndiff#用来显示WC基于最近一次更新以后的所有的本地修改点。svndiff-r301bin##比较WC和版本301中的bin目录的修改点svndiff-r3000:3500file:///var/svn/repos/myProject/trunk#比较库里主干3000版和3500版的差异。svndiff--summarize--xmlhttp://svn.red-bean.com/repos/test@r2http://svn.red-bean.com/repos/test##--summarize--xml参数将差异情况以xml文档的方式显示出来。5.11.到处目录树命令:svnexport[-rREV]URL[@P举例REV][PATH]svnexport[-rREV]PATH1[@P举例REV][PATH2]别名:无描述:导出一个干净的目录树,不包含所有的受控信息。访问库:如果访问的是URL则会。举例:svnexportfile:///var/svn/reposmy-export##导出到my-export目录。5.12.帮助命令:svn--help别名:?,h描述:不用解释了访问库:否。5.13.导入本地一个目录到库中命令:svnimport[PATH]URL第6页

别名:无描述:导入本地一个目录到库中。但是导入后,本地的目录并不会处于受控状态。访问库:是。举例:svnimport-m\"Newimport\"myprojhttp://svn.myProject.com/repos/trunk/misc5.14.显示指定WC和URL信息命令:svninfo[TARGET[@REV]...]别名:无描述:显示指定WC和URL信息。访问库:仅当访问的是库路径时。举例:svninfo--xmlhttp://svn.myProject.com/repos/test#将信息以xml格式显示。5.15.显示目标下的文件和目录列表命令:svnlist[TARGET[@REV]...]别名:ls描述:显示目标下的文件和目录列表。访问库:如果访问的是库地址就会。举例:svnlist--verbosefile:///var/svn/repos#--verbose参数表示显示详细信息。5.16.对目标获得修改锁命令:svnlockTARGET...别名:无描述:对目标获得修改锁。如果目标已被其他用户锁定,则会抛出警告信息。用--force参数强制从其他用户那里获得锁。访问库:是举例:svnlock--forcetree.jpg5.17.从库中显示log消息命令:svnlog[PATH]svnlogURL[@REV][PATH...]别名:无描述:从库中显示log消息。log消息代码A:addedD:deletedM:modifiedR:replaced访问库:是举例:svnlog-vhttp://svn.myProject.com/repos/test/foo.cbar.c##详细显示指定URL的库中foo.c和bar.c所有版本的log信息。svnlog-r14:15##显示当前WC的14和15版本log信息。##如果版本号不连续,只能采用如下方式。$svnlog-r14>mylog$svnlog-r19>>mylog$svnlog-r27>>mylog5.18.合并两个受控源的不同之处命令:svnmergesourceURL1[@N]sourceURL2[@M][WCPATH]第7页

svnmergesourceWCPATH1@NsourceWCPATH2@M[WCPATH]svnmerge[[-cM]...|[-rN:M]...][SOURCE[@REV][WCPATH]]别名:无描述:合并两个受控源的不同之处,存放到一个WC里。访问库:只有当访问库地址时。举例:svnmerge--reintegratehttp://svn.example.com/repos/calc/branches/my-calc#合并分支上的改变项到WC,往往用于分支合并到主干。svnmerge-r156:157http://svn.example.com/repos/calc/branches/my-calc#将制定URL版本156到157的所有更新合并到WC。5.19.在WC或库路径创建目录命令:svnmkdirPATH...svnmkdirURL...别名:无描述:在WC或库路径创建目录访问库:只有当访问库地址时。举例:svnmkdirnewdir5.20.等同于svncopy命令跟个svndelete命令命令:svnmoveSRC...DST别名:mv,rename,ren描述:等同于svncopy命令跟个svndelete命令。访问库:只有当访问库地址时。举例:svnmovefoo.cbar.c##将foo.c改名成bar.c。5.21.从受控文件或目录等删除属性命令:svnpropdelPROPNAME[PATH...]svnpropdelPROPNAME--revprop-rREV[TARGET]别名:pdel,pd描述:从受控文件,目录等删除属性。第二种是删除某个指定版本上的附加属性。访问库:只有当访问库地址时。举例:svnpropdelsvn:mime-typefile#从file上移除svn:mime-type属性。5.22.编辑属性命令:svnpropeditPROPNAMETARGET...svnpropeditPROPNAME--revprop-rREV[TARGET]别名:pedit,pe描述:编辑属性访问库:只有当访问库地址时。举例:svnpropeditsvn:keywordsfile.c##修改file.c上的svn:keywords属性。5.23.从文件或目录或版本取得指定属性的值命令:svnpropgetPROPNAME[TARGET[@REV]...]svnpropgetPROPNAME--revprop-rREV[URL]第8页

别名:pget,pg描述:从文件,目录或版本取得指定属性的值。访问库:只有当访问库地址时。举例:svnpropgetsvn:keywordsfile.c##从file.c中取得svn:keywords属性的值5.24.列出文件或目录或版本上的所有附加属性命令:svnproplist[TARGET[@REV]...]svnproplist--revprop-rREV[TARGET]别名:plist,pl描述:列出文件、目录或版本上的所有附加属性访问库:只有当访问库地址时。举例:svnproplist--verbosefile.c5.25.给文件或目录或版本附加属性并赋值命令:svnpropsetPROPNAME[PROPVAL|-FVALFILE]PATH...svnpropsetPROPNAME--revprop-rREV[PRL|-FVALFILE][TARGET]别名:pset,ps描述:给文件、目录或版本附加属性并赋值访问库:只有当访问库地址时。举例:svnpropsetsvn:mime-typeimage/jpegfile.jpg#给file.jpg附加属性svn:mime-type其值为image/jp举例svnpropset--revprop-r25svn:log\"JournaledabouttriptoNewYork.\"#给版本25补上logmessagesvnpropsetsvn:ignore'.classpath'.#在本地忽略掉.classpath文件5.26.将冲突的文件标记为已解决命令:svnresolvePATH...别名:无描述:将冲突的文件标记为已解决,并且删掉冲突产生的临时文件。访问库:否举例:svnresolve--acceptmine-fullfoo.c#1.5版本后,加上--accept参数,尝试自动处理冲突。5.27.还原WC中所有的本地更改命令:svnrevertPATH...别名:无描述:还原WC中所有的本地更改。访问库:否举例:svnrevert--depth=infinity.##将整个目录所有文件还原5.28.输出WC中文件和目录的状态命令:svnstatus[PATH...]别名:stat,st第9页

描述:输出WC中文件和目录的状态。如WC提交,这些状态就会同步到库里。一般状态有''没有修改'A'新增'D'删除'M'修改'R'替代'C'冲突'I'忽略'?'未受控'!'丢失,一般是将受控文件直接删除导致访问库:加上--show-updates参数时会举例:svnstatuswc5.29.将WC转向一个其他的库地址同步命令:svnswitchURL[@P举例REV][PATH]svnswitch--relocateFROMTO[PATH...]别名:sw描述:将WC转向一个其他的库地址同步访问库:是举例:svnswhttp://svn.myProject.com/repos/trunk/vendors.#将当前WC切换到另一个URL5.30.解锁命令:svnunlockTARGET...别名:无描述:解锁访问库:是举例:svnunlocksomefile5.31.更新WC命令:svnupdate[PATH...]别名:up描述:更新WC,更新反馈有如下几种分类。A新增B锁破坏D删除U更新C冲突G合并E存在的访问库:是举例:svnup-r22##更新到一个指定版本第10页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务