Subversionの外部定義でブランチ

外部定義を設定したところで、参照元も参照先もまとめてブランチを作りたいという状況。

残念ながら…設定された外部参照先は変わりません。



一応しらべる

外部定義のサポートを通じて作られれた作業コピーは最初の作業コピーとは
まだ独立したものです(つまり、svn:externals属性が実際に設定されている
かも知れないバージョン化されたディレクトリからは独立したものです)。

新しいブランチ上のアイテムに定義された外部定義はまだ/trunk中の
バージョン化されたリソースを参照しています。もし作業コピーの親を
再設定する必要がある場合、外部定義がそれに付随することは ありません。

というわけで、ブランチではブランチの設定をし直す必要があるとゆーことか…。

じゃあ、なんとかマニュアルオートな感じで作業してみよう…

  1. 外部定義している箇所を全てリストアップ

    svn propget svn:externals --recursive *

    すると、↓こんな感じで出力

    app/controller - user svn+ssh://...trunk/user
    
    app/views - user svn+ssh://...trunk/user
    admin svn+ssh://...trunk/admin


  2. テキスト編集でコマンドを整形(v_v;)


    なんか、マクロとか使ってがんばって…svn propsetコマンドを作ります。。

    svn propset svn:externals 'user svn+ssh://...branches/user' app/controller
    svn propset svn:externals 'user svn+ssh://...branches/user 
                               admin svn+ssh://...branches/admin' app/views

  3. そして、一括実行・・
    なんて まにゅふぁくちゅある …