Pelacakan Versi Dengan Subversi (SVN) Untuk Pemula
Pernahkah Anda ingin mengerjakan proyek dengan kemampuan untuk melacak perubahan Anda serta mengembalikannya? How-To Geek menjelaskan How-To menggunakan sistem pelacakan versi populer, Subversion (a.k.a SVN).
Gambar oleh Clearly Ambiguous
Prelog
Panduan ini akan bertujuan untuk memberi Anda kemampuan untuk menggunakan klien subversi secara umum, dan, jika Anda memilikinya, pada router * DD-WRT Anda. Panduan ini sama sekali bukan panduan definitif untuk Subversion dan banyak informasi dapat ditemukan di Buku Merah Subversion. Panduan ini hanya dimaksudkan untuk memberi Anda jawaban singkat untuk pertanyaan paling dasar.
Ikhtisar
Mungkin ada banyak alasan mengapa Anda ingin "memeriksa" kode terbaru untuk proyek perangkat lunak yang menggunakan sistem versi. Dengan melakukan hal itu, Anda dapat memperoleh manfaat dari perubahan terbaru yang belum dirilis, membantu pengujian dan bahkan pengembangan. Dalam panduan ini, kita akan membahas beberapa terminologi SVN dasar, menunjukkan cara menginstal klien SVN di Linux, Windows dan jika Anda memiliki satu router DD-WRT berkemampuan OPKG Anda. Kami juga menyertakan contoh proyek yang dapat Anda checkout dan gunakan untuk router tersebut.
Apa itu Subversion??
Subversion bukan satu-satunya sistem kontrol versi yang ada dan alternatifnya termasuk Git (yang dibuat oleh Linus Torvalds, pendiri kernel Linux), Mercurial dan PerForce. Dengan itu, ini adalah salah satu yang gratis, sudah matang dan digunakan secara luas di seluruh dunia.
Keluar dari Subversion "Buku Merah":
Subversi adalah sumber bebas / terbuka sistem kontrol versi (VCS). Yaitu, Subversion mengelola file dan direktori, dan perubahan yang dilakukan padanya, seiring waktu. Ini memungkinkan Anda untuk memulihkan versi data Anda yang lebih lama atau memeriksa sejarah tentang bagaimana data Anda berubah. Dalam hal ini, banyak orang menganggap sistem kontrol versi sebagai "mesin waktu".
Catatan: Buku ini aku s koleksi utama pengetahuan tentang subversi dan Anda disarankan untuk merujuknya pada semua topik terkait Subversi.
Apa itu Versi??
Versi adalah proses di mana keadaan proyek pada suatu titik waktu disimpan. Prosedur semacam ini sering digunakan untuk mengelola pengembangan perangkat lunak, sehingga pekerjaan dapat terus meningkatkan proyek atau menambahkan fitur, sambil dapat melacak apa yang telah berubah dari titik "save" keseluruhan keseluruhan. Singkatnya, prosedur semacam ini dapat berguna untuk satu orang tetapi lebih dari itu untuk sekelompok orang, semuanya bekerja pada proyek yang sama. Ini karena, biasanya, ketika mengerjakan proyek sebagai kelompok, ada pembagian tanggung jawab dan orang yang berbeda mengubah aspek berbeda dari proyek. Tanpa mekanisme versi, akan sangat sulit untuk menjaga semua orang dalam sinkronisasi pada perubahan kerja terbaru dari orang lain.
Terminologi
Repositori
Repositori adalah lokasi di mana semua data dari berbagai tempat disimpan. Dalam dunia subversi, dari sudut pandang klien, itu adalah server yang menyimpan database proyek. Basis data ini berisi semua file yang merupakan bagian dari proyek dengan semua versi sebelumnya.
Revisi
Ketika repositori dibuat, diberikan nomor revisi nol (0). Angka ini bertambah satu (1) setiap kali komit dilakukan. Nomor revisi bersifat global untuk repositori. Yaitu, bahwa tidak ada nomor revisi individu untuk file individual di repositori, bahkan jika tidak ada yang berubah dalam file itu untuk komit tertentu.
Salinan kerja
Salinan yang berfungsi adalah salinan lokal (atau "checkout") dari versi tertentu. Biasanya versi ini ketika check-out adalah versi "terbaru" (juga disebut "head"), tetapi versi sebelumnya dapat diminta. Pengguna dapat melakukan salinan lokal apa pun yang dia inginkan, dengan pengetahuan bahwa, paling buruk, mereka hanya dapat checkout kode lagi. Selain itu, salinan ini “pribadi”. Ini karena sampai Anda memperbarui atau melakukan salinan Anda, Anda tidak akan melihat perubahan orang lain, dan mereka juga tidak akan melihat perubahan Anda.
Memperbarui & Penyelesaian konflik
Salinan kerja lokal dapat diperbarui. Yaitu, Jika Anda "memeriksa" versi tertentu, dan saat Anda sedang bekerja, versi di repositori telah diperbarui, Anda dapat memperbarui copy pekerjaan Anda ke yang terbaru. Bahkan, server akan mencegah Anda melakukan perubahan sebelum Anda memperbarui ke versi terbaru agar sesuai dengan repositori. Ini dilakukan untuk memaksa Anda menyelesaikan konflik secara lokal, bahkan sebelum Anda berpikir untuk melakukan perubahan pada repositori.
Penggabungan
Penggabungan mengacu pada proses di mana, kode yang diubah dicampur menjadi satu versi. Ini mungkin juga memerlukan penyelesaian konflik.
Berkomitmen
Komit adalah proses di mana perubahan yang Anda buat pada salinan lokal Anda akan digabungkan kembali ke dalam repositori. Ini adalah bagian paling berbahaya dari proses ini, karena di sinilah perubahan yang Anda buat, dapat memengaruhi orang lain menggunakan repositori yang sama. Itulah sebabnya ini biasanya dilakukan setelah beberapa pertimbangan, dengan konsensus tim dan setelah Anda menyelesaikan konflik penggabungan.
Alur Kerja
Alur kerja paling dasar dari perspektif pengguna saat menggunakan subversi adalah ini:
1. Periksa kode yang ada (biasanya "kepala").
2. Buat perubahan, tambahkan file, dan kembangkan kode secara umum.
3. Perbarui ke versi terbaru, untuk memastikan salinan lokal Anda sinkron dengan pembaruan di repositori.
4. Gabungkan dan selesaikan konflik secara lokal jika perlu.
5. Lakukan perubahan yang digabungkan ke dalam repositori.
6. Lanjutkan ke langkah 2.
Mari kita mulai retak
Instal Klien
Agar dapat menggunakan subversi, Anda harus menginstal klien pada mesin Anda.
Di Linux
Anda hanya perlu menginstal paket. Di Ubuntu / Mint, ini akan dilakukan dengan:
sudo aptitude menginstal subversi
Pada DD-WRT
Jika Anda telah mengikuti "Cara Menginstal Perangkat Lunak Tambahan Pada Router Rumah Anda (DD-WRT)", Anda dapat menginstal klien svn dengan hanya mengeluarkan:
pembaruan opkg; opkg menginstal klien subversi
Di Windows
Sementara kami para pengguna geek yang dalam mungkin mulai lupa bahwa GUI bahkan ada kadang-kadang, tidak semua orang memilikinya. Jika Anda ingin menggunakan klien windows untuk terhubung ke repositori SVN, sejauh ini yang paling populer adalah "Tortoise". Untuk menggunakannya, cukup unduh programnya dan instal dengan gaya "next, next, finish" biasa.
Buat "repositori"
Meskipun kami tidak akan membahas lebih jauh tentang cara menyiapkan server subversi dalam panduan ini, alternatif Google bukanlah awal yang buruk bagi pengguna pemula. Untuk membuat repositori Google:
- Buka situs web hosting Kode Google dan “buat” proyek baru.
- Di halaman berikutnya, isi bidang yang diperlukan dan pilih jenis "sistem kontrol versi" untuk dijadikan subversi.
Catatan: Anda mungkin ingin melihat apa perbedaan antara lisensi yang ditawarkan Google, sebelum Anda memilih satu untuk proyek tersebut. - Klik "Buat proyek".
Setelah proyek Anda dibuat, Anda harus dapat menemukan instruksi tentang cara mengaksesnya di tab "Sumber".
Yang menyenangkan tentang kode Google, adalah kode ini akan mengaktifkan versi read-only anonim untuk proyek Anda. Jika Anda tidak ingin berurusan dengan kerumitan membuat proyek Anda sendiri, Anda dapat checkout repositori penulis ini secara anonim.
Satu catatan tentang proyek hotfortech: Proyek ini dimaksudkan untuk menjadi pembungkus untuk fitur yang telah ditambahkan ke DD-WRT pada How-To Geek (yang saya pribadi gunakan) plus beberapa penyesuaian pribadi. Sementara proyek ini diarahkan untuk bekerja bersama dengan artikel yang diterbitkan di sini di howtogeek, itu masih proyek pribadi saya. Yaitu, sangat cocok untuk router Buffalo saya (arsitektur AR71xx), tingkah pribadi saya dan rentan terhadap borkage sesekali..
Di Linux / DD-WRT
Buat direktori untuk dikerjakan, misalnya pada DD-WRT, yang bisa berupa:
mkdir -p / jffs / svn; cd / jffs / svn
Perintah lengkap di Linux terdiri dari perintah SVN itu sendiri, arahan “checkout”, alamat repositori dan direktori untuk checkout juga. Buat direktori kosong dan jalankan perintah di bawah ini:
svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only
Perhatikan bahwa dalam contoh di atas, versi read-only sedang diperiksa. Jika Anda memilih untuk membuat repositori Anda sendiri, Anda harus menggunakan tautan httpS.
Di Windows
Karena kura-kura adalah ekstensi shell, Anda harus menggunakan menu konteks file explorer Windows (klik kanan) untuk menggunakannya. Bahkan, jika Anda mencoba menjalankannya dari menu mulai, Anda akan mendapatkan:
- Buat direktori kosong.
- Klik kanan di dalamnya untuk membuka menu konteks.
- Pilih "SVN Checkout":
- Salin & tempel tautan untuk proyek (jika ada) ke dalam Kotak Teks "URL":
- Bergantung pada ukuran proyek Anda, ini mungkin memakan waktu cukup lama, tetapi ketika "Checkout" telah selesai, Anda akan melihat sesuatu seperti:
- Anda mungkin mulai berkembang.
“Perbarui” & “Gabungkan” copy pekerjaan Anda
Jika Anda mengerjakan kode dengan kolega, atau Anda sendiri memperbarui kode dari beberapa lokasi (mis. Laptop, desktop atau bahkan router), Anda harus memperbarui copy pekerjaan Anda sebelum Anda melakukan perubahan terbaru.
Di Linux / DD-WRT
Perintah untuk melakukan ini pada sistem POSIX ini sederhana:
svn up
Di Windows
- Klik kanan di direktori kerja dan pilih "Pembaruan SVN":
- Jika Anda mengalami konflik, coba ikuti instruksi di layar dan gunakan penilaian Anda tentang apa yang harus dilakukan.
“Komit” perubahan Anda
Itu saja, Anda harus bebas konflik dan siap untuk memperbarui repositori dengan perubahan Anda.
Satu hal yang perlu diperhatikan di sini adalah bahwa itu adalah praktik umum untuk menambahkan pesan "log" ke komit, agar dapat dengan mudah mengingat mengapa perubahan dilakukan. Faktanya, repositori Google menjadikan ini sebagai prasyarat wajib untuk melakukan.
Di Linux / DD-WRT
Ini adalah contoh dari commit yang saya buat pada proyek hotfortech yang menaikkannya ke versi 19:
svn commit -m “diperbarui untuk mencerminkan tautan paket ant-iklan baru”
Di Windows
- Klik kanan di direktori kerja dan pilih "SVN Commit":
- Anda harus disambut oleh jendela yang memungkinkan Anda untuk mencatat pesan log:
- Tekan OK dan ketika diminta kata sandi, berikan kata sandi yang dibuat Google.
- Jika komit berhasil, Anda akan melihat sesuatu seperti:
- Itu saja, Anda harus bisa berkomitmen seperti BOSS.
Komentar akhir
Ini seharusnya cukup untuk membantu Anda memulai. Anda disarankan untuk membaca buku referensi SVN untuk mendapatkan pemahaman yang lebih dalam dan lebih baik tentang semua penggunaan, opsi, dan peringatan SVN. Juga, kami mengingatkan Anda (lagi) bahwa subversi BUKAN satu-satunya sistem kontrol versi di luar sana dan GIT (yang dibuat oleh Linus Torvalds, pendiri kernel Linux) tampaknya semakin populer dalam beberapa tahun terakhir..
Jika Anda akan memilih untuk menjalankan "running-config.sh" dari proyek hotfortech pada router Anda, Anda akan menemukan bahwa itu akan menginstal untuk Anda: Paket anti-iklan, skrip geek-init Opkg, serta hal-hal seperti GNU penuh "ls", "kurang", "BASH" dan banyak lagi.
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
Lebih banyak fitur yang tertunda dan akan ditambahkan di masa mendatang.
Administrator sistem akan memberi kode jalan keluar dari pengkodean.