svn update
svn up
* カレントディレクトリ「以下」で編集中のファイルを一覧表示\\
svn st\\
svn status
* カレントディレクトリで編集中のファイルを一覧表示\\
svn st -N\\
svn status -N
または svn status --non-recursive
* 他で更新されたファイルを表示。\\
sv st -u\\
svn status -u\\
または\\
svn status --show-updates
* 追加\\
* ディレクトリ\\
svn add <ディレクトリ名>\\
ディレクトリの add は再帰的に実行される。
* ファイル\\
svn add <ファイル名>
* コミット\\
svn commit -m 'xxx' pom.xml\\
ディレクトリの commit は再帰的に実行される。
* 編集中のファイルを元に戻す\\
svn revert pom.xml
* 履歴一覧\\
svn log pom.xml
* サブディレクトリ以下にあるファイルの履歴詳細一覧\\
svn log -v <directoryname>
* サブディレクトリ以下にあるファイルのステータス一覧\\
svn status -v <directoryname>
* コマンドのヘルプ\\
svn help checkout
* チェックアウト\\
%%svn checkout svn+ssh://user@192.168.1.1/var/lib/svn/java/%%
* 特定のリビジョンをチェックアウト\\
%%svn checkout svn+ssh://user@192.168.1.1/var/lib/svn/java/%%@123
* エクスポート\\
%%svn export svn+ssh://user@192.168.1.1/var/lib/svn/java%%
* サーバ上のファイル一覧を参照\\
%%svn ls svn+ssh://user@192.168.1.1/var/lib/svn/java/%%
* ヘルプ\\
svn help
svn ls file:/home/svn/repo/trunk
* ディレクトリ作成
svn mkdir file:/home/svn/repo/foo
svn propget(pget,pg) svn:ignore file:///dir/program/source/trunk svn proplist(plist,pl) file:///dir/program/source/trunk
svn propedit(pedit,pe) svn:ignore file:///dir/program/source/trunk svn propset(pset,ps) svn:ignore file:///dir/program/source/trunk
svn propdel(pdel,pd) svn:ignore file:///dir/program/source/trunk
svn diff -r 567:568 http://foo.abc/svn/trunk/xxx/
SSH接続の場合
svn copy svn+ssh://foo@192.168.1.1/var/lib/svn/repository/project/trunk \
svn+ssh://foo@192.168.1.1/var/lib/svn/repository/project/branches/pilot_version \
-m "save pilot vertion."
svnadmin dump /var/lib/svn/java/ | gzip -c > svn_java.dump.gz
svn delete -m '誤ってコミットしたファイルを削除' svn+ssh://user@host/var/lib/svn/repository/projects/<del dir>
xinetd 用ファイルを作成(svnserveで接続する場合)
※svn+ssh で接続する場合は不要です。
/etc/xinetd.d/svn
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svn
server = /usr/bin/svnserve
server_args = -i -r /var/lib/svn/repository
# only_from = 192.168.10.0/24 192.168.1.0/24 127.0.0.1/32
}
[users]
userfoo=password
<code>
- authz にグループとディレクトリアクセス権限を登録
<code>
[groups]
admin=admin,manager
[/]
* = r
@admin = rw
[/java]
userfoo = rw
[general] anon-access = read auth-access = write password-db = passwd authz-db = authz
設定後はリロードなどしなくても即座に反映される。(以降のリクエストから)
./cvs2svn –encoding=euc_jp –fallback-encoding=cp932 –force-branch=RELEASE_0_9_6 –force-branch=RELEASE_0_9_5 -s ../repo/ ../root/
文字コード
文字コード変換でエラーが発生した時に使う文字コード
指定されたリビジョンはブランチとして扱う*1
指定されたリビジョンはタグとして扱う*2
※ファイル名に日本語(特にOSと異なるエンコーディングで)が使われていると、エラーが発生する可能性がありますので、事前に削除しておきます。
SVNサーバ上のディレクトリはリビジョン番号が上がっているので、svn update してワーキングディレクトリに反映させる。