Kontrol Sumber Pribadi melalui Subversi - hentikan saya sebelum saya melangkah terlalu jauh!


4

Saya digigit oleh bug SVN belakangan ini; sebagian besar didorong oleh penggunaan repo pribadi yang banyak di tempat kerja untuk menjaga kontrol kode bukti-konsep, dokumen dan file kecil, dan untuk menjaga kedua mesin saya tetap sinkron.

NAS rumah saya, D-Link DNS-323, adalah sebuah kotak kecil yang solid dengan beberapa skrip dan paket tambahan yang diinstal untuk menyediakan beberapa cadangan harian - tetapi juga memiliki beberapa kekurangan yang membuatnya tidak digunakan seperti yang saya inginkan. . Harapan saya adalah menggunakannya sebagai fileserver yang selalu aktif untuk penggunaan di rumah dan jarak jauh - tetapi kontrol izinnya cukup lemah dan tidak fleksibel dan akses ke sana dari luar jaringan rumah saya terbatas pada SSH / SCP dan FTP (yang hanya diaktifkan aktif sementara jika pernah).

Jadi saya berpikir: bagaimana jika saya menggunakannya terutama sebagai fileserver berbasis SVN dan memungkinkan akses jarak jauh melalui SSH + SVN. Saya masih bisa memiliki jendela berbagi non-SVN untuk file besar seperti cadangan laptop saya; tapi saya bisa menggunakannya sebagai SVN-repo untuk file pribadi.

Pertanyaannya di sini adalah di mana saya berhenti, apa saja batasan pada SVN mengenai ukuran repo maksimum atau ukuran file yang disimpan di dalamnya?

Jawaban:


4

Joey Hess, seorang pengembang pada proyek Debian, telah menulis artikel yang panjang dan instruktif tentang penggunaan subversi untuk penggunaan pribadi: Menumbangkan homedir Anda, atau mempertahankan hidup Anda di svn . Saya pikir Anda akan menemukan beberapa ide bagus di sana.

Jika Anda membaca dengan seksama di bagian atas dan bawah artikel itu, Anda akan melihat bahwa ia pertama kali mengimplementasikan ide ini di CVS dan sekarang menyimpan sebagian besar direktori home-nya di git


13

Subversi terutama digunakan sebagai sistem kontrol sumber, oleh karena itu tujuan utamanya bukan untuk versi file biner. Apa keuntungan yang Anda lihat dalam menggunakan Subversion untuk menjaga Sistem Anda di Sinkronkan (saya akan merasa mengerikan untuk selalu harus menyimpan informasi meta Subversion dalam file normal saya dan mengelola yang dapat menjadi sangat mengganggu)?

Mungkin alat cadangan seperti rsync atau file Synchronizer Unison via FTP atau SSH lebih tepat untuk apa yang ingin Anda lakukan.


4

Sementara subversi adalah untuk kontrol sumber, saya (ab) menggunakannya untuk cadangan. Ada sejumlah batasan menarik yang saya temui:

  • menggunakan transportasi http, kadang-kadang saya mengalami batas transfer 2GB pada checkout dan melakukan, tetapi tidak selalu
  • subdirektori .svn memiliki salinan kedua dari setiap file, sehingga Anda segera menggandakan kebutuhan ruang Anda
  • sejumlah besar file dalam direktori menjadi sangat lambat
  • repositori subversi tidak pernah menyusut; itu hanya akan tumbuh dalam ukuran, bahkan ketika Anda "menghapus" file karena itu menyimpan sejarah file yang sudah ada di masa lalu

Namun, bahkan dengan keterbatasan ini saya merasa ini bekerja dengan sangat baik untuk saya. Satu hal menarik yang dapat Anda lakukan di server adalah menggunakan kait pasca-komit untuk mendorong salinan setiap komit ke lokasi di luar lokasi secara otomatis (menggunakan alat svnadmin untuk melakukan dump tambahan dari revisi itu).


Oh, baru ingat yang lain: ketika melakukan checkout dari direktori home saya ke mesin baru, saya harus memastikan saya menyentuh file indeks mbox sehingga kmail tidak membangunnya kembali dan membuang flag read / reply / etc di atasnya. Menggunakan maildir bukannya mbox berjalan ke dalam ke-3 kelemahan yang telah saya sebutkan.
retracile

Retracile, Anda dapat mengedit jawaban Anda untuk memasukkan komentar Anda. Pada catatan terkait, Anda juga dapat menghapus komentar Anda setelah memasukkannya ke dalam jawaban.
Travis

4

Sejauh keterbatasan ukuran, saya tidak pernah menolaknya. Termasuk meletakkan file ISO di sana, dll. Ukuran repo hampir selalu dibatasi oleh ukuran hard drive, bukan oleh subversi .

Menanggapi jawaban Daff : rsync tidak melakukan apa yang bisa subversi . Punya ISO Ubuntu yang Anda inginkan tersedia untuk pembakaran di mana pun Anda berada? Bagus! rsyncdapat mendistribusikan file, ini berfungsi dengan baik. Tetapi sekarang Anda memperbarui ke Ubuntu 69.88, tetapi Anda menemukan satu minggu kemudian itu tidak bekerja pada laptop 486sx lama Anda . Dengan rsync, Anda harus memburu ISO yang lebih lama, mengunduhnya, dll. Dengan subversi , Anda cukup memutar kembali ke versi file yang lebih lama.

Jika Anda akan menggunakan subversi untuk beberapa file, Anda sebaiknya keluar semua dan menggunakannya untuk semuanya. File yang lebih besar tidak seefisien, tetapi mungkin juga membuatnya terpusat.

</ 2 sen>


Anda BISA melakukan incremental, backup berversi dengan RSync dan intinya adalah, bahwa ada alat yang lebih cocok untuk menangani file cadangan biner daripada Sistem Kontrol Revisi SUMBER (untuk backup, saya lebih suka sebaliknya: biarkan server menarik backup baru sebagai gantinya harus melakukan semuanya sepanjang waktu). Saya tidak pernah mengatakan bahwa itu tidak berhasil jika Anda dapat hidup dengan semua kekurangannya.
Daff

backuppc.sourceforge.net menunjukkan bagaimana Anda dapat menjaga revisi cadangan saat menggunakan rsync.
gbjbaanb

2

Saya sudah mencoba untuk menggunakan subversi untuk hal-hal lain selain kode pengembangan saya. Saya mengerti bahwa sementara itu bekerja dengan sangat baik untuk pengguna desainer karena ia memiliki catatan sejarah tentang perkembangan karya seni. Buku yang saya beli untuk subversi dimulai dengan menyebutkan bahwa mereka menggunakan subversi untuk semuanya termasuk daftar belanjaan bahan makanan. Meskipun saya tidak melakukan banyak seni grafis, mediawiki menyediakan fungsionalitas yang sama dalam antarmuka berbasis web yang sudah mudah digunakan. Ini juga memiliki fitur tambahan seperti diskusi tentang konten. Saya pikir Trac bekerja sangat baik dengan bekerja lebih keras dan menggabungkan wiki dengan svn. Menjadi orang baru di svn, saya belum menemukan batasan selain waktu tambahan yang diperlukan untuk langkah-langkah tambahan.


1

Rock on! Saya telah melakukan ini selama beberapa tahun, dan ini sungguh luar biasa! Memang butuh sedikit perawatan, tapi sekarang setiap kali saya mendapatkan mesin baru saya melakukan svn co, dan menjalankan skrip di sana dan saya mendapatkan firefox dan semuanya seperti saya suka.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.