Saya memiliki folder,, c:\websites\test
dan berisi folder dan file yang diperiksa dari repositori yang tidak ada lagi. Bagaimana cara saya membuat Subversion berhenti melacak folder itu dan semua subfolder dan file?
Saya tahu saya bisa menghapus .svn
folder itu, tetapi ada banyak sub-folder di banyak layer.
Jawaban:
Juga, jika Anda menggunakan TortoiseSVN, cukup ekspor ke lokasi copy pekerjaan saat ini dan itu akan menghapus folder dan file .svn.
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Jawaban yang Diperbarui untuk Subversi 1.7:
Dalam Subversi 1.7 copy pekerjaan telah direvisi secara luas. Hanya ada satu folder .svn, yang terletak di dasar copy pekerjaan. Jika Anda menggunakan 1.7, maka hanya menghapus folder .svn dan isinya adalah solusi yang mudah (terlepas dari menggunakan TortoiseSVN atau alat baris perintah).
sumber
Di Linux, ini akan berfungsi:
sumber
Coba ekspor svn .
Anda harus dapat melakukan sesuatu seperti ini:
Dan kemudian hapus saja copy pekerjaan lama.
TortoiseSVN juga memiliki fitur ekspor , yang berperilaku sama.
sumber
svn: E000002: Can't stat '/.classpath': No such file or directory
Jika Anda menjalankan Windows maka Anda dapat melakukan pencarian pada folder itu
.svn
dan yang akan mendaftar semuanya. Menekan Ctrl+ Aakan memilih semuanya dan menekan delete akan menghapus semua hal Subversion 'sial'.sumber
Di Linux perintahnya adalah:
sumber
Saya menemukan bahwa Anda bahkan tidak perlu menyalin ke lokasi sementara. Anda bisa melakukan
dan file .svn akan dihapus in situ , meninggalkan file lain apa adanya. Sangat nyaman dan tidak mudah berantakan.
sumber
Tanpa subkulit di Linux untuk menghapus
.svn
folder:sumber
Tidak ada jawaban yang memuaskan untuk situasi saya. Saya menggunakan subversi 1.8 dan saya memiliki copy pekerjaan yang hanya memiliki satu
.svn
folder di folder pertama, root. Namun, saya ingin menghapus beberapa cabang dari copy pekerjaan.Apa pun yang saya lakukan, setiap kali saya menjalankan 'pembaruan' itu akan mengembalikan file-file itu dan mengembalikan semuanya. Saya tidak ingin menghapusnya dari repositori, hanya dari komputer saya - tetapi saya perlu menjaga sisa copy pekerjaan dalam kebijaksanaan (sehingga tidak bisa hanya menghapus folder .svn).
Larutan?
svn update --set-depth exclude <dir>
Ini adalah "pembaruan" sisi klien yang mengecualikan direktori tertentu. Itu dapat ditemukan di manual di svnbook.com . Singkatnya, ini menggambarkan ini sebagai:
Untuk TortoiseSVN, Anda juga dapat melakukan hal yang sama dengan mengklik kanan folder yang tidak Anda inginkan, klik
Update to revision...
, dan kemudian tetapkan 'Perbarui Kedalaman'Exclude
, seperti yang terlihat dalam cuplikan layar ini:sumber
Ini bekerja dengan baik untuk saya:
sumber
mkdir -p ';echo Hi Johnny;/.svn'
- dalam hal ini {} permohonan find masih tetap bekerjaGunakan
svn export
perintah:Semua file di bawah kontrol versi akan diekspor. Periksa ulang untuk memastikan Anda tidak melewatkan sesuatu.
sumber
Cukup hapus folder .svn di dalam folder yang diperlukan maka kontrol akan otomatis dihapus.
sumber
Di Windows, Anda dapat menambahkan tautan cepat ke tautan itu ke menu klik kanan penjelajah Anda. Mulai saja skrip registri ini:
Ini akan menambahkan item yang disebut "Hapus Folder SVN" ke menu klik kanan Anda. Ini akan menghapus semua folder .svn di folder ini dan semua subfolder.
Sumber (Jerman): http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
sumber
Anda dapat menggunakan "ekspor svn" untuk membuat salinan folder itu tanpa data svn, atau Anda dapat menambahkan folder itu untuk mengabaikan daftar
sumber
Bagi mereka yang menggunakan NetBeans dengan SVN, ada opsi 'Subversion> Ekspor'.
sumber
Ada juga alat open source kecil yang bagus yang disebut SVN Cleaner yang menambahkan tiga opsi ke Menu Konteks Windows Explorer:
sumber
Pada Windows 7 kita dapat membuka folder proyek dan melakukan pencarian ".svn" jika file tersembunyi diaktifkan dan hapus semua folder .svn yang ditemukan.
sumber
.svn
direktori tidak lagi tersebar di mana-mana. Untuk perincian lebih lanjut, periksa subversion.apache.org/docs/release-notes/1.7.html#wc-ngLihat ini, http://www.hacktrix.com/how-to-delete-svn-folders-from-your-project-on-windows-linux-and-mac
sumber
Jawabannya sangat sederhana - ekspor folder itu sendiri ! TortoiseSVN mendeteksi kasus khusus ini dan menanyakan apakah Anda ingin membuat copy pekerjaan tidak berversi. Jika Anda menjawab ya direktori kontrol akan dihapus dan Anda akan memiliki pohon direktori polos, tidak berversi.
sumber
Solusi Linux lainnya (lebih sederhana):
sumber
Jika Anda berpikir bahwa Anda bisa menang dengan perintah sihir sederhana, Anda gagal! SVN benar-benar rumit dan selalu kembali entah bagaimana dengan pesan kesalahan baru di Xcode. Cepat atau lambat, berjanjilah ... jadi Anda harus melakukannya dengan cerdas!
Seperti yang Anda ketahui praktik reguler dan terbaik di bawah Xcode menghapus file pada panel proyek di sebelah kiri. Jika Anda melewatkannya dan entah bagaimana menghapusnya di Finder, Anda dalam masalah. Masalah besar! Tapi Anda bisa menyelesaikannya dan meluangkan waktu jika Anda melakukannya dengan baik.
Pertama, Anda perlu menghapus referensi SVN ke file atau folder sebelum Anda bisa menghapusnya sebenarnya
Jika Anda bisa mengembalikan file / folder dari tempat sampah atau membatalkan langkah terakhir ketika Anda menghapusnya, maka ...
Pergi ke Terminal - ya, terminal lama yang bagus - dan pergi ke lokasi itu. Cara terbaik ketik saja cd lalu tarik folder / file ke Terminal. Anda akan mendapatkan yang serupa
Anda dapat memeriksa di mana Anda berada
perintah yang daftar file Anda.
Maka Anda perlu menghapus referensi svn dengan perintah SVN:
svn hapus --keep-local fileName_toDelete
Ini akan menghapus file dari repositori SVN, TETAPI Anda harus menghapusnya secara manual di Finder.
sumber
Saya menggunakan rsync:
sumber
Pengguna NetBeans IDE dapat melakukannya seperti di bawah ini:
Pilih proyek
Di kotak dialog
Anda sekarang dapat beralih ke Git :)
sumber
Ide saya adalah menghapus folder .svn dan kemudian memindahkan semua file lainnya ke folder baru. Sesederhana itu.
sumber
Ketika Anda menggunakan OS Windows, pergi ke lokasi folder Anda dan periksa file tersembunyi terbuka, dan kemudian Anda dapat melihat folder SVN di sana. Hapus saja folder itu.
sumber
svn export
berfungsi dengan baik, tapi saya pikir ini adalah:Itu menghapusnya dari repositori lokal Anda.
sumber
Sebagai titik vital, ketika Anda menggunakan shell untuk menghapus folder .svn, Anda memerlukan argumen -depth untuk mencegah perintah find memasuki direktori yang baru saja dihapus dan menampilkan pesan kesalahan seperti mis.
Sebagai hasilnya, Anda dapat menggunakan
find
perintah seperti di bawah ini:sumber
Dari baris perintah Windows:
sumber
Gunakan yang berikut ini:
svn rm --keep-local <folder name>
untuk menghapus folder dan semua yang ada di dalamnya.svn rm --keep-local <folder name>/*
untuk menyimpan folder, tetapi hapus semua yang ada di dalam folder.Ini adalah contoh dari apa yang terjadi:
sumber
Pada Windows 10, kita harus pergi ke
Windows Explorer
, dan kemudian pergi keView
dan centang kotak centang untukView hidden files
.Kemudian arahkan ke folder yang memiliki SVN ditautkan pada Windows Explorer dan hapus
.svn
folder / file.sumber
.svn
folder dasar , tetapi ia bertanya tentang semua sub-folder. Silakan baca pertanyaan dengan seksama.