1

いくつかのファイルが.sccで終わるリポジトリがあります

リポジトリのほぼすべてのサブフォルダーにこれらのファイルの 1 つがあり、それらはすべてコミットされています。

私が使用している:
TortoiseSVN 1.6.15、ビルド 21042 - 64 ビット
Subversion 1.6.16

TortoiseSVN を使用すると、各フォルダーに移動してファイルを右クリックし、[削除して無視リストに追加] を選択できますが、すべてのフォルダーでそれを行うのは面倒です。したがって、私は基本的に、TortoiseSVN の「削除して無視リストに追加」とまったく同じことを再帰的に行う簡単な方法を探しています。TortoiseSVN またはコマンドラインから。

4

1 に答える 1

2

ファイルを無視リストに追加するには、ファイルを更新し%USERPROFILE%\local data\.subversion\configます。(どこにあるかは 100% わかりませんが.subversion、%USERPROFILE% ディレクトリの下のどこかにあるはずです。Unix と Mac では、$HOME/.subversion/config.

そのファイルには、global-ignores=パラメーターがあります。その前にあるを削除し#て (まだ削除されていない場合)、追加.sscすることができます。このファイルの私のバージョンでは、#90 くらいです。

ここで、これらのファイルをすべて削除する方法を見つける必要があり.sccます。あなたがしなければならないのはこれだけです:

  $ find . -name `*.scc -exec svn del {} \;`

待ってください、あなたは Windows を使用しています。それは難しいです。目の前に Windows マシンはありませんが、次のようにすればすべての*.sccファイルを見つけることができます。

 C:> dir *.scc /s/b

forこれを何らかのループにパイプして、svn delステートメントに渡すことができる場合があります。Windows マシンを持っていたとしても、構文を理解するのに時間がかかることがあります。目の前に Windows マシンがないので、さらに困難です。

最も簡単な方法は、出力をファイルにリダイレクトしてから、適切なプログラム エディターを使用してファイルを編集することです (つまり、そうではありませんnotepad.exe)。

 C:> dir *.scc /s/b > delete_me.bat
 C:> notpadplusplus delete_me.bat

これで、Notepad++を使用してファイルを編集し、各行の前にsvn del. このdelete_me.batファイルを実行すると、すべての *.sccファイルが削除されます。(私は個人的にVimを好みますが、私はマゾヒストです)。

大きな問題は、これらのファイルが再び追加されないようにする方法です。クライアント固有であることを示したように、設定を無視します。svn:ignore各ディレクトリにプロパティを設定できます。これは、すべての人に影響するよりグローバルなバージョンですが、ファイルが Windows エクスプローラーに表示されるため、誰かがファイルを追加するのを妨げることはありません。

私は設定できるpre-commit フックを持っているので、誰もこれらの.sccファイルを再び追加することはできません。VisualStudio が配置する他の種類のファイルも含めないように設定することもできます。

于 2012-11-13T01:04:11.900 に答える