Matakuliah Tahun Versi : <<Kode>>/<<Nama mtkul>> : <<Tahun Pembuatan>> : <<versi/revisi>> Pertemuan 9 Concurrent Versions System 2 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Menggunakan WinCVS (Windows Concurrent Version System) 2 Outline Materi • Setup CVS • Projek CVS • Menggunakan CVS 3 RCS dan Sejarah dari Sistem Versi Kontrol • RCS: – Didesain oleh Walter Tichy, Fakultas Ilmu Komputer, Universitas Purdue. – RCS adalah software tool pada mesin Unix, yang memperbolehkan kita mengatur sistem yang “memiliki banyak revisi, seperti teks, program, ataupun dokumentasi” 4 Ringkasan tentang Concurrent Versions System (CVS) CVS adalah sebuah sistem yang mengatur versi atau revisi program ataupun data. CVS digunakan untuk menyimpan sejarah dari file-file program. Bugs dapat terjadi pada saat software di-modifikasi, dan mungkin tidak akan terdeteksi hingga waktu yang lama setelah modifikasi dilakukan. Dengan CVS, Anda dapat membuka record-file versi lama tersebut dan mencari-tahu apa yang menyebabkan bugs. CVS dapat pula berguna pada sebuah projek yang dikerjakan oleh beberapa orang, dimana penimpaan data satu sama lain dapat terjadi dengan mudah. CVS mengatasi masalah ini dengan menyiapkan setiap developer direktorinya masingmasing. Dan kemudian meminta CVS untuk melakukan penggabungan (merge) dari hasil kerja setiap developer. File-file CVS disimpan dengan sistem RCS, dimana RCS adalah singkatan dari Revision Control System. 5 Model Check In - Check Out • Programmer bekerja pada area lokalnya masing-masing. • Setelah program selesai direvisi, maka program tersebut dapat check-in pada repositori sentral (central repository). • Program didalam repositori sentral harus di check-out sebelum mereka dapat dimodifikasi. 6 Contoh file CVS *,v – edit helloworld.c,v 1.1 log @Initial revision @ text @#include void main(void) { printf("Hello, world!\n") } @ 7 Setup CVS – Pertama, set variable CVSROOT to …/`username`/…/cvsroot – (c:\cvsroot ) • Jalankan program wincvs. • Kemudian jalankan cvs -d :local:c:\cvsroot init • Hal ini akan menciptakan direktori cvsroot sebagai repositori sentral. 8 Menempatkan file projek pada CVS repositori – Misalkan file Anda berada pada direktori c:\HelloWorldCVS – Maka ketik: cd HelloWorldCVS – Lalu lakukan Remote: Import module cvs import -I ! -I CVS -m "Importing data ke repositori sentral CVS" HelloWorldCVS avendor arelease (in directory C:\HelloWorldCVS\) 9 Mengakses Repositori CVS – cd pada direktori lokal dimana Anda bekerja (cd HelloWorldCVS) – cvs checkout -P HelloWorldCVS (in directory C:\HelloWorldCVS) – Menciptakan direktori projek dibawah direktori HelloWorldCVS dan menempatkan file repositori yang terbaru. – Buat perubahan pada file-file tersebut – cvs commit -m “Tambahan Koding Baru." hello.c 10 Updating Area Lokal dalam CVS – cvs update <filename> • Berfungsi untuk membandingkan file pada working copy dengan yang ada pada repositori. • cvs update -P hello.c (in directory C:\HelloWorldCVS\HelloWorldCVS\) • M hello.c • Modified: berarti file hello.c telah diubah pada working copy 11 Updating Area Lokal dalam CVS – Untuk melihat perbedaan antar file pada working directory dengan repositori, dapat digunakan perintah: diff(erent) – cd ke projek direktori lokal – cvs diff cvs diff hello.c (in directory C:\HelloWorldCVS\HelloWorldCVS\) Index: hello.c ===================================================== ============== RCS file: c:/cvsroot/HelloWorldCVS/hello.c,v retrieving revision 1.1.1.1 diff -r1.1.1.1 hello.c 3a4 > printf ("Goodbye, world!\n"); 12 Add/Delete file pada CVS – Add new file • • • • Get a working copy of the module. Create the new file inside your working copy. cvs add filename : CVS version controls it cvs commit filename : add it to repository – Delete a file • rm filename • cvs remove filename • cvs commit filename 13 Objektifitas yang Tercapai – Sekarang, Anda telah dapat: • Setup CVS – membuat repositori • Menempatkan sebuah projek pada repositori CVS • Dapat menggunakan CVS. – Latihan lanjutan: • Apa yang dimaksud dengan branching dan mengapa branching berguna? • Jelaskan perintah cvs sebagai berikut: cvs tag release-1, cvs checkout -r release-1 project, cvs release -d project, cvs rtag -b -r release-1 release-1-patches project, cvs checkout -r release-1-patches project, cvs checkout -j release-1-patches project, cvs commit -m “Merged patch”,… 14 Topik Minggu Depan • Pemrograman Berorientasi Objek • Tugas: Membaca buku Deitel tentang topik bahasan “Encapsulation” 15
© Copyright 2024 Paperzz