extarnalsのあれこれ

extarnalsで他のプロジェクトのトランクを参照している
プロジェクトのブランチを切った時の覚書


ブランチの作成
$svn copy svn://server/project/trunk svn://server/project/branches/YYMMDD


svn checkout と svn copy の違い
checkout:バージョン管理がトランクと同一、commit/updateがtrunk依存になる
copy:バージョン管理がトランクとわかれ、commit/updateは別の分岐として扱われる


指定したプロパティーの表示
$svn propget svn:externals svn://server/project/branches/YYMMDD
>project1 svn://server/project1/trunk
>project2 svn://server/project2/trunk



指定したプロパティーの設定
$svn propset svn:externals 'xxx svn://server/project/branches/YYYYMMDD' svn://berlin/yrz2-dev/branches/YYMMDD


※プロパティーは1コマンドですべて設定すると言うか、コマンド毎の上書きなので
以下のようにプロパテーをまとめたファイルを作っておくと便利
$vi external_objects.txt

// ディレクトリ名 対象パス
$project1 svn://server/project1/branches/110510
$project2 svn://server/project2/branches/110510

ファイルでやる
$svn propset svn:externals -F external_objects.txt svn://server/project/branches/YYMMDD


// 対象ディレクトリに割り当てられた、プロパティーを表示
$svn proplist svn:externals svn://server/project/branches/YYMMDD
>'.' の属性:
> svn:externals
プロパティーは、その親につけられた属性なので、該当ファイル見てもダメ


・リリース用ソースの作成(おまけ)
// svn用の管理ファイル以外のコピーを作成する。
$svn export svn://server/project/branches/YYMMDD ./temp_dir