2009-07-02 9 views
4

私のRepoトランクには、リリースタグを残したいというディレクトリunit-testsがあります。私がやっていることはトランクを新しいタグにコピーしてからunit-testsを削除することです。 これはOKですか?すべてのリリースにタグを付けるために2つのリビジョンが必要なので、間違っていると感じます。 は除外ディレクトリからsvnコピーを除外する方法はありますか?SVN:ファイルのサブセットを新しいタグにコピーできますか?

など。

/trunk/unit-tests 
/trunk/dir1 
/trunk/file1 
/trunk/file2 

を私は作りたい:私は持っている

/tags/release_123/dir1 
/tags/release_123/file1 
/tags/release_123/file2 

私は、一般的にトータス/ Eclipseのクライアントを使用しますが、必要であれば、私はそれをcliをことができます。

+2

ユニットテストはコードと共に行われます。何故*なぜ*あなたがコードをスナップショットしたいのですが、単体テストはしたくないと思います。 –

+1

申し訳ありませんが、「単体テスト」は単なる例です。実際に開発者がアクセスしたいかもしれないいくつかのユーティリティがありますが、それは "公式"リリースには属しません。私の理論はリリースタグが.zipリリースと同一でなければならないということでした。 –

+1

「公式」の.zipリリースを作成し、それをSVNに配置するビルドスクリプト/レシピファイルを作成することもできます。少なくともJavaのようなコンパイルされた言語の場合、ソースツリーは決してリリースツリーのように見えません。 – Thilo

答えて

4

(窓に含まSVN1.5以降のビルド) この小さなツールは、単一のコミットに複数のsvnactionsを収集します。ただし、先に宛先フォルダを作成する必要があります。フォルダを作成することはできませんし、単一のトランザクションで内部のコンテンツをコピーします。ここではサンプル:また、このタスクを達成するためのPerl/Pythonの/ルビーバインディングまたはsvnkit(javaの)を使用することができます

svn mkdir -m "creating a tag" http://your.serv.er/svn/repo/tags/release_123 
svnmucc cp HEAD http://your.serv.er/svn/repo/trunk/dir1 http://your.serv.er/svn/repo/tags/release_123 \ 
cp HEAD http://your.serv.er/svn/repo/trunk/file1 http://your.serv.er/svn/repo/tags/release_123 \ 
cp HEAD http://your.serv.er/svn/repo/trunk/file2 http://your.serv.er/svn/repo/tags/release_123 -m "creating tag Part II" 

が、私はこのためのソースコードを提供することはできません。

2

私はできないと思います。

しかし、なぜ単体テストディレクトリを削除する必要がありますか? リポジトリ内に余分なスペースを占めることはありません。実際には、余分なスペースが必要です(余分なコミットのため)。

タグのチェックアウトが長すぎる/大きすぎると思われる場合は、ユニットテストディレクトリをチェックアウトしないことを選択できます。あなたが転覆によって提供さsvnmuccプログラムを使用してこれを行うことができます

関連する問題