最初的检出

大部分时候,你会从检出你的项目来开始使用Subversion资料库。 检出资料库会在你本地机器上创建一个副本。这个副本包含在你命令行中指定的Subversion资料库的HEAD修订版。

$ svn checkout http://svn.collab.net/repos/svn/trunk
A  trunk/subversion.dsw
A  trunk/svn_check.dsp
A  trunk/COMMITTERS
A  trunk/configure.in
A  trunk/IDEAS
…
Checked out revision 2499.

尽管上面的例子检出的是trunk目录,你也可以很容易的从资料库中检出任何深度的子目录,只要在URL中指定子目录:

$ svn checkout http://svn.collab.net/repos/svn/trunk/doc/book/tools
A  tools/readme-dblite.html
A  tools/fo-stylesheet.xsl
A  tools/svnbook.el
A  tools/dtd
A  tools/dtd/dblite.dtd
…
Checked out revision 2499.

既然Subversion使用“拷贝-修改-合并”模型,而不是“锁定-修改-解锁”(参加第 2 章 基本概念),那么你现在已经可以开始修改你工作副本中的文件和目录了。你的工作副本就像你系统上其他的文件和目录集合一样。你可以编辑和修改他们,移动他们,你甚至能删除整个工作副本并忘掉它。

注意

虽然工作副本“就像其他在你系统上的文件和目录集合”,但是如果你要重新安排你工作副本中的任何东西,你得让Subversion知道。 如果你想复制或者移动工作副本中的一项,你应该使用 svn copy 或者 svn move命令,而不是你的操作系统提供的复制和移动命令。在本章稍后,我们会谈到更多。

除非你准备好要提交一个新文件或目录或者提交对现有项的修改,否则,不需要通知Subversion服务器你已经作了什么。

你可以仅使用资料库URL作为唯一参数来检出一个工作副本,你也可以在你的资料库URL后面指定一个目录。 这样,你的工作副本会被放在你指定的新目录里。例如:

$svn checkout http://svn.collab.net/repos/svn/trunk subv
A  subv/subversion.dsw
A  subv/svn_check.dsp
A  subv/COMMITTERS
A  subv/configure.in
A  subv/IDEAS
…
Checked out revision 2499.

以上命令会把你的工作副本放到一个名为subv的目录里,而不是像前面那样放到trunk目录下。