SVNの.svnディレクトリを一発で消す
2016年にSVN!?
しかも、Subversion 1.7より前の話!?
(1.7以降はルートにのみ.svnディレクトリがあるので今回みたいなことは起きない)
というのはさておき、困っていたデザイナーさんがいたので救いました
(あと、特に目新しい技術ネタもなかったので。。)
現象
他のディレクトリをまるっとコピーしたことで余計な.svnディレクトリが付いてきて、新しく作ったはずのディレクトリがコミットができない。
A/.svn A/dir1 A/dir1/.svn A/dir1/file1 A/dir1/file2
↑みたいなAディレクトリをBディレクトリとしてコピーしたら、.svnまでコピーしちゃったという感じ。
対応
一緒にコピーしてしまった.svnディレクトリだけを消してやると。
ターミナルでサクッと。
find . -type d -name '.svn' | xargs rm -r
本当は
find . -type d -name '.svn' -print0 | xargs -0 rm -r
とやったほうが安全だけど今回は端折りました。
上記のfindとxargsのコマンドの各オプションの意味は↓の記事が解説がしっかりしているのでオススメです。