Bagaimana cara menghapus folder dari kontrol sumber dengan TortoiseSVN?

129

Bagaimana cara menghapus folder agar tidak dikontrol oleh sumber dengan TortoiseSVN ?

Kesempatan
sumber
10
Pertanyaan bagus. Ini sangat rumit untuk apa yang seharusnya menjadi tugas sederhana.
Paul Suart
Catatan untuk siapa saja yang menggunakan "Pembaruan SVN untuk revisi" (daripada checkout svn): coba gunakan Pembaruan SVN untuk revisi lagi tapi kali ini dengan Kedalaman Pembaruan diatur ke Kecualikan.
Wallace Brown
Anda dapat menghapus .svnfolder terkait
ahmednabil88
Saya selalu bertanya-tanya apakah itu OK, pada Windows / Tortoise, untuk secara sederhana HAPUS folder lokal di PC. Jadi, ada repo REPO di server Anda. Dan Anda kebetulan memiliki versi itu di PC Anda, LOCALFOLDER. Anda tidak perlu lagi versi lokal pada PC itu. Dalam hal ini saya cukup menghapus folder LOCALFOLDER pada PC. (Saya sama sekali tidak melakukan apa-apa dari menu Tortoise sebelum membuang LOCALFOLDER ke tempat sampah.) Untuk lebih jelasnya saya tidak ingin mempengaruhi REPO dengan cara apa pun - saya hanya tidak ingin / memerlukan versi LOCALFOLDER lagi. Saya selalu bertanya-tanya apakah boleh melakukan ini?
Fattie
Atau, apakah Tortoise menyimpan "sesuatu yang lain" di suatu tempat di PC, sehingga sejak saat itu Tortoise akan merasa LOCALFOLDER hilang?
Fattie

Jawaban:

56

Ada item khusus di menu konteks luas:

  • Tahan Shifttombol dan klik kanan pada folder.
  • Di bawah menu TortoiseSVN klik pada "Hapus (tetap lokal)"

masukkan deskripsi gambar di sini

Gambar dipangkas dari halaman menu konteks luas TortoiseSVN .
Hapus uraian dokumentasi (simpan lokal) .

bob Esponja
sumber
4
Sebenarnya itu CTRL + SHIFT ketika mengklik kanan folder. Ayo Stackoverflow mengapa saya menemukan jawaban ini di bagian bawah?
hollystyles
4
Versi apa yang kalian gunakan? Versi 1.6.12 tidak memiliki opsi Hapus (tetap lokal). Baik Shift maupun CTRL + Shift tidak membantu.
thehhv
1
Saya baru saja memeriksa lagi dan cukup Shift + klik kanan berfungsi untuk saya. @hehhv versi 1.6.10 masih memiliki opsi.
bob esponja
1
Jawaban yang luar biasa. Shift + klik memang berfungsi dengan 1.6.10. Setelah melakukan ini, Anda masih harus mengkomit file untuk melihatnya menghilang dari repo jarak jauh.
hotshot309
2
Ini harus ditandai sebagai jawaban karena ini adalah cara termudah menggunakan TortoiseSVN
alejosoft
176

Cara termudah dijelaskan di sini: http://tortoisesvn.net/unversion.html

Artikel itu agak bertele-tele dan beberapa metode tidak bekerja untuk saya (seperti menyeret folder ke dirinya sendiri - Windows 7 tidak mengizinkannya)).

Inilah yang, dalam artikel ini bekerja untuk saya:

Sederhana: ketika Anda mengklik kanan pada copy pekerjaan dan memilih " Ekspor ..." dari menu konteks, dialog folder browse ditampilkan di mana Anda dapat memilih folder di mana Anda ingin copy pekerjaan diekspor. Jika sekarang Anda memilih jalur yang sama dengan copy pekerjaan Anda sebagai target (yaitu, Anda mengekspor copy pekerjaan itu sendiri), TortoiseSVN akan menghapus semua folder .svn dari copy pekerjaan itu.

