svn のリポジトリに外部リポジトリを追加する
Subversionのsvn:externalsというプロパティ を参考にして、大元のリポジトリに違うリポジトリを追加(シンボリックリンクみたいなイメージ)してみた。
svn:externals 自体は簡単ですぐにできた。
これできれば Project 単位でリポジトリ作成しておいて、
自分用のリポジトリにもこれで同期できるし、これ便利。
というわけで、さっそく試してみた。
svn propset svn:external 'Hoge http://svn.example.com/hoge' . svn propset svn:external '[checkout 後のフォルダ名] [リポジトリ URL]' [checkout する場所] |
上記の場合だと、カレントディレクトリに http://svn.example.com/hoge を Hoge という名前で checkout する。(正確には、この段階では checkout されない。登録のみ)
次に svn up とすれば、 Hoge がcheckout してくる。
登録されているかどうかの確認は以下のコマンドで確認できる。
svn proplist -v [path] |
削除したい場合は
svn propdel svn:externals [path] |
で、できる。
対象ファイルを svn の管理対象外にする
svn propedit svn:ignore [path] #環境変数で EDITOR を指定していない場合 EDITOR=vi svn propedit svn:ignore [path] |
これで EDITOR が開いて改行区切りでファイルをして指定してやれば
書いた分だけ管理対象外にできる。
一個ずつコマンドを打つ必要がなく editor で書けるので楽。
他にもファイルで読み込むやり方もある。
svn propset svn:ignore -F [ignore file list] [path] |
対象ファイルに実行権限を与える
svn propset svn:executable ON [file] |
実行権限の削除
svn propdel svn:executable [file] |
確認
svn proplist -v [file] 'file name' の属性: svn:executable : * |
おまけ
改行コードにも指定できるみたい。
svn propset svn:eol-style [native', 'LF', 'CR', 'CRLF'] [file] |