Subversionコマンド

LinkIconsvnadminコマンド
LinkIconsvnコマンド
LinkIconリポジトリのパスの指定方法

milk_btn_pagetop.png

svnadminコマンド  

Subversionリポジトリを作成する
リポジトリの内容をダンプする
リポジトリの内容を復元する

milk_btn_pagetop.png

svnコマンド  

ファイル、ディレクトリ、シンボリックリンクを追加する
指定したファイルまたはURLの内容を表示する
作業コピーをリポジトリから取り出す (co)
作業コピーの編集内容をリポジトリに反映させる (ci)
ファイル、ディレクトリをコピーする
ファイル、ディレクトリ、シンボリックリンクを削除する
変更箇所を調べて unified diff 形式で表示する
クリーンなディレクトリツリーを取り出す
ヘルプメッセージを表示する
新しいプロジェクトをリポジトリに登録する
ローカル、リモートパスにあるアイテムの情報を表示する
リポジトリ中のディレクトリエントリを一覧表示する (ls)
作業コピーパスまたはリポジトリURLをロックする
ファイルやディレクトリの履歴に関する情報を表示する
ディレクトリを作成する
ファイル、ディレクトリを移動する
作業コピーへの編集を取り消す
作業コピーに加えられた変更点を表示する (st)
作業コピーパスまたはリポジトリURLをアンロックする
リポジトリの変更点を作業コピーに取り入れる

milk_btn_pagetop.png

svnadmin create  

Subversionリポジトリを作成します。

$ svnadmin create <リポジトリへのパス>

(注)
Subversionではブランチやタグの処理をコピー操作で行えるよう次のようなディレクトリが作成されるようになっています。

trunk/ 開発を行うディレクトリ
branches/ ブランチを入れるディレクトリ
tags/ タグを入れるディレクトリ

milk_btn_pagetop.png

svnadmin dump  

リポジトリの内容をダンプします。
ダンプされた内容は標準出力に書き出されます。リダイレクトを行いファイル書き出すようにします。
$ svnadmin dump <リポジトリへのパス> > svn_dump

リポジトリの内容は svn_dump に書き出されます。

milk_btn_pagetop.png

svnadmin load  

リポジトリの内容を復元します。
svnadmin load コマンドで指定するリポジトリはあらかじめ作成しておく必要があります。

$ svnadmin load <リポジトリへのパス> < svn_dump

ダンプファイル svn_dump からリポジトリを復元します。

milk_btn_pagetop.png

svn add  

ファイル、ディレクトリ、シンボリックリンクを追加します。

$ svn add <追加アイテム>

アイテムのリポジトリへの追加は次のコミットで行われるます。

(注)
ディレクトリを追加するには、mkdirしたディレクトリをsvn addコマンドで追加する方法と、svn mkdirコマンドを利用する方法があります。

milk_btn_pagetop.png

svn cat  

指定したファイルまたはURLの内容を表示します。

$ svn cat

<使用例>
リビジョン 2のtext.txtファイルをtext.txt.v2に書き出します。
$ svn cat --revision 2 text.txt > text.txt.v2

milk_btn_pagetop.png

svn checkout  

作業コピーをリポジトリから取り出します。

$ svn checkout http://localhost/repos/svn/trunk

$ svn co http://localhost/repos/svn/trunk

リポジトリのパス名の最後のディレクトリが作業コピーとして作成されます。
指定したSubversionリポジトリの最新のリビジョンがコピーされます。

リポジトリ URL の後に作業コピーディレクトリの名前を指定することもできます。

$ svn checkout http://localhost/repos/svn/trunk subv

(注)
作業コピーディレクトリに作成される .svn ディレクトリにはSubversion の管理情報が含まれています。削除したり変更することはできません。

どのリポジトリからチェックアウトしたかは svn info コマンドで調べることができます。

$ svn info

milk_btn_pagetop.png

svn commit  

作業コピーの変更箇所をリポジトリに反映させます。

$ svn commit -m "ロブメッセージ"

$ svn ci -m "ロブメッセージ"

--message (あるいは -m) オプションでログメッセージを指定します。
--message オプションを指定しなかった場合にはログメッセージ入力用エディタが起動します。

(注)
ファイルやディレクトリを削除、追加、コピー、移動する場合は、svn add/delete/copy/move/mkdir などのコマンドを用いて「マーク」を設定します。その後、commitコマンドを実行して変更をリポジトリに反映させる必要があります。

milk_btn_pagetop.png

svn copy  

ファイル、ディレクトリをコピーします。
新しいアイテムをコピー元アイテムのコピーとして作成します。

$ svn copy <コピー元アイテム> <新しいアイテム>

(注)
新しいアイテムがコミットでリポジトリに追加されるとコピーの履歴が記録されます。

milk_btn_pagetop.png

svn delete  

ファイル、ディレクトリ、シンボリックリンクを削除します。

$ svn delete <削除するアイテム>

削除対象アイテムがファイルまたはシンボリックリンクの場合は作業コピーから直ちに削除されます。

削除対象アイテムがディレクトリの場合は作業コピーから直ちには削除されないで、変更のコミット時に作業コピーとリポジトリから削除されます。

ディレクトリを削除するためには、あらかじめそのディレクトリに含まれるファイルを削除し、ディレクトリを空にしておく必要があります。

milk_btn_pagetop.png

svn diff  

