Bagaimana cara Anda memindahkan file?

219

Saya menggunakan TortoiseSVN terhadap repositori SourceForge SVN. Saya ingin memindahkan file dari satu folder ke folder lain untuk menjaga riwayat revisinya. Apakah ini mungkin? Jika demikian, bagaimana Anda melakukannya?

(Strategi saya saat ini adalah menyalin file ke folder baru dan memeriksanya lalu menghapus file dari folder saat ini.)

Orang
sumber

Jawaban:

95

Subversion memiliki dukungan asli untuk memindahkan file.

svn move SOURCE DESTINATION

Lihat bantuan online (svn help move) untuk informasi lebih lanjut.

Commodore Jaeger
sumber
Atau cara lain untuk mengatakannya: svn move <current path/filename> <destination path/filename>
Joe
313

Lihat bagian 5.14.2. Memindahkan file dan folder (atau periksa "pindah" dalam Indeks bantuan) dari bantuan TortoiseSVN. Anda melakukan langkah dengan menyeret ke kanan. Itu juga menyebutkan bahwa Anda perlu komit dari folder induk untuk menjadikannya "satu" revisi. Ini berfungsi untuk melakukan perubahan dalam copy pekerjaan.

(Perhatikan bahwa item SVN dalam gambar berikut hanya akan muncul jika folder tujuan telah ditambahkan ke repositori.)

menu langkah kura-kura

Anda juga dapat melakukan perpindahan melalui Browser Repo (bagian 5.23. Browser Repositori bantuan).

crashmstr
sumber
Ketika saya menyoroti semua file saya, diseret ke kanan, menu windows explorer biasa muncul. Itu membiarkan saya memilih "pindah" tapi itu bukan opsi SVN jadi saya tidak yakin apa pun terjadi. Ketika saya memeriksa untuk melihat apakah ada modifikasi, katanya 300 file dihapus dan 300 tidak berversi. Sepertinya ini tidak berfungsi dengan benar. Saya takut melakukannya tanpa mengetahui apakah ini cara yang seharusnya berhasil atau tidak
Joe Phillips
48
Saya baru sadar itu mungkin tidak berhasil karena saya belum menambahkan / melakukan direktori baru
Joe Phillips
Saya tahu ini bertahun-tahun kemudian - tetapi komentar Joe penting. Saya berjuang dengan ini juga - Saya mengabaikan catatan kecil itu dalam jawabannya. Folder tujuan harus di bawah kendali SVN jika tidak ini tidak akan berfungsi. Untungnya SVN memungkinkan penambahan folder kosong. Setelah menempatkan folder di bawah kontrol SVN, Tarik Kanan-mouse akan beroperasi seperti dijelaskan di atas. Kalau tidak, Windows generik "Salin di sini / pindah ke sini / batalkan" menu disajikan (mis. Pilihan SVN tidak ada).
ripvlan
Ini sempurna. Saya mengalami beberapa masalah saat memindahkan lebih dari 1.500 file sekaligus. Memindahkan mereka satu direktori pada satu waktu sepertinya menyingkirkan masalah ini.
Michael Murphy
80

Dengan TortoiseSVN saya hanya memindahkan file pada disk.

Ketika saya datang untuk mengkomit perubahan saya, saya memilih file yang hilang dan yang baru dan pilih " Perbaiki langkah " dari menu klik kanan:

masukkan deskripsi gambar di sini

Ini berarti saya dapat membiarkan IDE saya memindahkan file-file bulat dan menggunakannya sebagai alat refactoring tanpa kehilangan sejarah.

