Gambar oleh Jelas Ambigu
Prelog
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.
Ikhtisar
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 checkout dan gunakan untuk router tersebut.
Apa itu Subversi?
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 itu dikatakan, itu adalah salah satu yang gratis, itu matang dan digunakan secara luas di seluruh dunia.
Keluar dari Subversi “Red Book”:
Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”
Catatan: Buku ini aku s koleksi akhir pengetahuan tentang subversi dan Anda disarankan untuk merujuk pada semua topik terkait Subversion.
Apa itu Versi?
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.
Terminologi
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, atau mereka 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 hal ini biasanya dilakukan setelah mempertimbangkan beberapa pertimbangan, dengan konsensus tim dan setelah Anda menyelesaikan setiap 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.
Mari kita dapatkan cracking
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 install subversion
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:
opkg update; opkg install subversion-client
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:
-
Buka situs web hosting Google Code dan "buat" proyek baru.
-
Di halaman berikutnya, isi kolom yang diperlukan dan pilih jenis "sistem kontrol versi" untuk menjadi subversi.
Catatan: Anda mungkin ingin melirik apa perbedaan antara lisensi yang ditawarkan Google, sebelum Anda memilih satu untuk proyek tersebut.
- Klik "Buat proyek".
" Checkout" copy pekerjaan Anda
Setelah proyek Anda dibuat, Anda seharusnya dapat menemukan petunjuk tentang cara mengaksesnya di tab "Sumber".
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. Yaitu, 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 https://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:
- Buat direktori kosong.
- Klik kanan di dalamnya untuk memunculkan menu konteks.
-
Pilih "SVN Checkout":
-
Salin & tempel tautan untuk proyek (jika Anda memilikinya) ke dalam Kotak Teks "URL":
-
Bergantung pada ukuran proyek Anda, mungkin perlu waktu beberapa saat, tetapi ketika "Checkout" telah selesai Anda akan melihat sesuatu seperti:
- Anda mungkin mulai berkembang.
“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
-
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 terhadapnya.
"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. Faktanya, penyimpanan Google menjadikan ini sebagai prasyarat wajib untuk melakukan.
Di Linux / DD-WRT
Ini adalah contoh komitmen yang saya buat untuk proyek hotfortech yang ditingkatkan ke versi 19:
svn commit -m “updated to reflect new ant-ads pack link”
Di Windows
-
Klik kanan di direktori kerja dan pilih "SVN Komit":
-
Anda harus disambut oleh jendela yang memungkinkan Anda 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 dapat berkomitmen seperti BOSS.
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 mendatang.
Administrator sistem akan mengkodekan jalan keluar dari pengkodean.