Jak rekurencyjnie usunąć foldery metadanych .svn?

11

Mam projekt Java i korzystałem z repozytorium SVN, teraz postanawiam przejść na GIT.

Problem polega jednak na tym, że silnik SVN, którego użyłem, utworzył w każdym folderze projektu .svnkatalog metadanych.

Chcę wyczyścić wszystkie foldery projektu tego ukrytego folderu.

Czy jest jakieś polecenie terminala do przeszukania folderu i wyczyszczenia go?

Ek Kosmos
źródło

Odpowiedzi:

20

Musisz przejść do pożądanego folderu za pomocą cdpolecenia, a następnie napisać następujące polecenie:

find -type d -name '.svn' -exec rm -rfv {} \;

Spowoduje to usunięcie wszystkich svnplików z bieżącego i podkatalogów.

Treviño
źródło
3

Innym sposobem zrobienia tego samego jest:

rm -rf `znajdź. -typ d -nazwa .svn`

Czakra
źródło
1
Chciałbym, aby Windows (mam ten sam problem na tej platformie) miał rozwiązania, które byłyby tak czyste i łatwe :(
Steven
W Powershell może być jakiś skrypt, ale nie używam już Windowsa ;-)
Chakra
Nie udaje się to w przypadku katalogów ze spacjami w nazwie
enzotib
2

Jeśli nadal jest podłączony do svn, po prostu zrób svn exporti skopiuje projekt bez metadanych svn :)

Mata
źródło
1

Dla Windowsa :

  • albo użyj UnxUtils http://unxutils.sourceforge.net/ z poprzednimi odpowiedziami
  • lub użyj wyszukiwania (F3) w Eksploratorze z „.svn” jako nazwą pliku, to również działało dla mnie
Michel Daviot
źródło
0

Mam rozwiązanie, pisząc:

find ./ -name ".svn" | xargs rm -Rf
Ek Kosmos
źródło
Jest to niebezpieczne, gdy jakiś
reżim
Tak. Uważaj na spacje!
nanofarad