SVN学习摘要

上一篇 / 下一篇  2007-06-14 11:43:07 / 个人分类:SVN

(摘要自<使用Subversion进行版本控制>http://svnbook.subversion.org.cn/)

Subversion是一种集中的分享信息的系统,它的核心是版本库,它储存所有的数据,版本库按照文件树形式储存数据—包括文件和目录。任意数量的客户端可以连接到版本库,读写这些文件。通过写,别人可以看到这些信息,通过读数据,可以看到别人的修改。

工作拷贝怎样追踪版本库

对于工作拷贝的每一个文件,Subversion在管理区域.svn/记录两项关键的信息:

  • 工作文件所作为基准的修订版本(叫做文件的工作修订版本)和

  • 一个本地拷贝最后更新的时间戳。

给定这些信息,通过与版本库通讯,Subversion可以告诉我们工作文件是处与如下四种状态的那一种:

未修改且是当前的

文件在工作目录里没有修改,在工作修订版本之后没有修改提交到版本库。svn commit操作不做任何事情,svn update不做任何事情。

本地已修改且是当前的

在工作目录已经修改,从基本修订版本之后没有修改提交到版本库。本地修改没有提交,因此svn commit会成功的提交,svn update不做任何事情。

未修改且不是当前的了

这个文件在工作目录没有修改,但在版本库中已经修改了。这个文件最终将更新到最新版本,成为当时的公共修订版本。svn commit不做任何事情,svn update将会取得最新的版本到工作拷贝。

本地已修改且不是最新的(这种情况碰到的比较多,需要注意红色标记的内容,这样的机制就可以放心Update)

这个文件在工作目录和版本库都得到修改。一个svn commit将会失败,这个文件必须首先更新,svn update命令会合并公共和本地修改,如果Subversion不可以自动完成,将会让用户解决冲突。svn status命令可以告诉你工作拷贝中文件的状态


TAG: svn SVN

 

评分:0

我来说两句

Open Toolbar