[[開発者向けメモ]]
[[開発メモ]]

*Subversion [#ba048fb2]

// #ls2

#contents

**過去のバージョンに戻す [#na1dad42]

リビジョン番号の指定を降順にすることで,過去のバージョンへ逆行できる.
再コミットは必要.
 $ cd rctools/librcsc
 $ svn merge -r 200:198 https://svn..../repos/rctools/trunk/librcsc 


**無視するファイルやディレクトリの指定 [#m6aa6e89]

CVSにおける.cvsignoreのようなもの.
svn status, svn add, svn commit などを実行しても,指定されたファイルへは反映されなくなる.
svn:ignore属性によって設定する.

 $ svn propset svn:ignore KEYWORD PATH

カレントディレクトリを設定したい場合,PATHは"."で良い.再帰的に設定したい場合は"-R"オプションを付ける

KEYWORDの代わりにファイルで一括指定することもできる.

 $ svn propset svn:ignore -F FILE .

FILEのフォーマットは.cvsignoreと同じで,無視するパターンを一行ごとに列挙したもの.以下のように.cvsignoreをそのまま使うこともできる.

 $ svn propset svn:ignore -R -F .cvsignore .

autotoolsを使っているなら,以下の内容を登録しておくと良い.

 *~
 *.a
 *.la
 *.lo
 *.o
 .deps
 .libs
 Doxyfile
 INSTALL
 Makefile
 Makefile.in
 aclocal.m4
 autom4te.cache
 autoscan.log
 config.guess
 config.sub
 config.h
 config.h.in
 config.log
 config.status
 configure
 configure.scan
 depcomp
 install-sh
 libtool
 ltmain.sh
 missing
 mkinstalldirs
 stamp-h1
 moc_*

**バイナリ属性の解除 [#ude94aa5]
テキストファイルなのに,バイナリだと判断されたものがあった場合への対応.

 $ svn propdel svn:executable FILELIST
 $ svn propdel svn:mime-type FILELIST

**ブランチ内のログ参照 [#lf00349e]

ブランチを作成してから,そのブランチ内だけで行われた変更履歴を確認するには,
 $ cd PATH/TO/BRANCH
 $ svn log --stop-on-copy

**ブランチとのdiff [#qf898b56]
 $ cd PATH/TO/TRUNK
 $ svn diff -r 198:200 PATH/TO/BRANCH

**ブランチからのマージ [#z6caef38]
あるbranch上での変更内容をtrunkへマージする.
以下の例は,branch内でのリビジョン198から200までの変更内容をtrunkへマージする場合.
 // 作業コピーのtrunkのディレクトリへ移動
 $ cd trunk/librcsc
 // 内容確認
 $ svn diff -r 198:200 https://svn..../repos/rctools/branches/librcsc-1.2.x
 // 内容確認 その2. 状態フラグが表示されるだけで,ファイルには変更が加えられない
 $ svn merge --dry-run -r 198:200 https://svn..../repos/rctools/branches/librcsc-1.2.x
 // 実行
 $ svn merge -r 198:200 https://svn..../repos/rctools/branches/librcsc-1.2.x

**リポジトリの参照先変更 [#z5c1b02d]

リポジトリのURLが変更された場合,ローカルの作業コピーの内容はそのままで,参照先だけ変更すればよい.

 $ svn switch --relocate svn+ssh://old/path/to/repos svn+ssh://new/path/to/repos

**リポジトリの移動 [#kb3b3cb3]

ダンプファイルを新しい環境でロードする.

 旧環境で実行
 $ svnadmin dump /home/svnroot > svnroot-dump
 
 新環境で実行
 $ svnadmin load /home/new-svnroot < svnroot-dump

エラーへの対処
 svn: Barkley DB error ...
 こんなエラーが出たら,以下のコマンドを実行してみる
 
 $ svnadmin recover svnroot/

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.