Stefan
sumber
3
Stefan, saya mencoba prosedur yang Anda jelaskan dan TSVN menunjukkan kepada saya dialog "Pembalikan" (dengan bilah progres menunjukkan kemajuan), tetapi setelah menyelesaikan prosesnya, foldernya sama seperti sebelumnya. Saya punya Win7 dan foldernya ada di jaringan berbagi - mungkinkah ini ada hubungannya dengan prosedur gagal (diam-diam)? (Pokoknya +1, karena prosedur ini persis seperti yang saya butuhkan)
Heinrich Ulbricht
Seharusnya tidak gagal diam-diam. Apakah Anda yakin bahwa folder .svn yang tersembunyi masih ada di sana?
Stefan
Ya, saya bisa melihat mereka. Masalah asli saya adalah bahwa saya ingin menyingkirkan seluruh direktori yang diperiksa (termasuk subdir) pada jaringan berbagi. Ini gagal karena windows mengatakan, seseorang menggunakan file. Jadi saya pikir, itu mungkin svn cache dan dengan menggunakan metode dari TSVN-dunia saya bisa menyelesaikan masalah akses ini. Tapi tidak berhasil :(
Heinrich Ulbricht
1
Untuk mencegah perlunya mengikuti tautan, prosedur ini diulangi di sini: Sederhana: ketika Anda mengklik kanan pada copy pekerjaan dan memilih "Ekspor ..." dari menu konteks, dialog folder browse ditampilkan di mana Anda dapat memilih folder tempat Anda ingin copy pekerjaan diekspor. Jika sekarang Anda memilih jalur yang sama dengan copy pekerjaan Anda sebagai target (yaitu, Anda mengekspor copy pekerjaan itu sendiri), TortoiseSVN akan menghapus semua folder .svn dari copy pekerjaan itu.
Charley Rathkopf
Ketika saya mencoba ini saya kemudian mulai mendapatkan kesalahan bahwa direktori saya telah Diekspor ke dirinya sendiri sekarang "bukan direktori kerja" dan itu "terhalang" dan saya harus Bersihkan, tetapi ketika saya mencoba itu (IIRC) saya mendapat kesalahan bahwa direktori root dikunci. Saya akhirnya hanya melakukan MOVE (Seret folder ke folder non SVN dan dari menu drop-down pilih "Ekspor ...") dan kemudian Hapus (keduanya dengan Kura-kura).
Clay Nichols
12

Jika Anda ingin menghapus folder dari kontrol sumber tetapi menyimpannya secara lokal, cara termudah adalah dengan

  1. buat cadangan folder (cukup salin di tempat lain)
  2. ikuti instruksi untuk menghapusnya
  3. pulihkan folder
  4. beri tahu subversi untuk "Abaikan" folder tersebut

Anda juga harus menghapus .svndirektori yang muncul di folder yang Anda hapus atau Anda akan berakhir membingungkan svn / tortoise. Anda juga dapat melakukan "Ekspor" untuk langkah 1 yang akan menghapus .svndirektori untuk Anda (jika Anda melakukan ini untuk seluruh pohon direktori daripada satu direktori, ini jauh lebih nyaman daripada membersihkan folder dengan tangan) .

AwesomeTown
sumber
1
Untuk (1) Anda dapat Mengekspor untuk menyingkirkan data SVN salinan.
dahlbyk
Kanan - Anda harus menghapusnya melalui TortoiseSVN, mengembalikannya, dan kemudian menghapus semua folder svn di dalamnya (serta file .version).
Peluang
* dan kemudian abaikan saja - itu bekerja seperti pesona (terima kasih)
Kesempatan
Bagi saya, hanya mengekspornya menghilangkan repositori SVN dan tanda centang hijau pada folder, yang saya inginkan.
Hammad Khan
7

Menu TortoiseSVN memiliki opsi Ekspor yang akan memberi Anda salinan folder terlepas dari repositori. Atau, Anda dapat mengklik kanan + seret folder dan pilih "SVN Ekspor ke sini" atau "SVN Ekspor semua ke sini".

"Ekspor semua" sama dengan memilih "Ekspor file tidak berversi juga" di dialog Ekspor, yang secara efektif akan mengkloning copy pekerjaan tanpa folder .svn.

dahlbyk
sumber
6

Anda klik kanan pada direktori, pergi ke TortoiseSVN -> Hapus . Anda kemudian klik kanan pada direktori induk dan Komit SVN ... dan itu akan menghapus folder.

Sean Bright
sumber
2
Ini juga akan menghapus folder.
tunnuz
Ini adalah jawaban yang saya cari ... Saya juga menemukannya di sini: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Sangat Tidak Teratur
2

Pencarian Windows, mengatur sistem dan menandai file-file yang tersembunyi ditandai ... nama file ".svn" ... setelah pencarian - sortir sehingga semua direktori .svn dikelompokkan bersama ... sorot - tekan hapus :)

