Pernahkah Anda ingin mengerjakan proyek dengan kemampuan melacak perubahan Anda serta mengembalikannya? How-To Geek menjelaskan Bagaimana-Untuk menggunakan sistem pelacakan versi populer, Subversion (a.k.a SVN).
Gambar oleh Jelas Ambigu
Panduan ini akan memberi Anda kemampuan untuk menggunakan klien subversi secara umum, dan, jika Anda memilikinya, pada * router DD-WRT Anda. Panduan ini tidak berarti panduan definitif untuk Subversion dan banyak informasi dapat ditemukan pada Subversion Red Book. Panduan ini hanya dimaksudkan untuk memberi Anda jawaban singkat atas pertanyaan yang paling mendasar.
Mungkin ada banyak alasan mengapa Anda ingin "checkout" kode terbaru untuk proyek perangkat lunak yang menggunakan sistem versi. Melakukannya memungkinkan Anda memperoleh manfaat dari perubahan terbaru yang belum pernah 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 salah satu router DD-WRT OPKG Anda yang diaktifkan. Kami juga menyertakan contoh proyek yang dapat Anda periksa dan gunakan untuk router tersebut.
Subversion tidak berarti satu-satunya sistem kontrol versi yang ada dan alternatifnya termasuk Git (yang dibuat oleh Linus Torvalds pendiri kernel Linux), Mercurial dan PerForce untuk beberapa nama. Dengan yang mengatakan, itu adalah salah satu yang gratis, itu matang dan digunakan secara luas di seluruh dunia.
Keluar dari Subversi “Red Book”:
Subversion adalah sumber bebas / terbuka sistem kontrol versi (VCS). Artinya, Subversion mengelola file dan direktori, dan perubahan yang dibuatnya, dari waktu ke waktu. Ini memungkinkan Anda untuk memulihkan versi data yang lebih lama atau memeriksa sejarah tentang bagaimana data Anda berubah. Dalam hal ini, banyak orang berpikir tentang sistem kontrol versi sebagai semacam "mesin waktu."
Catatan: Buku ini aku s koleksi akhir pengetahuan tentang subversi dan Anda disarankan untuk merujuk pada semua topik terkait Subversion.
Pembuatan versi adalah proses di mana status proyek pada suatu titik waktu disimpan. Prosedur semacam ini sering digunakan untuk mengelola pengembangan perangkat lunak, sehingga pekerjaan dapat terus memperbaiki proyek atau menambahkan fitur, sementara dapat melacak apa yang telah berubah dari titik "simpan" terakhir secara keseluruhan. Untuk menguraikan, prosedur semacam ini dapat berguna untuk satu orang tetapi lebih dari itu untuk sekelompok orang, semua bekerja pada proyek yang sama. Ini karena, biasanya, ketika mengerjakan sebuah proyek sebagai sebuah kelompok, ada distribusi tanggung jawab dan orang yang berbeda mengubah berbagai aspek proyek. Tanpa mekanisme versi, akan sangat sulit untuk menjaga semua orang sinkron pada perubahan kerja terbaru dari orang lain.
Repositori
Repositori adalah lokasi tempat semua data dari semua tempat yang berbeda disimpan. Di 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). Jumlah ini bertambah satu (1) setiap kali komit dilakukan. Nomor revisi adalah global untuk repositori. Yaitu, bahwa tidak ada nomor revisi individu untuk file individual dalam repositori, bahkan jika tidak ada yang berubah dalam file itu untuk commit tertentu.
Copy pekerjaan
Salinan kerja adalah salinan lokal (atau "checkout") dari versi tertentu. Biasanya versi ini ketika dicentang adalah yang "terbaru" (juga disebut "kepala"), tetapi yang sebelumnya dapat diminta. Pengguna dapat melakukan dengan salinan lokal apa pun yang diinginkannya, dengan pengetahuan yang, paling buruk, mereka hanya dapat memeriksa kode itu lagi. Selain itu, salinan ini "pribadi". Ini karena sampai Anda memperbarui atau melakukan salinan Anda, Anda tidak akan melihat perubahan orang lain, juga tidak akan melihat Anda.
Memperbarui & menyelesaikan Konflik
Salinan kerja lokal dapat diperbarui. Artinya, Jika Anda "memeriksa" versi tertentu, dan ketika Anda sedang bekerja, versi pada 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, mengubah kode dicampur menjadi satu versi. Ini mungkin juga berarti menyelesaikan konflik.
Komit
Berkomitmen adalah proses di mana perubahan yang Anda buat pada salinan lokal Anda akan digabungkan kembali ke dalam repositori. Ini adalah bagian yang paling berbahaya dari proses ini, karena di sini perubahan yang Anda buat, dapat berdampak pada orang lain yang menggunakan repositori yang sama. Itulah mengapa ini biasanya dilakukan setelah mempertimbangkan 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 umumnya kembangkan kode.
3. Perbarui ke versi terbaru, untuk memastikan salinan lokal Anda sinkron dengan pembaruan pada repositori.
4. Secara lokal menggabungkan dan menyelesaikan konflik jika perlu.
5.Komit perubahan yang digabung ke dalam repositori.
6. GoTo langkah 2.
Instal Klien
Untuk dapat menggunakan subversi, Anda perlu menginstal klien di komputer 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 di Router Rumah Anda (DD-WRT)", Anda dapat menginstal klien svn hanya dengan mengeluarkan:
pembaruan opkg; opkg menginstal subversi-klien
Di Windows
Sementara pengguna geek yang mendalam mungkin mulai melupakan bahwa GUI bahkan ada pada saat itu, 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 program dan instal dalam mode “berikutnya, berikutnya, selesaikan” biasa.
Buat "repositori"
Meskipun kami tidak akan membahas banyak tentang cara mengatur server subversi dalam panduan ini, alternatif Google bukanlah awal yang buruk bagi pengguna pemula. Untuk membuat repositori Google:
Setelah proyek Anda dibuat, Anda seharusnya dapat menemukan petunjuk tentang cara mengaksesnya di tab "Sumber".
Yang menyenangkan tentang kode Google adalah bahwa ini akan memungkinkan versi anonim read-only untuk proyek Anda. Jika Anda tidak ingin berurusan dengan kerumitan menciptakan proyek Anda sendiri, Anda dapat secara anonim memeriksa repositori penulis ini.
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) ditambah beberapa tweak pribadi. Sementara proyek ini dirancang untuk bekerja bersama dengan artikel yang diterbitkan di sini tentang howtogeek, itu masih proyek pribadi saya. Artinya, itu sangat cocok untuk router Buffalo saya (arsitektur AR71xx), keinginan pribadi saya dan rentan terhadap borkage sesekali.
Di Linux / DD-WRT
Buat direktori untuk bekerja, misalnya pada DD-WRT, yang bisa jadi:
mkdir -p / jffs / svn; cd / jffs / svn
Perintah lengkap di Linux terdiri dari perintah SVN itu sendiri, perintah "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 pada 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 untuk memohonnya dari menu awal, Anda akan mendapatkan:
“Perbarui” & “Gabungkan” copy pekerjaan Anda
Jika Anda bekerja pada kode dengan rekan kerja, atau Anda sendiri memperbarui kode dari beberapa lokasi (yaitu 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 hanyalah:
svn up
Di Windows
"Komit" perubahan Anda
Itu saja, Anda harus bebas dari konflik dan siap untuk memperbarui repositori dengan perubahan Anda.
Satu hal yang perlu diperhatikan di sini adalah bahwa ini adalah praktik umum untuk menambahkan pesan "log" ke komit, karena dapat dengan mudah mengingat mengapa perubahan dibuat. Bahkan, repositori Google menjadikan ini sebagai prasyarat wajib untuk melakukan.
Di Linux / DD-WRT
Ini adalah contoh komitmen yang saya buat untuk proyek hotfortech yang meningkatkannya ke versi 19:
svn commit -m "diperbarui untuk mencerminkan tautan paket ant-iklan baru"
Di Windows
Pernyataan akhir
Ini sudah cukup untuk memulai. Anda disarankan untuk membaca buku referensi SVN untuk mendapatkan pemahaman yang lebih dalam dan lebih baik tentang semua penggunaan, opsi, dan peringatan SVN. Selain itu, kami mengingatkan Anda (lagi) bahwa subversi bukanlah satu-satunya sistem kontrol versi di luar sana dan GIT (yang dibuat oleh Linus Torvalds pendiri kernel Linux) nampaknya mulai populer dalam beberapa tahun terakhir.
Jika Anda memilih menjalankan "running-config.sh" dari proyek hotfortech di router Anda, Anda akan menemukan bahwa ia akan menginstal untuk Anda: Paket anti-iklan, skrip geek-init Opkg, serta hal-hal seperti GNU “ls”, “less”, “BASH” dan banyak lagi.
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
Lebih banyak fitur yang tertunda dan akan ditambahkan di masa depan.
Administrator sistem akan mengkodekan jalan keluar dari pengkodean.