Keith
sumber
3
Ini adalah cara pilihan saya untuk memindahkan file sekarang. Satu peringatan; hanya melakukan <20 file pada satu waktu antara komit, jika tidak maka akan sangat memakan waktu untuk menemukan file yang berhubungan satu sama lain.
DarrenMB
@ DarrenMB benar: Saya akan memigrasi Proyek Android dari Eclipse ke Android Studio. Semua file harus dipindahkan. Pendekatan ini bukan yang ingin saya gunakan di sini.
Bondax
@Bondax ya, untuk migrasi seluruh proyek Anda lebih baik melakukan perpindahan dari dalam SVN - itu seharusnya sesuatu yang sesekali Anda lakukan. Saya menemukan ini cara yang lebih baik untuk sebagian besar pemindahan file yang dilakukan oleh sebagian besar pengembang selama suatu proyek.
Keith
1
Saya juga tidak memiliki Perbaikan Pindah, menggunakan kura-kura SVN 1.9.4
Mark Patterson
@ Mark Patterson: Saya melihat opsi dan saya juga di 1.9.4 (TortoiseSVN 1.9.4, Build 27285, dan Subversion 1.9.4, -release). Saya tidak berpikir masalah Anda terkait dengan versi ... Berikut ini adalah dokumentasi resmi fitur ini: tortoisesvn.net/repairmoves.html
Yosko
37

Di TortoiseSVN klik kanan di suatu tempat dan pergi TortoiseSVN> Browser Repo membuka repositori.

Yang harus Anda lakukan adalah menarik dan melepaskan file dari satu folder ke tempat yang Anda inginkan. Ini akan meminta Anda untuk menambahkan pesan komit dan defaultnya ke "File / folder dipindahkan dari jarak jauh"

RedWolves
sumber
22

Menggunakan TortoiseSVN Saya cukup klik kanan dan seret folder dari satu lokasi ke lokasi lain. Ketika Anda melepaskan klik kanan Anda akan memiliki opsi untuk "SVN Move Version File." Namun, saya percaya bahwa SVN tidak melakukan sesuatu yang "mewah" di sana, tetapi cukup menghapus file di lokasi sebelumnya dan menambahkannya ke lokasi baru.


sumber
18

Untuk klien TortoiseSVN:

  1. Pilih file yang ingin Anda pindahkan,
  2. Klik kanan dan seret file ke folder yang ingin Anda pindahkan,
  3. Sebuah jendela akan muncul setelah Anda melepaskan drag dan drop pada folder. Klik "SVN Pindahkan item berversi di sini" ,
  4. Setelah Anda mengklik di atas kotak pesan window komit akan muncul. Masukkan pesan dan kirim.

Sekarang kamu sudah selesai.

Martin
sumber
8

Potong file melalui menu konteks sistem operasi seperti yang biasa Anda lakukan, lalu alih-alih melakukan tempel biasa, klik kanan untuk membawa menu konteks, lalu pilih TortoiseSVN -> Paste(pastikan Anda komit dari root untuk menyertakan file lama dan baru dalam komit).

BornToCode
sumber
4

Saya pikir di browser svn di tortoisesvn Anda hanya dapat menyeretnya dari satu tempat ke tempat lain.

John Boker
sumber
1

Jika saya tidak salah mulai dari versi 1.5 SVN dapat melacak file yang dipindahkan \ folder. Dalam penggunaan TortoiseSVN dapat memindahkan file melalui drag & drop.

aku
sumber
1

Dapat juga disebut, "rename" oleh kura-kura, tetapi svn move, adalah perintah di barebones svn client.

MengembangkanChris
sumber
jawaban yang paling sederhana dan paling akurat adalah jawaban itu! menggunakan TortoiseSVN memindahkan file dilakukan dengan klik kanan> rename. itu dia.
RoeeK
1

Mentransfer file menggunakan TortoiseSVN:

Langkah: 1 Silakan Pilih file yang ingin Anda pindahkan, Klik kanan dan seret file ke folder yang ingin Anda pindahkan, Sebuah jendela akan muncul setelah mengikuti petunjuk di bawah ini

Opsi SVN

Langkah 2: Setelah Anda mengklik di atas, komit file seperti disebutkan di bawah ini

Komitmen SVN

Anzar Ansari
sumber
0

Jika Anda memindahkan folder melalui Browser Repositori, maka tidak ada opsi Pindahkan pada klik kanan; satu-satunya cara adalah dengan drag and drop.

Danijel
sumber