Saya ingin mengatur repositori SVN di komputer saya tanpa akses jaringan apa pun. Saya sedang mengerjakan kode tanpa kolaborator, jadi saya tidak ingin kode itu tersedia untuk umum.
Saya membaca posting ini , tetapi disarankan menggunakan layanan repositori SVN online yang memberikan repositori gratis. Dalam hal ini, kode saya akan tersedia untuk umum (seperti yang termasuk dalam ketentuan paket gratis).
Jadi saya bertanya-tanya apakah saya dapat mengatur server lokal pada mesin Windows XP saya yang hanya saya akses bahkan ketika saya tidak memiliki koneksi internet?
Jawaban:
Cara termudah untuk menyiapkan server lokal adalah dengan menggunakan svnserve :
Anda sebenarnya tidak memerlukan server subversi, jika yang Anda ingin lakukan hanyalah mengakses repositori secara lokal, karena Anda dapat mengakses repositori subversi melalui file URL, seperti yang dijelaskan dalam jawaban ini :
Jika Anda menggunakan TortoiseSVN , maka Anda dapat menemukan instruksi di Creating The Repository With TortoiseSVN :
Langsung di atas pada halaman ini juga menjelaskan cara membuat repositori dari baris perintah .
Karena itu, saya akan merekomendasikan agar Anda melihat Mercurial atau Git sebagai alternatif
svn
. Jika Anda terbiasa dengan TortoiseSvn maka Anda akan menemukan TortoiseHg dan TortoiseGit transisi yang mudah, ditambah lagi memberi Anda fleksibilitas untuk bekerja dengan cara yang didistribusikan nanti jika Anda perlu. Sebagai contoh di masa lalu saya telah menggunakan memory stick untuk mentransferhg
repositori antara mesin tanpa akses jaringan, dan ketika Anda bekerja dengan cara ini Anda mendapatkan cadangan gratis ke dalam tawar-menawar.sumber
Server paling sederhana (dan tercepat), yang dapat Anda gunakan untuk bekerja dengan repositori lokal, tertanam di setiap svn-client . Ini adalah server untuk mengakses semua repositori dan jumlah repositori , yang ada pada sistem file lokal, menggunakan file protokol: ///. Itu tidak memberikan otorisasi atau metode otentikasi, hanya memberikan akses penuh tak terbatas ke repositori yang terkendali, tetapi, dari sisi lain, itu memungkinkan untuk menggunakan dan memberikan semua fitur sistem VCS per se.
Untuk menggunakan server ini, Anda memiliki dalam direktori kosong di panggilan lokasi CLI-command svnadmin dengan sub-perintah dan parameter yang sesuai (saya tidak ingat, apakah ada program administratif dalam bundel klien-CLI atau tidak dan tidak bisa check it - Saya belum menginstal CLI svn-client, hanya TortoiseSVN, yang memiliki program ini di installer di versi 1.7) - Saya harap, Anda akan dapat menemukannya.
svnadmin help
tunjukkan kami semua sub-perintah yang tersedia, kami sekarang tertarik pada sub-perintahcreate
.svnadmin help create
berikan semua yang dibutuhkan untuk kami detailPada titik awal untuk repo pertama kita dapat mengabaikan semua opsi fine-tune dan hanya mengingat bentuk utama
svnadmin create REPOS_PATH
, di sana REPOS_PATH adalah jalur absolut atau relatif ke direktori kosong, yang direncanakan untuk repo. Karena kebanyakan orang Windows biasa untuk aplikasi lintas platform mungkin orang mungkin bingung, yang notasi (maju atau mundur) untuk digunakan di jalur (metoo), cara teraman adalahcd
ke lokasi, dari mana dir kami terlihat tanpa jalur panjang - induk dari direktori repo masa depan atau direktori itu sendiri. Untuk yang direncanakan untuk repoz:\Main
sebelumnyasvnadmin create
dan akhirnya
Sebagai hasilnya, kami membuat repositori kosong dalam direktori, yang ditampilkan di Windows Explorer dengan ikon khusus sebagai indikator konten
Sekarang, setiap kali repositori ini diperlukan, kami menggunakan perintah SVN biasa, ada bagian-URL atau parameter yang tampak
file:///Z:/Main
(Saya menambahkan pohon repositori standar dalam repo).
Mari kita membedah URL aneh ini:
file:///
, seperti untuk URL apa pun, berarti protokol akses, dalam kasus kami protokol adalah khusus, dan memiliki tiga, bukan dua garis miringZ:/Main
adalah path lengkap untuk repo dengan drive dan path di dalam drive, di sana semua Windows-backslash digantikan oleh garis miring ke depan "klasik"Dari titik lain repositori ini tidak memiliki perbedaan dari "Big Brothers" dengan server Subversion khusus
sumber
Mari kita coba jawaban yang merekomendasikan solusi umum daripada spesifik.
Pertama ya, Anda dapat menggunakan Subversion di komputer mandiri - Anda dapat menginstal server secara lokal atau Anda dapat bekerja dengan file: //
Tetapi kecuali jika ada alasan yang sangat bagus mengapa Anda harus menggunakan subversi, saya akan menyarankan bahwa ini bukan solusi terbaik untuk masalah kontrol versi lokal - paling tidak karena gagal salah satu hal yang saya anggap penting yaitu memastikan bahwa Anda kode sumber setidaknya ada di dua tempat (ya, bahkan untuk barang pribadi). Karena itu saya akan menyarankan penggunaan Sistem Kontrol Versi Terdistribusi (DVCS).
Salah satu manfaat dari DVCS adalah, begitu alat diinstal, repositori terdapat di dalam folder dan Anda dapat menyinkronkan konten di antara folder yang berbeda yang berisi repo "yang sama" selama Anda memiliki akses level file. Anda juga memiliki opsi untuk berbicara dengan versi "server" dari repo tersebut (yang di-host secara pribadi atau yang tersedia sebagai layanan). Ini membuat hidup jauh lebih mudah menjalankan semuanya secara lokal.
Ada keuntungan lain untuk DVCS juga.
Seperti yang sudah saya sebutkan, saya tidak berpikir Anda benar-benar memiliki solusi VCS yang tepat sampai kode Anda ada di setidaknya dua mesin (khususnya dua hard disk yang berbeda dan idealnya di lebih dari satu lokasi - meskipun kloning dan mendorong untuk mengatakan USB stick atau Penyimpanan "cloud" (skydrive, dropbox, et al) adalah cara lain yang juga berfungsi).
Dalam hal DVCS mana - saya akan melihat Mercurial (Hg) dan Git dan juga pada Veracity . Saya menggunakan Mercurial karena masih lebih bagus di windows ...
Jika Anda setuju dengan layanan yang di-host, saya benar-benar setuju bahwa ada banyak sekali yang harus dipuji oleh github - tetapi ada juga banyak hal baik tentang bitbucket dan Fogbugz / Kiln ... dan hal yang sama mungkin berlaku pada banyak layanan lain yang belum saya daftarkan (mis. http://beanstalkapp.com/ yang disebutkan secara sepintas lalu kepada saya di twitter hari ini)
sumber
Subversi tidak memerlukan server. Ini menggunakan repositori terpusat, tetapi repositori ini dapat diakses melalui metode akses 'file', yang berarti, Anda hanya perlu akses ke sistem file tempat penyimpanan repositori. Cara termudah untuk mengatur ini adalah dengan membuat folder di suatu tempat di hdd Anda, arahkan TortoiseSVN (atau alat serupa) padanya, dan 'buat repositori di sini'. Dari sana, Anda dapat melakukan apa pun yang Anda butuhkan untuk memasukkan kode ke dalam repositori.
Namun, dalam jangka panjang, Anda mungkin lebih baik menggunakan SCM terdistribusi, kandidat terbaik adalah git (lebih kuat, kurva pembelajaran curam, bekerja paling baik di * nix) dan lincah (sedikit kurang kuat, mudah dipelajari, bekerja sama baik di windows dan * nix). Dengan ini, copy pekerjaan Anda berisi seluruh repositori, dan Anda dapat membuat banyak klon (jarak jauh atau lokal) seperti yang Anda inginkan. Anda dapat memulai secara lokal, dan jika Anda memutuskan untuk meng-host repositori secara eksternal, Anda cukup mengkloning repositori lokal yang ada ke lokasi eksternal, dan Anda dapat menyinkronkan di kedua arah kapan saja. Lebih baik lagi, karena masing-masing klon Anda berisi seluruh sejarah proyek, SCM berfungsi ganda sebagai sistem cadangan. Dengan subversi, jika server Anda mati dan Anda belum mencadangkannya, riwayat Anda hilang - dengan git,
http://hginit.com/ memiliki tutorial yang sangat baik untuk memulai dengan lincah.
sumber
Ada beberapa perusahaan hosting SVN yang menawarkan akun gratis untuk satu atau dua pengembang dan tidak mengharuskan kode Anda publik. Periksa bagan yang ditautkan untuk biaya $ 0, Diperlukan OSS = TIDAK. Saya menghitung sembilan penyedia yang memenuhi kriteria tersebut sekarang.
Meskipun Anda dapat meng-host repositori Anda sendiri dengan sangat mudah, ada beberapa manfaat yang datang dengan menggunakan penyedia:
Anda dapat mengakses kode Anda dari mana saja tanpa pengaturan tambahan.
Menjaga kode Anda di luar situs melindungi Anda dari kerusakan hard disk, kebakaran, dll.
Biaya administrasi rendah.
sumber