svn checkout

Posted on Posted in 1.svn

名称

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 --ignore-externals --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.