Bagaimana cara menghapus folder metadata .svn secara rekursif?

11

Saya punya proyek Java dan menggunakan repositori SVN, sekarang saya memutuskan untuk berubah menjadi GIT.

Namun masalahnya adalah mesin SVN yang saya gunakan dibuat di setiap folder proyek .svndirektori metadata.

Saya ingin membersihkan semua folder proyek dari folder tersembunyi ini.

Apakah ada perintah terminal untuk mencari di folder dan membersihkannya?

Ek Kosmos
sumber

Jawaban:

20

Anda harus pindah ke folder keinginan menggunakan cdperintah lalu tulis perintah berikut:

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

Ini akan menghapus semua svnfile dari direktori saat ini dan sub-direktori.

Treviño
sumber
3

Cara lain untuk melakukan hal yang sama adalah:

rm -rf `find. -type d -name .svn`

Cakra
sumber
1
Saya berharap Windows (saya memiliki masalah yang sama pada platform itu) punya solusi yang bersih dan mudah :(
Steven
Mungkin ada beberapa skrip di Powershell, tapi saya tidak menggunakan Windows lagi ;-)
Chakra
Gagal untuk direktori dengan spasi dalam nama
enzotib
2

Jika masih terhubung ke svn lakukan saja svn exportdan itu akan menyalin proyek tanpa metadata svn :)

Tikar
sumber
1

Untuk Windows:

  • baik menggunakan UnxUtils http://unxutils.sourceforge.net/ dengan jawaban sebelumnya
  • atau gunakan pencarian (F3) di explorer dengan ".svn" sebagai nama file, itu juga bekerja untuk saya
Michel Daviot
sumber
0

Saya menyukai solusi dengan mengetik:

find ./ -name ".svn" | xargs rm -Rf
Ek Kosmos
sumber
Ini berbahaya, ketika beberapa dir dapat berisi spasi dalam namanya
enzotib
Iya. Waspadalah terhadap ruang!
nanofarad