Jika saya memiliki 20 direktori di bawah trunk / dengan banyak file di masing-masing dan hanya membutuhkan 3 dari direktori tersebut, apakah mungkin untuk melakukan checkout Subversion dengan hanya 3 direktori di bawah trunk?
svn
sparse-checkout
Hanya baca
sumber
sumber
Jawaban:
Subversion 1.5 memperkenalkan pemeriksaan jarang yang mungkin bermanfaat bagi Anda. Dari dokumentasi :
sumber
Memang, berkat komentar untuk posting saya di sini, sepertinya direktori jarang adalah cara untuk pergi. Saya percaya yang berikut ini harus melakukannya:
Atau,
--depth immediates
alih-alihempty
memeriksa file dan direktoritrunk/proj
tanpa isinya. Dengan begitu Anda bisa melihat direktori mana yang ada di repositori.Seperti disebutkan dalam jawaban @ zigdon, Anda juga dapat melakukan checkout non-rekursif. Ini adalah cara yang lebih tua dan kurang fleksibel untuk mencapai efek yang serupa:
sumber
Skipped 'prom/foo'
setelahsvn update --set-depth infinity proj/foo
:(svn update --set-depth immediates proj
sehingga membuat proj / foo untuk memperbarui.Atau lakukan checkout / trunk non-rekursif, kemudian lakukan saja pembaruan manual pada 3 direktori yang Anda butuhkan.
sumber
Saya menulis sebuah skrip untuk mengotomatiskan checkout yang jarang dan rumit.
sumber
Jika Anda sudah memiliki salinan lokal lengkap, Anda dapat menghapus sub folder yang tidak diinginkan dengan menggunakan
--set-depth
perintah.Lihat: http://blogs.collab.net/subversion/sparse-directories-now-with-exclusion
The
set-depth
perintah dukungan jalur multipile.Memperbarui salinan lokal root tidak akan mengubah kedalaman folder yang dimodifikasi.
Untuk mengembalikan folder agar menjadi pemeriksaan berulang-ulang, Anda dapat menggunakannya
--set-depth
lagi dengan param infinity.sumber
Semacam. Seperti yang dikatakan Bobby:
akan mendapatkan folder, tetapi Anda akan mendapatkan folder terpisah dari perspektif subversi. Anda harus memisahkan komit dan pembaruan pada setiap subfolder.
Saya tidak percaya Anda dapat checkout pohon parsial dan kemudian bekerja dengan pohon parsial sebagai satu kesatuan.
sumber
Tidak dengan cara yang bermanfaat, tidak. Anda dapat memeriksa subtree (seperti dalam saran Bobby Jack), tetapi kemudian Anda kehilangan kemampuan untuk memperbarui / melakukan mereka secara atom; untuk melakukan itu, mereka harus ditempatkan di bawah induknya, dan segera setelah Anda memeriksa induknya, Anda akan mengunduh semuanya di bawah induk itu. Non-rekursif bukan pilihan yang baik, karena Anda ingin pembaruan dan berkomitmen untuk rekursif.
sumber