名前

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.