Bagaimana saya bisa mendapatkan daftar semua svn: externals (rekursif) dalam sebuah direktori? Apakah ada kegunaan untuk ini?
(Saya menggunakan Windows (dan tortoise))
Saya memiliki banyak svn: eksternal yang menautkan ke bagian bersama yang berbeda dari proyek saya dan saya ketika saya bercabang biasanya cukup rawan kesalahan untuk menemukan semua eksternal dan mengubahnya sehingga tautan ke jalur dalam cabang baru.
svn
tortoisesvn
Niels Bosma
sumber
sumber
Jawaban:
Lakukan hal berikut di root copy pekerjaan Anda:
Seperti yang dibahas dalam komentar di bawah, ini tidak mencantumkan eksternal di eksternal.
Catatan untuk pengguna TortoiseSVN: ada opsi dalam penginstal TortoiseSVN untuk juga menginstal klien baris perintah SVN. Opsi ini tidak diaktifkan secara bawaan.
sumber
Mengubah semua properti eksternal tersebut secara manual terdengar membosankan. Pernahkah Anda melihat fungsionalitas baru untuk eksternal yang ditambahkan di Subversion 1.5?
Mungkin salah satu dari itu akan membantu? Saya kira itu tergantung pada bagaimana Anda bercabang dan seperti apa struktur repositori Anda.
sumber
Solusi saya untuk TortoiseSVN:
Buka dialog "Cabang / tag ..." dari menu konteks SVN. Dialog bawah menampilkan semua eksternal termasuk eksternal bersarang.
sumber
svn propget svn:externals -R
.Mungkin, sebagai solusinya, Anda dapat menyusun proyek Anda sedemikian rupa sehingga semua eksternal diatur pada folder yang sama, misalnya pada folder proyek tepat di bawah Trunk. (Ini tidak berarti bahwa semua folder eksternal harus memiliki kedalaman yang sama.) Kemudian Anda dapat mengklik kanan pada folder proyek Anda, kemudian Properties ..., lalu tab Subversion, lalu Properties ... lalu klik dua kali svn: externals.
sumber
Saya menggunakan jawaban Wim Coenen dan menulis skrip berikut untuk membuat daftar semua revisi:
Untungnya, saya tidak memiliki eksternal bersarang, jadi saya tidak perlu menguji ini dan saya rasa itu tidak akan berhasil. Tetapi jika Anda membutuhkan ini, mungkin cukup memanggil fungsi ini secara rekursif. Juga, saya tidak pernah menguji dengan nama file yang perlu keluar. Sepertinya tidak akan berhasil.
PENOLAKAN: Saya tahu pertanyaan aslinya adalah tentang windows, dan skrip shell tidak akan berfungsi di sana kecuali Anda menggunakan cygwin atau serupa.
sumber
Saya mengambil jawaban Daniel Alder , menghapus panggilan svnversion, dan membuatnya berulang (CATATAN:
read a b c d e
tidak berfungsi jika ada spasi di sumber atau tujuan). Ini adalah skrip bash, jadi Anda memerlukan sesuatu seperti Cygwin atau menggunakan Subsistem Windows untuk Linux .sumber