変更箇所を調べて unified diff 形式で表示します。
.svn にある「修正元リビジョンのコピー」に対して作業コピー中のファイルとの比較を行います。

$ svn diff

milk_btn_pagetop.png

svn export  

リポジトリまたは作業コピーからローカルマシン上にクリーンなツリーディレクトリを取り出します。

●リポジトリからのエクスポート
URLで指定したリポジトリからクリーンなディレクトリツリーをPATHにエクスポートします。
リポジトリからリビジョン番号を指定してエクスポートすることもできます。

svn export URL [-r <リビジョン番号>] [PATH]

PATHを省略すると、URLの最後の部分がローカルディレクトリ名に使用されます。

●作業コピーからのエキスポート
PATH1で指定された作業コピーからクリーンなディレクトリツリーをローカルマシンのPATH2にエクスポートします。

すべてのローカルの変更がエクスポートされますが、バージョン管理下にあるファイルはエクスポートされません。

svn export PATH1 PATH2

milk_btn_pagetop.png

svn help  

ヘルプメッセージを表示します。

$ svn help

milk_btn_pagetop.png

svn import  

新しいプロジェクトをリポジトリに登録します。

$ svnadmin create /var/www/svn/newrepos
$ svn import -m 'import project' mytree file:///var/www/svn/newrepos/some/project

ディレクトリ mytree の内容がリポジトリ中の some/project ディレクトリの下にコピーされます。

(注)
「.」でカレントディレクトリを指定してインポートすることもできるが、ログメッセージ用に作られる一時ファイルもインポートされてしまいます。

milk_btn_pagetop.png

svn info  

ローカル、あるいはリモートパスにあるアイテムについての情報を表示します。

$ svn info

milk_btn_pagetop.png

svn list  

リポジトリ中のディレクトリエントリを一覧表示します。

$ svn list <リポジトリパス>

$ svn ls <リポジトリパス>

milk_btn_pagetop.png

svn lock  

作業コピーパスまたはリポジトリURLをロックします。

$ svn lock

milk_btn_pagetop.png

svn log  

ファイルやディレクトリの履歴に関する情報を表示します。

$ svn log

<使用例>
$ svn log
$ svn log -r 1
$ svn log file.c
$ svn log http://localhost/svn/trunk/code/file.c

milk_btn_pagetop.png

svn mkdir  

ディレクトリを作成します。

$ svn mkdir <ディレクトリ>

ディレクトリのリポジトリへの追加は次のコミットで行われるます。

milk_btn_pagetop.png

svn move  

ファイル、ディレクトリを移動します。
アイテム名の変更にもsvn move コマンドは使用されます。

$ svn copy <移動元アイテム> <移動先アイテム>

(注)
リポジトリにcommitコマンドの実行後に反映されます。

milk_btn_pagetop.png

svn revert  

変更を取り消して、最後にアップデートまたはコミットした内容に作業コピーを戻すことができます。

$ svn revert [変更を取り消すファイル]

Subversion は指定されたファイルを .svn 領域にある「修正元リビジョン」のコピーで上書きすることよって修正以前の状態に戻します。

milk_btn_pagetop.png

svn status  

作業コピーに加えられた変更点を表示します。

引数なしで実行するとツリー全体の変更が表示されます。

$ svn status

<svn status 表示の意味>

1文字目 追加、削除、変更などを示します。

' ' no modifications
'A' Added
'C' Conflicted
'D' Deleted
'G' Merged
'I' Ignored
'M' Modified
'R' Replaced
'X' item is unversioned, but is used by an externals definition
'?' item is not under version control
'!' item is missing (removed by non-svn command) or incomplete
'~' versioned item obstructed by some item of a different kind

2文字目 ファイルやディレクトリの属性を示します。

' ' no modifications
'C' Conflicted
'M' Modified

3文字目 作業コピーのロックを示します。

' ' not locked
'L' locked

4文字目 履歴付きの追加予告

' ' no history scheduled with commit
'+' history scheduled with commit

5文字目 作業コピーからブランチへのスイッチ (svn switch コマンド)

' ' normal
'S' switched

milk_btn_pagetop.png

svn unlock  

作業コピーパスまたはリポジトリURLをアンロックします。

$ svn unlock

milk_btn_pagetop.png

svn update  

他の作業コピーで行われたリポジトリの変更を自分の作業コピーに反映させます。

$ svn update

<ファイルに対する変更表示文字>
A Added
D Deleted
U Updated
C Conflict
G Merged

milk_btn_pagetop.png

リポジトリのパスの指定方法  

リポジトリへのパス指定は接続方法によって書式が変わります。

file:/// 自分のマシン上のリポジトリに接続します。
file:// ネットワーク上のリポジトリに接続します。
http:// Apache経由でリポジトリに接続します。
https:// Apache経由(SSL)でリポジトリに接続します。
svn:// Svnserve経由でリポジトリに接続します。
svn+ssh:// SSH経由でリポジトリに接続します。

<使用例>
$ svn checkout file:///<リポジトリへのパス>
$ svn checkout file://localhost/<リポジトリへのパス>

milk_btn_pagetop.png

参照ページ

CollabNet
http://www.open.collab.net/jp

CVS to SVN Crossover Guide
http://svn.apache.org/repos/asf/subversion/trunk/doc/user/cvs-crossover-guide.html


2011.09.12