download

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