2012-01-11 14 views
0

svnチェックアウトされたファイルだけを削除するスクリプトを作成する必要があります。これは、svnのチェックアウトを元に戻すようなものです。svnファイルとディレクトリの削除

+1

何を達成しようとしていますか?すべての.svnフォルダを削除しますか? –

+0

今後、あなたの意図についてより良い説明を提供できる方がよいでしょう。 – Kev

+0

@Kevは時々クライアントと協力して、いくつかの言葉で意図を説明することは非常に難しいです....そのように私は何かのクリーンなアンインストールをしたいのです...私が作成したデータベースを削除し、私はダウンロードしました... –

答えて

0

これを行うより良い方法が見つかりました。

svn list | xargs rm 
0
find . -name "FILE-TO-FIND" -exec rm -rf {} \; 
+0

'-exec'の前にスペースがありませんが、' rm -r'を使うと 'find'を使う利点が無くなります。 – tripleee

1

あるfoobarはSVN 作業コピーをチェックアウトしたすべてのファイルは、ファイル.svn/text-base/foobar.svn-baseに保存された自身のコピーを持っています。このファイルのリストを取得すると、のリストがのファイルにチェックアウトされます。

あなたが見つける使用今
ls .svn/text-base/ | sed 's/\.svn-base$//' | xargs rm 

、それは再帰的にすると、少し複雑sed

find -wholename '*/.svn/text-base/*.svn-base' | sed 's/\/\.svn\/text-base\/\(.*\)\.svn-base$/\/\1/' | xargs rm 

しかし、最終的に、私は本当にあなたが達成しようとしている何を思ったんだけど... OPは実際にの意味を理解していたのですか?012NはSVNの意味でをチェックアウトしましたか?

+0

あるいは 'svn status -v'の出力をXMLオプションで解析することもできます。 – tripleee

+0

おかげさまでお互いに感謝しています... ... svn status -v |カット-d '' -f28 | sedの/^\ ./ \。svn/'|カット-d/-f1 |ユニーク| xargs rm -rf ....私は28列目をカットすることには満足していませんが...もっと良い方法があるかもしれませんが、今のところうまくいきます... –