5

リポジトリトランクにはunit-tests、リリースタグから除外したいディレクトリがあります。私がやっていることは、トランクを新しいタグにコピーしてから、を削除することunit-testsです。これで大丈夫ですか?すべてのリリースにタグを付けるには2つのリビジョンが必要なため、違和感があります。svnコピーからディレクトリを除外する方法はありますか?

例:

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

そして私は作成したい:

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

私は通常Tortoise/Eclipseクライアントを使用しますが、必要に応じてCLIを使用することもできます。

4

2 に答える 2

4

これを行うには、subversionが提供するsvnmuccプログラム(SVN1.5以降のWindowsビルドに含まれています)を使用します。この小さなツールは、複数のsvnactionを1つのコミットに収集します。ただし、前に宛先フォルダを作成する必要があります。1回のトランザクションでフォルダを作成してその中のコンテンツをコピーすることはできません。ここにサンプルがあります。

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" 

perl / python / ruby​​バインディングまたはsvnkit(java)を使用してこのタスクを実行することもできますが、このためのソースコードを提供することはできません。

于 2009-07-03T16:36:30.913 に答える
2

私はあなたができるとは思わない。

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

タグのチェックアウトに時間がかかりすぎる/大きくなりすぎることが心配な場合は、ユニットテストディレクトリをチェックアウトしないことを選択できます。

于 2009-07-02T04:32:38.917 に答える