谈到svn想必大家都很熟悉,具体我也不必过多赘述。看看由来,便会知道它的前世如何,看到这篇文章,说明你已经开始或者已经在关注它,它的今生发展是多么的迅速,作为近几年飞速崛起的版本管理工具,其发展势态,让咱们dotaer来形容,那就是虎。
2000年,CollabNet开始召集人手开发版本控制软件,并宣称将替代已有的大哥cvs,于此同时,整个团队仍使用着cvs进行着版本的控制。经过了十四个月的编码,终于在01年的8月31号实现了自行管理,从此svn出现在了世人的面前。很多人在用一个东西的时候,都想问问明白,这东西到底好在哪儿,比如存储类型的格式支持啊,速度啊,标识与分支啊,事物,回滚啊等等之类,从而说服自己舍弃cvs从而加入svn的阵营,但是呢,我本人并不同意svn可以完全代替cvs,事物存在的价值在于你关注于它能给你提供的最切实最实际的便利,出于这一点,我选择了从cvs转到了svn,而并非网上各种大篇幅的介绍svn如何在各方面优胜于cvs。简单的说,我仅出于一点,而选择了它,那就是现在的各种开源框架社区都提供的是svn的项目的检出,我记得的一些如Google app engine,apace的一些开源项目,spring的开源项目等等。
说了以上那么多,我们开始进入正题,如何安装和使用svn,当然我只是提一些基础的使用,深层次的,我这短短一篇恐怕是讲不好,更加讲不了的。这里我们就讲解一篇,如何在本地搭建服务器及使用。
第一步,安装svn服务端(安装前,请下载对应版本的客户端和服务端,如:svn-1.4.0-setup.exe,TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi)。安装下载好的windows版本的subversion。不要下载二进制的编译版本。安装后直接打开安装目录,这里全部默认了。即c盘program files目录下面的subversion,打开下面的bin目录,然后复制地址,设置到环境变量的path下。
第二步,安装TortoiseSVN客户端,在硬盘某个盘符下建立自己的版本库根目录。具体操作即建立普通的新文件夹,邮件选择TortoiseSVN菜单的在此处创建版本库。操作到这svn服务器和客户端的安装就基本完成了,下面就是配置了。
第三步,配置svn服务,使用sc命令建立新的service,格式为sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe –service –root D:\SVN" displayname= "svn" depend= tcpip start= auto,需要注意的是,sc命令后面参数名必须紧挨等号,等号后面必须跟上一个空格再写参数值。其他没什么问题。回车执行即可。如果执行后出现错误的提示,不必着急,打开service.msc,看看有没有名称为svn的服务,有的话回到命令提示符使用sc命令删除掉,具体如下(其中的C:\Program Files\Subversion\bin\部分为第一步保留的地址,D:\SVN为你的svn仓库地址)。通过以上删除操作后,不要急于再次创建,打开subversion安装目录下面bin目录中的svn-rep-sharing-stats,运行一次后再次执行上面命令,直至创建成功,即出现success即可。然后的操作就是进入service.msc找到刚刚创建的名称为svn的service,可以看到是自动启动的,这里第一次需要你手动启动一下,这里不再赘述。
第四步,修改账户密码。在刚刚创建的形如D:\SVN的版本库中找到conf文件夹,下面有三个配置文件,分别是权限,账户和svn版本库的配置。(分别是authz、passwd、svnserve.conf)通常不使用权限配置的情况下只需修改svnserve.conf和passwd即可,打开svnserve.conf文件找到# password-db = passwd,把前面的#和空格去除,保持password前面是顶行的,然后保存。之后打开passwd文件,在[users]后面直接追加或者修改上面使用#注释的账户密码即可,这里我采用了test = test的测试账户。
第五步,下载插件开始使用本地服务器上的svn进行项目的检入检出等操作。eclipse的安装插件方式我就不必给大家再讲了,安装好插件之后,我们开始使用。
1.先将本地以后的项目上传到服务器。
2.打开后因为有cvs和svn两种功能,这里我们选择svn,如图
3.紧接着下一步
4.下一步
6.下一步
8.