Eclipse SVN 使用.docx
- 文档编号:6451022
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:9
- 大小:265.90KB
Eclipse SVN 使用.docx
《Eclipse SVN 使用.docx》由会员分享,可在线阅读,更多相关《Eclipse SVN 使用.docx(9页珍藏版)》请在冰豆网上搜索。
EclipseSVN使用
1.在Windows上安装SVNSubversion服务端
在Windows上安装SVNSubversion服务端
2009-09-16
高宏伟
哈尔滨市道里区通达街291号
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。
我们看到大量的项目都在使用它完成版本控件的工作。
本文将主要针对Windows平台讲述安装Subversion服务器的步骤。
本文所使用的环境是如下
操作系统
WindowsXPProfessionalSP2
尽量使用原版,因为有朋友反映在部分类似番茄花园的盗版XP上,由于内部文件做过优化,导致Subversion服务端软件异常。
服务端软件
Setup-Subversion-1.6.5.msi
WindowsMSIinstallerwiththebasicwin32binaries–includesbinariesforApache2.2.x(2.2.9orhigherisrequiredwithinthe2.2.xseries)
客户端软件
TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi
常用的GUI客户端
客户端软件
Slik-Subversion-1.6.5-win32.msi
命令行工具,如果你习惯用cvs的命令行,那这个你会很适应
Subversion的主页是http:
//subversion.tigris.org/或者你也可以直接点击这里下载Setup-Subversion-1.6.5.msi
TortoiseSVN的主页是http:
//tortoisesvn.tigris.org/你也可以直接点击这里下载TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi
首先我们安装运行Setup-Subversion-1.6.5.msi安装界面比较简单,我们主要关注安装位置,假定我们安装在默认位置C:
\ProgramFiles\Subversion
现在我们创建repository,使用的命令是svnadmin。
本例中,我们要在c:
\svnroot下建立repository。
那么我们使用的命令行如下:
C:
\ProgramFiles\Subversion\bin>svnadmincreatec:
\svnroot
C:
\ProgramFiles\Subversion\bin>
建立好repository之后,我们要对Server进行一些简单的配置。
打开c:
\svnroot下的conf目录,编辑svnserve.conf,修改里面的内容。
auth-access=write
password-db=passwd
anon-access=read
前面的#去掉,打开这个注释。
同时修改anon-access=none
现在svnserve.conf的片断看起来类似
[general]
###Theseoptionscontrolaccesstotherepositoryforunauthenticated
###andauthenticatedusers.Validvaluesare"write","read",
###and"none".Thesamplesettingsbelowarethedefaults.
anon-access=none
auth-access=write
###Thepassword-dboptioncontrolsthelocationofthepassword
###databasefile.Unlessyouspecifyapathstartingwitha/,
###thefile’slocationisrelativetothedirectorycontaining
###thisconfigurationfile.
###IfSASLisenabled(seebelow),thisfilewillNOTbeused.
###Uncommentthelinebelowtousethedefaultpasswordfile.
password-db=passwd
###Theauthz-dboptioncontrolsthelocationoftheauthorization
###rulesforpath-basedaccesscontrol.Unlessyouspecifyapath
###startingwitha/,thefile’slocationisrelativetothethe
###directorycontainingthisfile.Ifyoudon’tspecifyan
###authz-db,nopath-basedaccesscontrolisdone.
###Uncommentthelinebelowtousethedefaultauthorizationfile.
#authz-db=authz
###Thisoptionspecifiestheauthenticationrealmoftherepository.
###Iftworepositorieshavethesameauthenticationrealm,theyshould
###havethesamepassworddatabase,andviceversa.Thedefaultrealm
###isrepository’suuid.
#realm=MyFirstRepository
修改好svnserve.conf后,我们再修改passwd文件。
加入我们需要的用户名joe和口令123。
passwd内容如下:
###Thisfileisanexamplepasswordfileforsvnserve.
###Itsformatissimilartothatofsvnserve.conf.Asshowninthe
###examplebelowitcontainsonesectionlabelled[users].
###Thenameandpasswordforeachuserfollow,oneaccountperline.
[users]
#harry=harryssecret
#sally=sallyssecret
joe=123
现在就可以启动server了。
启动的方法有很多种,在这里针对本文的环境我们介绍两种,一种是以deamon方式调用,一种是以WindowsService的方式调用。
如果是以deamon的方式调用,那么命令行如下:
sccreatesvnservebinpath="\"D:
\ProgramFiles\Subversion\bin\svnserve.exe\"--service--rootE:
\ROOT\Work\tool\SVN_PRJ"displayname="Subversion"depend=tcpipstart=auto
——注意为了回避目录名中的空格等字符,将整个binpath值放在双引号中;另外,sc的命令行很特殊。
在key=value对中,key与=之间不能有空格,但是在value之前,必须有空格。
定义了服务之后,就可以使用GUI工具(如服务管理面板)进行停止、启动和查询,也可以通过命令行的方式进行:
C:
\>netstopsvnserve
C:
\>netstartsvnserve
C:
\>scdeletesvnserve(需要确定先停止了服务)
C:
\ProgramFiles\Subversion\bin>svnserve-d-rc:
\svnroot
服务端开始运行后,我们就可以关注一下客户端的问题了。
TortoiseSVN的安装我没有什么可说的,就是一路的NEXT。
这里我们描述一下我们的用于test的项目。
以本文为例假定我们的项目目录是D:
\mytemp\svn_test1,假定目录下有一个test1.txt文件。
在svn_test1上按右键选TortoiseSVN–>Import在URLofrepository里输入svn:
//192.168.159.129/svnroot点击OK后,按提示输入用户名和口令,就可以把项目导入Subversion。
好了,现在我们可以试一下,看看刚才我们导入的内容,并开始正常的update,commit工作吧。
我们删除svn_test1里面的所有文件。
然后在svn_test1目录上按右键选SVNCheckoutURLofrepository里输入的仍是svn:
//192.168.159.129/svnrootCheckoutdirectory里输入的是D:
\mytemp\svn_test1CheckoutDepth选择Fullyrecursive,点击OK后,按提示输入用户名和口令,这时我们再看svn_test1目录,就可以看到我们导出的test1.txt文件了。
我们打开test1.txt文件尝试修改并更新一下。
我们在test1.txt里加上一行“哈尔滨市,高宏伟QQ:
21807822”,然后我们在svn_test1目录上按右键选svncommit,在message中我们可以输入一些日志来标志本次修改,然后点击OK,按提示输入用户名口令就可以提交了。
update的操作也是类似,只不过是相反的操作。
界面的操作不太容易用文字来表达,但界面很直观,相信大家摆弄摆弄就可以搞定。
刚才为了保证文章的连续性,我们没有说明如何以WindowsService的方式来调用server。
生成svn服务的命令如下:
C:
\>sccreatesvnbinpath="C:
\ProgramFiles\Subversion\bin\svnserve.exe–service-rc:
\svnroot"displayname="SubversionServer"depend=tcpipstart=auto
C:
\>netstartsvn
这里要特别注意一下sc命令的使用。
主要是注意一下=号后面的空格和svn路径的空格。
1.如果你没有创建服务成功,那你就不要安装到ProgramFiles目录下,因为它带了一个空格,你可以安装到一个比较简单的目录下再试试,如c:
\svn_server。
2.如果安装到这样简单的目录还不能创建成。
那你要注意binpath的等号后面有一个空格。
你一定要完全按照上面的格式来写。
3.实在不行你就把所有的环境先都配成和本文一样,然后再直接粘贴过去,这样可以保证你运行成功。
等所有的问题都没有了。
你再按照你的想像重新安装一次,看看你的问题出在哪儿,这样也好有个对比。
关于Slik-Subversion我在这里就先不做探讨了,它是一个命令行工具。
一般来说GUI就可以满足你的简单需要。
如果你还有什么更高的要求,可以再去研究,它就好像cvs一样好用。
非常感谢大家能阅读我的文章。
如果还有什么问题,请大家与我联系QQ:
21807822,e-mail:
dukejoe@转载请注明出处为
Windows下创建版本库
可以使用TortoiseSVN图形化的完成这一步,在目录E:
subversionrepository下"右键->TortoiseSVN->CreateRepositoryhere...“,然后可以选择版本库模式,使用默认即可,然后就创建了一系列目录和文件。
[Tips]如果下载的是setup.exe版本,安装程序安装后会自动设置系统变量,如果下载的是zip版就需要手动设置系统变量.
也可以使用命令行来创建:
C:
\>svnadmincreateF:
\svn\
2.Eclipse+TortoiseSVN简明使用指导(ForNCEE)
现在才写SVN的文章有些惭愧,不过好歹打着ForNCEE的旗号。
这是一个写给NCEE开发团队的指导性文档,也希望给遇到过同样问题的人以指导,NCEE团队使用的是GoogleCodeSVN服务器,如果是其他服务器,需要进行相应设置。
先介绍下什么是SubVersion(SVN),SubVersion是一个目前正在被普遍使用的版本控制工具,可以用来管理项目的源代码,也可以用于多人协同项目开发。
有了它,你可以在开发的过程中按照自己的设定看到项目的不同版本点,并且能够根据需要恢复至某一版本或状态,你还可以让你的team在网络环境下进行项目开发,并且很好的管理各个成员对代码的提交。
1.安装
本文介绍的是在Windows+Eclipse下的SVN的使用方法,需要下在3个文件,考虑到版本不同,只给出首页地址,根据自己的环境选择:
1.subversion http:
//subversion.tigris.org/ SVN主体部分
2.tortoisesvn http:
//tortoisesvn.tigris.org/ SVN的一个免费开源客户端
3.subclipse http:
//subclipse.tigris.org/ Eclipse下的SVN插件,让你直接在Eclipse进行svn操作
其中subclipse也可以通过Eclipse的SoftwareUpdates获得,如果是自己下载的,则需要解压缩后把features目录和plugins目录中的内容拷贝到Eclipse下的features目录和plugins目录中。
subversion和tortoisesvn都是可执行文件,运行后安装。
安装完之后需要重启Windows和Eclipse。
重新启动后在任意文件夹中单击右键,看看是不是会出现乌龟和SVN的相应操作菜单项,启动Eclipse,“新建”中也会出现SVN选项
2.下载项目
在完成安装之后就可以进行项目的下载了。
打开Eclipse,选择“File->New->Other”,进一步选择SVN中的“从SVN检出项目”,在向导中选择“创建新的资源库位置”,单击Next,输入SVN服务器地址,NCEE成员输入“Project,剩下的就完全像新建项目一样了,自己去完成吧。
在Checkout的过程中会提示输入用户名和密码,如实输入即可。
3.管理项目
在Eclipse项目的文件中,单击右键,Team、Comparewith和Replacewith菜单项中即可进行相应的SVN操作。
常用的操作主要有Commit(提交)、Update(更新)、Rename(重名命)、Delete(删除),需要注意的是,如果是对文件的重命名和删除操作,一定要在SVN菜单中操作,即通过SVN来完成重命名和删除操作,否则会导致本地和服务器不同步,进而导致文件会被锁定。
具体操作就不多说了,可以参阅tortoisesvn用户手册。
另外在Windows中也可以对从服务器上下载下来的文件进行操作,过程跟Eclipse上的一样。
需要注意的是,对于从服务器上下载下来的项目文件和目录,在左下角会有一个绿色的箭头或红色的叹号(如上面的图),标志着本地内容与服务器内容是否统一。
4.结束语
第一篇CSDN文章就这么诞生了(援引fido的话),主要是为了NCEE项目开发所作,虽然匆忙且潦草,但还是基本说明了问题。
希望整个项目组开发顺利,加油吧:
)最后不得不说,CSDN日志编辑的相应速度出奇的让人无法忍受的慢,唉!
到此你的插件已经安装完毕了,说明一下,在Step5中选择的是在线安装,也可以在http:
//subversion.tigris.org/servlets/ProjectDocumentList?
folderID=91下载后进行本地安装,本地安装选择NewLocalSit...,然后找到解压出来的那个文件夹,后面的都一样了。
卸载的方法也很简单,也是点击Help=>SoftwareUpdates=>ManageConfiguration
按上图操作就可以卸载了。
二、UseSubclipseinEclipse3.x(使用)
先向版本库中加入一个Eclipse工程,我这里是随便搭建的一个WEB工程SVNtest,将它导入版本库svn:
//localhost/ts(这使用本机装的版本库,其他机器就要打ip地址,之前说过)。
导入后用版本库浏览器找到你导入的工程目录,把其下WebRoot\WEB-INF\classes目录删掉(注意:
不删出以后会报错,原因后面再讨论)这些初始化的操作都用客户端工具完成的,毕竟插件的功能还不是那么强大。
做好以上的准备后打开Eclipse编译器,点击编译器右上角的OpenPerspective打开SVN资源库界面,新建一个资源库
选择资源库的位置,这里我们就用刚才搭好的svn:
//localhost/ts作为工程目录,点击Finish后如果成功则会看到版本服务器中工程的树形结构了(可能需要用户密码验证)。
在svn:
//localhost/ts根目录上点右键,选择“验出”(英文版的可能叫CheckOut),在弹出窗口中选择“作为空间的项目验出”,下边的项目名称随便叫,我这里还是用SVNtest作为项目名称。
一切没有问题了点击Finish。
之后它就会从服务器上把工程下到你本地了。
好啦,来到Eclipse编辑栏会发现刚才下的工程文件都会带有SVN版本控制标记了,再去Workspace看看,也会发现下载的工程文件夹,并且也有控制标记。
而且里我们会发现在SVN控制下的文件多出来一个Team选单,打开一看原来就是一个客户端工具呀,提交,更新,同步,合并,切换……我们再熟悉不过了,自己试试吧^_^。
顺便说一下刚才为什么要删除class目录,起初我没有删掉它,更改提交没有问题,但在更新时总是报错:
……Workingcopynotlocked;thisisprobablyabug,pleasereportsvn:
……,提示就是class目录下的.svn有毛病,到http:
//www.tigris.org查找解决方法,有一段描述:
ThismessageiscomingstraightoutoftheSubversionlibrary,sotechnicallyitisSubversionaskingyoutoreporttheproblemtothem.Thiserrormessageiskindoftheirgeneralerrormessagewhensomethingreallyunexpectedhappens.InthecaseofEclipse,theproblemisalmostalwaysonespecificthing.TheproblemisthatyourEclipsebuildfolderwasversionedandaddedtoyourrepository.WhathappensisthatwhenEclipsedoesafullbuilditwilldeleteeverythinginthisfolder,includingthe".svn"metadatafolder.WhenSubversioncannotfindthisfolderitissuestheaboveerror.
Thesolutionistodeletethisfolderfromyourrepository,whichyoucandofromtheSVNRepositoriesview.Thentrydeletingthefolderfromyourworkingcopyandperforiminganupdate.Youmightneedtocheckoutyourprojectagain.Onceyouhaveavalidprojectagain,besuretoaddthebuildfoldertothesvn:
ignorepropertyofitsparentfoldersothattheproblemdoesnothappenagain.
Ifthisisnotyourproblem,thenasbestasyoucantrytofigureoutwhatmighthaveleduptohavingthisproblemandreportitonthSubversionusers@subversion.tigris.orgmailinglist
大意:
重新部署工程时会将文件夹WEB-INF/classes下的内容全删了,包括".svn"这个文件夹,从面导致SVN找不到这个文件夹的信息,于是报错。
解决的方法是在SVN仓库内将classes下的内容清空,然后在确保本地工程已完全提交的情况下,将本地工程包括文件删除,再从SVN仓库中重新取出。
导致此问题的原因善不明确,估计是往这个文件夹手动添加了文件。
安装方面就介绍到此吧,如果有什么问题在联系我吧。
3.参考:
SNV版本:
DownloadandInstall
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Eclipse SVN 使用