### 名称 svn checkout ― 从版本库取出一个工作拷贝。 ### 概要 ~~~ svn checkout URL[@REV]... [PATH] ~~~ ### 描述 从版本库取出一个工作拷贝,如果省略*`PATH`*,URL的基名称会作为目标,如果给定多个URL,每一个都会检出到PATH的子目录,使用URL基名称的子目录名称。 ### 别名 co ### 变化 创建一个工作拷贝。 ### 是否访问版本库 是 ### 选项 ~~~ --revision (-r) REV --quiet (-q) --non-recursive (-N) --username USER --password PASS --no-auth-cache --non-interactive --config-dir DIR ~~~ ### 例子 取出一个工作拷贝到`mine`: ~~~ $ svn checkout file:///tmp/repos/test mine A mine/a A mine/b Checked out revision 2. $ ls mine ~~~ 检出两个目录到两个单独的工作拷贝: ~~~ $ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz A test/a A test/b Checked out revision 2. A quiz/l A quiz/m Checked out revision 2. $ ls quiz test ~~~ 检出两个目录到两个单独的工作拷贝,但是将两个目录都放到`working-copies`: ~~~ $ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz working-copies A working-copies/test/a A working-copies/test/b Checked out revision 2. A working-copies/quiz/l A working-copies/quiz/m Checked out revision 2. $ ls working-copies ~~~ 如果你打断一个检出(或其它打断检出的事情,如连接失败。),你可以使用同样的命令重新开始或者是更新不完整的工作拷贝: ~~~ $ svn checkout file:///tmp/repos/test test A test/a A test/b ^C svn: The operation was interrupted svn: caught SIGINT $ svn checkout file:///tmp/repos/test test A test/c A test/d ^C svn: The operation was interrupted svn: caught SIGINT $ cd test $ svn update A test/e A test/f Updated to revision 3. ~~~