大多数时候,你会使用 checkout 从版本库取出一个新拷贝,开始使用
Subversion,这样会在本机创建一个项目的“本地拷贝”,这个拷贝包括了命令行指定版本库中的
顶点(最新的)版本:
$ svn checkout http://svn.collab.net/repos/svn/trunk A trunk/Makefile.in A trunk/ac-helpers A trunk/ac-helpers/install.sh A trunk/ac-helpers/install-sh A trunk/build.conf … Checked out revision 8810.
尽管上面的例子取出了 trunk 目录,你也完全可以通过输入特定 URL 取出任意深度的子目录:
$ svn checkout \
http://svn.collab.net/repos/svn/trunk/subversion/tests/cmdline/
A cmdline/revert_tests.py
A cmdline/diff_tests.py
A cmdline/autoprop_tests.py
A cmdline/xmltests
A cmdline/xmltests/svn-test.sh
…
Checked out revision 8810.
因为 Subversion 使用“拷贝-修改-合并”模型,而不是“锁定-修改-解锁”模型(见第 2 节 “版本模型”),你可以在工作副本中开始修改的目录和文件,你的工作副本和你的系统中的其它文件和目录完全一样,你可以编辑并改变它,移动它,也可以完全的删掉它,把它忘了。
|
警告 |
|---|---|
|
因为你的工作副本“同你系统上的文件和目录没有任何区别”,你可以随意修改文件,但是你必须告诉 Subversion 你做的其他任何事。例如,你希望拷贝或移动工作副本的一个文件,你应该使用 svn copy 或者 svn move,而不要使用操作系统的拷贝移动命令,我们会在本章后面详细介绍。 |
除非你准备好了提交一个新文件或目录,或改变了已存在的,否则没有必要通知Subversion你做了什么。
因为你可以使用版本库的 URL 作为唯一参数取出一个工作副本,你也可以在版本库 URL 之后指定一个目录,这样会将你的工作目录放到你的新目录,举个例子:
$ svn checkout http://svn.collab.net/repos/svn/trunk subv A subv/Makefile.in A subv/ac-helpers A subv/ac-helpers/install.sh A subv/ac-helpers/install-sh A subv/build.conf … Checked out revision 8810.
这样将把你的工作副本放到 subv,而不是和前面那样放到 trunk,如果
subv 不存在,将会自动创建。
当你执行的 Subversion 命令需要认证时,缺省情况下 Subversion 会在磁盘缓存认证信息。在某些系统中,Subversion 不能加密你的认证数据。你会被询问,是否缓存你的明文密码到磁盘。你可以选择缓存,这样做比较方便,在接下来的操作中你就可以不必输入密码。但如果你很在乎明文密码缓存,不想每次都被询问,你可以永久关闭明文缓存,或者针对每个服务器设置。
To permanently disable caching of passwords in plaintext, you can add the
line store-plaintext-passwords = no to the global section
in the servers configuration file on the local
machine. To disable caching of plaintext passwords for a particular server,
use the same setting in the appropriate group section in the
servers configuration file. See 第 1.3 节 “配置选项” in 第 7 章 定制你的 Subversion 体验 for details.
You can also disable caching of authentication credentials entirely, regardless of whether the credentials are stored in encrypted form or not.
在某个命令中关闭密码缓存,可以使用 --no-auth-cache 选项,如果希望永久关闭缓存,可以在本机
Subversion 的配置文件中增加 store-passwords = no 这一行,详情参见第 11.2 节 “客户端凭证缓存”。