鉴于各位用户可能还尚未使用过SVN,因此,我在这里写一份简明的SVN教程,以方便大家快速入手。
    SVN的全面是Subversion,是一个开源的版本控制系统,它可以用来管理文档、代码以及任何其他计算机存储的文件的修订。它的基本功能就是能够对比、存储、合并修改、锁定文件(防止两个人同时修改文件造成修改的内容丢失)等,这样使得它能够通过追踪到任何一个修订版本的内容,从而实现追踪文档编辑的历史、修正错误以及防止恶意/意外的文档损毁。实际上,版本控制系统在现今的几乎所有CMS(内容管理系统),办公软件中都能见到。
  关于SVN的功能,官方手册上有一段精彩的描述,有兴趣可以阅读一下:
  在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
  Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
  某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
 
直接进入主题,这篇教程要说明的是各位如何作为用户使用SVN
  但是在说明如何使用之前,我们需要说明一下SVN里面的一些基本概念:
 
版本库
  版本库是SVN的核心部分,它用和我们在Windows下看到的文件的树形的组织形式来保存信息。客户端连接到Subversion版本库,读取、修改这些文件。简单来说,你可以把SVN的版本库想像成一个你的私人的作品库,你写的任何东西都被保存在这个库里面。而SVN版本库最特别的地方就在于,它会记录每一次改变:每个文件的改变,甚至是目录树本身的改变,例如文件和目录的添加、删除和重新组织。
 
解决什么问题?
  所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。举例来说,今天早上我的T11每人都从我们的版本库里读出了一个文件test.c来进行修改,结果,下午我改完了,传到版本库去,而晚上T11也改完了,他也传到版本库去,那么,我的修改就被他覆盖了。
  为了解决问题,一个传统的解决方案是,我读出这个test.c文件以后,把文件锁定,这个时候T11无法去访问这个文件,而当我改完了,解锁了以后T11才能看到这个文件。
  而一个更好的解决方案便是,拷贝-修改-合并的模型,即在版本库里,我和T11各自会自动产生一份各自的工作拷贝,我们各自修改完以后,大家经过确认,合并我们两人的工作拷贝。当然,这种系统只是起到辅助合并工作的作用,具体如何合并同样需要人工的干预。
 
从Eclipse开始
  上面说的那么多,现在我们从eclipse这个最知名的IDE之一,开始我们的SVN之旅:
  新版的eclipse的更新换了,所以我们这样操作,点击菜单栏的Help->Install new software.
  在弹出的窗口里点Add,然后随便打个名称,干脆就SVN吧,location那里就填http://subclipse.tigris.org/update_1.6.x 就好了,这个适用于最新的eclipse,如果你是别的,请到这个页面自己去找。
  另外,现在就可以装了,svn的eclipse客户端名字叫Subclipse,钩上这个,选下一步就可以了。装好后重启一下eclipse就可以用了。
 
下面就可以开始使用SVN了
  我们先看下如何从SVN库中导出项目。打开eclipse后,选择菜单栏上的file->import,然后选择SVN, svn中检出(check out)项目,下一步后,第一次需要选择一个新的svn资源库位置,之后要输入你的url,把你的svn库的url输入进去就好了,比如我的是https://sdesd.svn.sourceforge.net/svnroot/sdesd
  这里,它会开始处理链接,之后跳转到下个页面,这里如果没有报错的话,等一会儿,程序就会从你的库中读出你的文件夹了。你自己选择要签出的文件夹。下一步后,这里如果你是第一次使用就选择作为一个新项目检出,否则就选择第二个。点击完成,这样就完成了svn的签出了。
   那么,当你新建一个项目的时候,想要传到一个SVN库中要怎么办呢?很简单,在eclipse的项目上点右键,选择team->share project,选择,svn,再选择创建一个新的版本库, 输入你的svn库地址,就可以把你的项目给签入到svn上了,注意的是,第一次的时候并不会把你的代码也签进去,而是把你的项目文件夹创建,你必须在你的项目文件夹上选择team->提交才可以把代码嵌入。
 
好吧,下面自己练习吧。