svn コマンドは、集中型バージョン管理システム Subversion(SVN)のクライアントツールです。
リポジトリからコードを取得したり、変更をコミットしたりするために利用されます。
構文(Syntax)
svn <サブコマンド> [オプション] [対象...]
主なサブコマンド一覧
| サブコマンド | 説明 | 使用例 |
|---|---|---|
checkout / co | リポジトリから作業コピーを取得 | svn checkout https://example.com/svn/project/trunk |
update / up | 作業コピーを最新に更新 | svn update |
commit / ci | 変更をリポジトリに反映 | svn commit -m "Fix bug" |
add | 新しいファイルやディレクトリを追加 | svn add newfile.txt |
delete / del / rm | ファイルやディレクトリを削除 | svn delete oldfile.txt |
status / st | 作業コピーの変更状況を表示 | svn status |
diff | 差分を表示 | svn diff |
log | コミット履歴を表示 | svn log |
info | ファイルやディレクトリの詳細情報を表示 | svn info |
revert | ローカルの変更を破棄 | svn revert file.txt |
merge | 他ブランチやリビジョンの変更を統合 | svn merge ^/branches/feature-x |
branch | (Subversion では明示的コマンドはなく、copy で作成) | svn copy ^/trunk ^/branches/feature-x -m "Create branch" |
switch | 作業コピーを別のブランチに切り替え | svn switch ^/branches/feature-x |
実行例
リポジトリをチェックアウト
svn checkout https://example.com/svn/project/trunk myproject
最新に更新
svn update
ファイルを追加してコミット
svn add app.py
svn commit -m "Add app.py"
差分を確認
svn diff app.py
履歴を表示
svn log -l 5
出力例:
r105 | alice | 2025-08-27 | Fix security issue
r104 | bob | 2025-08-26 | Add new feature
...
ローカル変更を破棄
svn revert app.py
ブランチを作成
svn copy ^/trunk ^/branches/feature-x -m "Create feature branch"
ブランチに切り替え
svn switch ^/branches/feature-x
エラー例(未バージョン管理のファイルをコミット)
svn commit newfile.txt -m "test"
出力例:
svn: E200009: 'newfile.txt' is not under version control
関連コマンド
備考
- Subversion は 集中型バージョン管理システム で、サーバー上のリポジトリを中心に管理します。
- ブランチやタグは
copyサブコマンドで作成するのが特徴です。 - Git のような分散型とは異なり、常に中央リポジトリと通信する必要があります。
参考
- Subversion公式ドキュメント: https://subversion.apache.org/docs/
- manページ: https://svnbook.red-bean.com/

コメント