Jason P. Sage
sumber
2

Saya menjalankan perintah kura-kura "Perbarui ke SVN 1.7" yang mengambil semua folder .svn dan menggabungkannya ke dalam satu folder. Saya kemudian hanya dapat menghapus satu folder .svn dan semuanya baik-baik saja!

jhilden
sumber
2

Saya melihat ada tiga metode sederhana untuk membatalkan dan menyimpan versi lokal file (atau direktori) dengan TortoiseSVN:

  1. Mengekspor di jalan yang sama seperti yang ditulis Stefan ;
  2. fungsi "delete (Keep local)" diakses dengan tombol Shift sebagai jawaban bob esponja ;
  3. Batalkan konversi dan tambahkan ke opsi daftar abaikan yang saya laporkan dengan jawaban ini

Saya menemukan metode terakhir yang paling mudah dari ketiganya, sedangkan yang pertama (yang paling memilih) paling lama dalam hal operasi untuk dilakukan.

Zac
sumber
2

Hapus folder .svn di dalam folder yang ingin Anda hapus dari kontrol versi.

akerra
sumber
1

Inilah yang bekerja untuk saya:

  1. Klik kanan pada folder / cabang yang ingin Anda hapus dan gunakan TortoiseSNV-> Hapus
  2. Lakukan pembersihan. Saya melakukan ini dari commandline,svn cleanup <path to the folder to delete including folder name> ; jika tidak, Anda dapat melakukan klik kanan yang sama pada folder dan melakukan pembersihan.
  3. Pergi ke direktori induk folder yang ingin Anda hapus dan komit perubahan.

Ini harus menghapus folder dari direktori kerja Anda dan dari Subversion.

zen
sumber
1

Mengekspor folder ke lokasi baru sementara opsi "Ekspor file tidak berversi ke" yang dipilih berfungsi dengan baik untuk saya. TortoiseSVN menghapus semua pengaturan khusus Subversion dan Anda mendapatkan folder yang bersih. Sekarang Anda dapat menghapus yang asli dan memindahkan folder yang diekspor ke sana.

Rehan Farooq
sumber
0

Sekali waktu saya mengalami copy folder yang berfungsi dari Subversion yang saya tahu ingin lagi di bawah kontrol versi. Saya ingin "membatalkan" mereka. Biasanya saya melakukan semacam mencari dan menghapus pada semua folder terkait .svn tetapi ada cara yang lebih mudah jika Anda menginstal TortoiseSVN.

Anda harus terbiasa dengan perintah "Ekspor". Ini akan membuat salinan file di lokasi baru tanpa semua folder .svn yang sial itu. Jika Anda ingin 'membatalkan' sesuatu tetapi tidak menginginkan salinan - cukup lakukan “ekspor” dan ketika Tortoise meminta “folder untuk diekspor” cukup pilih folder yang sama dengan copy pekerjaan Anda! Tortoise akan melanjutkan untuk menghapus semua folder .svn.

Kutipan: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/

menang
sumber
-1

Klik kanan pada copy pekerjaan dan pilih "Ekspor ..." dari menu konteks. Dialog penelusuran folder ditampilkan.

Anda harus memilih jalur yang sama dengan copy pekerjaan Anda sebagai target. TortoiseSVN akan menanyakan apakah Anda ingin menghapus semua folder .svn dari copy pekerjaan itu. Katakan saja ya!

Heyjee
sumber