SubversionでStandard Layout(標準構成)のリポジトリを100個作らなくてはならなくなったので、作成方法をメモします。
Subversionの標準構成(Standard Layout)のリポジトリ
標準構成のリポジトリとは次の通りです。
Subversion、Git リポジトリの標準レイアウト (standard layout) における trunk, branches, tags
Subversion、Git リポジトリの標準構成 (standard layout) における trunk branches, tagsのレイアウトと開発の進め方についてまとめてみました。
リポジトリの標準構成 (Standard Lay...
具体的には、以下のようなフォルダ構成のリポジトリをaa1からaa100まで100個作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
aa1 --+-- trunk +-- branches +-- tags aa2 --+-- trunk +-- branches +-- tags aa3 --+-- trunk +-- branches +-- tags aa4 --+-- trunk +-- branches +-- tags aa5 --+-- trunk +-- branches +-- tags |
100個のリポジトリの自動作成手順
手順は次の通りです。
1.
まず、aa1からaa100までのリポジトリをサーバーで作成します。
2.
100個のリポジトリをチェックアウトします。
1 2 3 4 5 6 7 |
$ svn co svn://(サーバーのURL)/aa1 $ svn co svn://(サーバーのURL)/aa2 $ svn co svn://(サーバーのURL)/aa3 ・ ・ ・ $ svn co svn://(サーバーのURL)/aa100 |
すると、aa1からaa100までのフォルダが作成されます。
3.
標準構成 (Standard Layout) にします。
1 2 3 4 5 |
$ ls | xargs -i -t mkdir {}/trunk ← 各フォルダにtrunkを作成 $ ls | xargs -i -t mkdir {}/trunk ← 各フォルダにbranchesを作成 $ ls | xargs -i -t mkdir {}/trunk ← 各フォルダにtagsを作成 |
4.
各フォルダの trunk, branches, tags をSubversionでaddします。
絶対パスで
1 2 3 |
$ svn add aa1/trunk $ svn add aa1/branches $ svn add aa1/tags |
のようにしたいので、egrepやawk、xargs を駆使します。
以下のようにすると一気に自動で svn add 出来ます。
1 |
$ find * -ls | egrep "trunk|branches|tags" | awk '{ print $11 }' | xargs -i -t svn add {} |
5.
svn commit します。
1 |
$ ls | xargs -i -t svn commit -m 'initial' {} |
まとめ
Linuxでコマンドラインの処理をする際は、ls, find, xargs, awk, grep/egrep を知っておくと、とても便利です。
コメント