二.初识SVN
  1.在进行TortoiseSvn(管理员client)+AnkhSvn(VS2008插件)+VisualSvnServer(版本号控制server)进行源码版本号控制前,有必要先了解下Subversion(Svn)。
  Svn(Subversion)是近年来崛起的版本号管理工具,是CVS的接班人。
  眼下。绝大多数开源软件都使用Svn作为代码版本号管理软件。
  Svnclient
  Subversion的client有两类,一类是webSvn等基于web的,一种是以TortoiseSvn为代表的client软件。前者须要webserver的支持,后者须要用户在本地安装client。
  Svnserver
  Subversion支持linux和windows,很多其它是安装在linux下。
  Svnserver有2种执行方式:独立server和借助apache。
  2种方式各有利弊。
  Svn存储版本号数据也有2种方式:BDB和FSFS。由于BDB方式在server中断时。有可能锁住数据,所以还是FSFS方式更安全一点。
  VisualSvn、VisualSvnServer
  VisualSvn是Svn的client,和VisualStudio集成在一起。可是是商业软件,收费;VisualSvnServer是基于Windows平台上的Subversionserver。它是免费的。他详细包含了Subversion、Apache和一个对应的管理界面。所以推荐使用免费的TortoiseSvnclient以及VS插件AnkhSvn。
  为什么要用Svn,而不用Vss?
  同样点:都能集成在VS2008下进行源码管理,都能全然内网开发。
  不同点:Vss是基于“锁定--编辑—解锁”模式的,这个模式有一个弊端。是当其它人在编辑相关单元文件的时候,此单元文件处于锁定状态,其它人假设想编辑这个单元文件的话。仅仅能处于等待状态。
  后来在持续集成中我使用的Subversion替代Vss,Subversion是基于“改动—冲突—合并”的一个模式,也是说多个人能够同一时候签出一个单元文件,编辑然后提交,假设多个人都改动了同一文件的某一行的话。会发生冲突。手工解决冲突。
  Internet开发,和离线开发,VisualSvn会比Vss更胜一筹。
  为什么要用VisualSvnServer,而不直接用Subversion?
  由于假设直接使用Subversion,那么在Windows系统上,要想让它随系统启动,要封装SvnServer为windwsservice,还要通过改动配置文件来控制用户权限,另外假设要想以Web方式【http协议】?问,一般还要安装配置Apache。假设是新手,岂不是非常头痛?而VisualSvnServe集成了Subversion和Apache,省去了以上全部的麻烦。安装的时候SvnServer已经封装为windwsservice,Apacheserver的配置也仅仅是在图像界面上,指定认证方式、?问port等简单操作;另外,用户权限的管理也是通过图像界面来配置。
  VisualSvnServer是全然开源和免费的,当然它的官方client(VisualSvn)并不免费,只是没关系,VisualSvnServeclient有太多的免费版本号供我们选择,TortoiseSvn是一个不错的选择。
  2.TortoiseSvn是Subversion版本号控制系统的一个免费开源client。能够超越时间的管理文件和文件夹。文件保存在中央版本号库,除了能记住文件和文件夹的每次改动以外,版本号库很像普通的文件server。
  你能够将文件恢复到过去的版本号,而且能够通过检查历史知道数据做了哪些改动。谁做的改动。
  这是为什么很多人将Subversion和版本号控制系统看作一种“时间机器”。
  3.AnkhSVN是一款在VS中管理Subversion的插件,您能够在VS中轻松的提交、更新、加入文件,而不用在命令行或资源管理器中提交。并且该插件属于开源项目。
  三.学习小结
  经过对于软件管理的学习。从总体上认识了软件管理的必要性和重要性,非常大程度上攻克了设计过程中的版本号回溯问题,非常是为设计人员考虑。这也是大家学习的必要性。
  有好的管理方法,使得我们的项目设计过程更为灵活和多元化。
  而相对于SVN的学习比?的抽象了,仅仅是装上了软件和看看了教学的视频,还未进行使用,接下来的时间里,从实践中去认识SVN吧!