1

チェックアウトした一番上のディレクトリのプロパティ (svn:ignore など) を変更すると (ほとんどの場合はトランクです)、TortoiseSVN を使用して、クライアントは完全なプロジェクトを再帰的に処理します。

大きなツリー、大量のデータ、長い時間がかかります。

どうすればこれを回避できますか? 他の場所に変更がある可能性がありますが、私はそれらに興味がないことを知っているので、とにかくそれらのチェックを外します.

スパース チェックアウト機能は知っていますが、スパース チェックアウトがないため、ここでこれを適用する方法がわかりません。2 番目のスパース チェックアウトを作成し、変更/コミットを適用してから、他のコピーを更新する必要がありますか?

4

2 に答える 2

7

試す:

svn commit --non-recursive [target]

[編集: OP は質問を更新して、通常の Subversion コマンドラインではなく、TortoiseSVN を参照していることを明確にしました。]

いいえ、TortoiseSVN は非再帰的にコミットする直接的な方法を提供していません。ただし、ディレクトリのトップ レベルで何かをコミットし、下位レベルで何かをコミットしない場合(たとえば、ディレクトリの選択を解除した場合)、必然的に非再帰的なコミットが発生します。ここを参照してください。

したがって、回避策があります。どうしてもこれをやりたいのにコマンドラインが気に入らない場合は、下にあるディレクトリのファイルに些細な変更を加えて、実際のファイルをコミットし、ダミーの変更を選択解除してから、ダミーの変更を元に戻します。これにより、TortoiseSVN は非再帰的なコミットを強制されます。

于 2009-03-16T10:22:39.310 に答える
0

ディレクトリに対して操作を行っているため、tortoise はディレクトリ内のすべてに影響を与える可能性があると想定し、作業コピー内をずっと調べます。

作業コピーのチェックは、ネットワーク操作を伴わないファイル システム上のローカル操作であるため、大規模なレポであってもかなり高速である必要があります。

Tortoise が変更されたファイルをすべて見つけたら、必要なファイルだけを選択してコミットできます。

いずれにせよ、違いはディレクトリがプレーン ファイルとは異なる方法で処理されることにあり、この処理の違いは、Tortoise だけでなく、サブバージョン自体の動作にも影響を与える可能性があります。

于 2009-03-16T17:54:27.807 に答える