传智播客传递IT圣火加入传智播客畅想美好未来()SubversionSubversionSubversionSubversionTortoisesvnTortoisesvnTortoisesvnTortoisesvn((((WinWinWinWin1.6)1.6)1.6)1.6)版版版版本本本本控控控控制制制制讲师:毛伟(E_mail:ksmwly@163.com)圣火加入传智播客畅想美好未来()目录目录目录目录1.Subversion简介...............................................................................12.安装SVN服务端(Subversion)........................................................22.1.下载Subversion......................................................................22.2.安装Subversion......................................................................43.SVN服务端配置..............................................................................63.1.启动SVN服务器...................................................................63.2.建立SVN单仓库...................................................................93.3.建立SVN多仓库.................................................................103.4.配置仓库权限.......................................................................114.安装SVN客户端(TortoiseSVN)....................................................155.SVN与Eclipse整合......................................................................266.SVN与MyEclipse整合.................................................................287.SVN服务端与Apache2.2集成......................................................298.GoogleCode托管——SVN...........................................................34传智播客传递IT圣火加入传智播客畅想美好未来()1/371.SubversionSubversionSubversionSubversion简介简介简介简介Subversion版本控制系统也,一般简称SVN(以下通称SVN)。SVN与CVS一样,是一个跨平台的C/S软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。SubVersion:实现服务系统的软件,也即是SVN服务端程序。TortoiseSVN:是SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。SVNService.exe:是专为SubVersion开发的一个用来作为Win32服务挂接的入口程序。同时版本控制如此广泛的原因是因为它实际上能帮助运营一个项目的所有方面:内部开发者交流、发布管理、缺陷管理、代码稳定性和试验开发投入,以及对某个变更所属开发者的归因和授权。版本控制系统为这些领域提供了一个集中的协调力量。版本控制的核心是变更管理:识别对项目文件的每一个不相关的变更,使用元数据例如变更的日期和作者来注解每个变更,之后无论使用什么方法,任何人询问时,重放这个事实。这是变更信息的基本单元的交流机制。传智播客传递IT圣火加入传智播客畅想美好未来()2/372.2.2.2.安装安装安装安装SVNSVNSVNSVN服务端服务端服务端服务端(Subversion)(Subversion)(Subversion)(Subversion)2.1.2.1.2.1.2.1.下载下载下载下载SubversionSubversionSubversionSubversion如果是升级或首次安装Subversion,笔者建议下载安装最新的稳定版本,毕竟最新的稳定版本官方修复了前几个版本大量的软件故障(Bug)。(�浏览器地址栏中打开如下地址:点击上图中的【WindowsWindowsWindowsWindowsbinariesbinariesbinariesbinaries】超链接,打开如下图所示的网页。传智播客传递IT圣火加入传智播客畅想美好未来()3/37这里列出了适合在Windows环境下安装的多个SVN服务器分支版本,如适合与Apache集成的版本,二进制版本,减化后的主干版本等。选择一种适合你自己需求的安装版本下载,但一般我们选择第二个来进行安装(Tigris.org(Apache2.2-compatiblebinaries;ifyouknowyouneedthem,Apache2.0-compatiblebinariesarealsoavailable)),即适合与Apache集成的版本。点击打开该超链接。传智播客传递IT圣火加入传智播客畅想美好未来()4/37(打开后如上图所示。这里列出来的都是最新的Subversion稳定版本,选择第二个(Setup-Subversion-1.6.5.msi)点击下载即可完成Subversion的安装文件下载。2.2.2.2.2.2.2.2.安装安装安装安装SubversionSubversionSubversionSubversion双击运行所下载的Setup-Subversion-1.6.5.msi安装文件,进行SVN服务器端的安装操作。Subversion的安装很智能傻瓜化。一直点Next即可。其它有一个步骤需要我们选择安装的目录,这里我们改一下,不要安装在默认的C盘目录下,选择安装在【D:\usr\local\SVN\Subversion】目录下。最终安装完成后,如何验证在我们的服务器上就成功安装了Subversion呢?因为Subversion在安装时,同JAVA的开发环境(JDK)的安装一样,同样会自动的把安装目录下的bin目录设置到系统的系统变量中去。如果你是使用的绿色版,那么设置系统变量这个步骤就得你自己手动的来设置了,如:传智播客传递IT圣火加入传智播客畅想美好未来()5/37此时,如果我们在系统的命令行下面任何的一个目录结构下执行命令:【svnserve--help】如果能正常显示如下图所类示的信息,则表明我们的Subversion的安装是成功了的。反之,请检查你的安装步骤是否成功,但一般来说,如果不出灵异事件,此安装步骤的成功率基本是上100%。传智播客传递IT圣火加入传智播客畅想美好未来()6/373.3.3.3.SVNSVNSVNSVN服务端配置服务端配置服务端配置服务端配置安装好SVN服务端的管理软件(Subversion)后,接下来就需要进行一些很细节的配置了,不然难以保证在以后的时间里SVN服务器能稳定正常的运行。3.1.3.1.3.1.3.1.启动启动启动启动SVNSVNSVNSVN服务器服务器服务器服务器在Subversion中包含svnserve一个轻型的独立服务器,它使用一个基于一般TCP/IP连接的定制协议。用于小型安装,或者不能使用全能Apache服务器的地方。svnserve文件存在于Subversion所安装目录的bin目录下。在linux下,使用命令启动服务:svnservesvnservesvnservesvnserve-d-d-d-d-r-r-r-r\svnroot\svnroot\svnroot\svnroot-d表示--daemon(简写),即关掉执行命令的窗口,服务继续存在。-r表示--root,即指定项目版本仓库的根目录。而在windows下,用同样的命令也可以,只是关掉cmd窗口后,服务也就给关闭了。这样如果服务器一但死机、注销、或重启后也就需要服务器管理人员手动的再次去重新启动传智播客传递IT圣火加入传智播客畅想美好未来()7/37svnserve进程。这个问题的解决办法,在subversion的1.4版以前,是用svnwindowsservicewrapper,将其包装为服务。而subversion1.4以后,是可以直接支持以服务器启动的。方法就是利用xp、2000以上的系统自带的工具servicecontrol,执行文件是sc.exe。注意:要想使用sc命令必须安装Windows2000/2003ResourceKit(资源工具包),否则使用该命令无效。在cmd窗口输入命令如下:scscscsccreatecreatecreatecreateSVN-ServiceSVN-ServiceSVN-ServiceSVN-Servicebinpath=binpath=binpath=binpath=D:\usr\local\SVN\Subversion\bin\svnserve.exeD:\usr\local\SVN\Subversion\bin\svnserve.exeD:\usr\local\SVN\Subversion\bin\svnserve.exeD:\usr\local\SVN\Subversion\bin\svnserve.exe--service--service--service--service-r-r-r-rD:\usr\local\SVN\RepositoryRootD:\usr\local\SVN\RepositoryRootD:\usr\local\SVN\RepositoryRootD:\usr\local\SVN\RepositoryRootdisplayname=displayname=displayname=displayname=SVN-ServiceSVN-ServiceSVN-ServiceSVN-Servicestart=start=start=start=autoautoautoautodepend=depend=depend=depend=TcpipT