You are on page 1of 52

Expert voices in open source Garret Ronney - Apress

Ahmad Faisal Jaya Chandra Nugroho Syahriani Untung Rohwandi

NIM : 14000000 NIM : 14000570 NIM : 14000800 NIM : 14000541 NIM : 14000500

* Version control adalah manajemen perubahan program


koding,dokumen dan informasi lainnya yang disimpan sebagai file dalam komputer pengembangan perangkat lunak. seterusnya

* Version control paling sering digunakan dalam


* Perubahan dikenali dengan revision1, revision2 dan

* Revisi dapat dibandingkan, dikembalikan pada revisi


tertentu, dan digabungkan

* Stand-alone dan file-focused


- SCCS source code control system(1972, UNIX)
- RCS remote control system(1982, cross-platform, hanya text)

* Centralized (model client-server)


- CVS (1986, repository pertama, file focus)
- perforce (1995, repository terbesar dalam google) - subversion (2000, non-textfiles, direktori struktur)

- microsoft team foundation server(2010, visual studio)

* Distributed
- Git (2005, dibuat oleh linus torvalds setelah BitKeeper menjadi komersial, gitHub, free hosting untuk project OS) - Mercurial (2005, dibuat untuk perubahan BitKeeper)

* Mengelola

semua perubahan meliputi : kode, dokumentasi yang dibuat pada sebuah project. kapan dirubah? siapa yang merubah? jika telah benar, mengapa? * Mencegah perubahan yang berulang2 yang tidak perlu pada sebuah file

* Secara
team

cepat dapat tersedia untuk diedit oleh

* Open source (gratis, dapat dicostumisasi) * Feature lebih banyak dari kebanyakan produk
berbayar lainnya

* Telah banyak digunakan dan tersupport * Terintegrasi oleh banyak development tools * Flexible dalam penggunaannnya * Bekerja pada linux, windows, mac, solaris

* CollabNet Inc. CVS sudah mendekati batas capabilitasnya,


dan membuat pengantinya version control system yang berbasis open source CVS) dan Jim Blandy(Enginer Red Hat Inc) untuk membuatnya.

* Tahun 2000, Collabnet Inc, meminta Karl Fogel penulis buku * Subversion dibuat dari dasar, untuk menjaga agar bekerja
pada CVS dan meredo apa yang tidak

* Di release versi 1.0 pada 23 Februari 2004 * Masih aktif di kembangkan, sekarang ini sudah versi 1.7.8

* Dapat merubah file dan menghapus direktori * File metadata sudah terversionkan. * Perubahan pada repository adalah otomic * Lebih efisien dalam desain repository dan jaringan * File binary sudah tersupport * Menyediakan beberapa opsi untuk sharing repository lewat
network

Akses langsung network drive Akses lewat http/https menggunakan modul apache

* Setiap file yang masuk dalam svn akan disimpan ke dalam


repository

* Repository menyimpan setiap perubahan pada file tersebut,


sehingga programmer dapat rollback versi sebelumnya

* Subversion mempunyai 2 jenis repository : Filesystem based (default svn1.2 keatas) Berkley DB Relational Database

Dari gambar sebelumnya dapat dilihat bahwa repository dapat diakses melalui 3 cara, yaitu:

* Local filesystem yaitu, repository lokal yang diakses langsung oleh


client. Cara ini menggunakan format pemanggilan file:///lokasi repository.
menggunakan format pemanggilan http://host/lokasi repository.

* WebDAV/DeltaV (melalui protokol http atau https). Cara ini * Menggunakan svn protokol (port 3690) atau juga bisa melalui

protokol SSH. Cara ini menggunakan format pemanggilan svn://host/lokasi repository atau svn+ssh://host/path/lokasi repository

* Locking Ketika sebuah file sedang diedit, dikunci sehingga tidak


ada yang dapat mengeditnya juga pada saat yang bersamaan

* Non-Locking Ketika sebuah file sedang diedit, memperbolehkan

pengguna lain untuk melakukan perubahan, perubahan itu digabungkan ke dalam repository dengan optional locking

SVN menggunakan Non-Locking, akan tetapi bisa juga

* Repository : dimana file dan sejarah perubahan yang ada


disimpan

* Penting, untuk memudahkan pengguna mengerti isi


repositori

* Standar umumnya: Trunk Branches Tags

* Direktori trunk berisi cabang utama, dalam dunia

pengembangan perangkat lunak direktori ini berisi codingan terbaru, dan paling hangat(sering dirubah oleh para developernya) Misalnya saat aplikasi sudah mencapai versi 1.0, maka dapat dibuat sebuah tag, agar revisi tersebut dapat lebih mudah ditemukan. $ svn cp trunk tags/versi-1.0

* Untuk menandakan titik revisi tertentu dibuatkan tag.

* Menyalin direktori trunk beserta isinya ke tags/versi-1.0

* Tags dibuat sebagai penanda, maka isi direktori yang ada


dalam tags tidak dimodifikasi lagi.

* Lalu bagaimana kalau ingin memodifikasi?


alias branch,
$ svn cp tags/versi-1.0

Buatlah cabang

branches/versi-1.0

* Jika sudah merilis versi 1.0, lalu ingin melanjutkan dengan


menambah fitur baru yang akan dirilis sebagai versi 2.0, maka kodingan versi selanjutnya terletak dibawah trunk. agar revisi terkai mudah ditemukan

* Jika ingin merilis versi pemeliharaan 1.1, bisa dibuat tagnya


$ svn cp branches/versi-1.0 tags/versi-1.1

Lanjutan nich

{jika project berkaitan}

{jika project tidak berkaitan}

* branches
- Project1 - Project2

* project1
- branches
- tags - trunk

* tags
- Project1

- Project2

* project2
- branches - tags - trunk

* trunk
- Project1

- Project2

* Subversion menyediakan sebuah interface yang berbentuk


command line

* Dari permulaannya didesain untuk mempermudah tools


lainnya agar bisa berintegrasi

* Banyak tool yang sudah menambahkan integrasi subversion


-IDEs : Netbeans, Eclipse, Jdeveloper, Visual Studio -Project managemet Tools : Trac, Dreamweaver CS5

* Bahkan ada beberapa tools yang menyediakan Sebuah


interface GUI untuk subversion - TortoiseSVN

* Subversion
- http://subversion.tigris.org/

* Subversion online book


- http://www.open.collab.net/community/subversion/svnbook/

* Subversion Blog
- http://blogs.open.collab.net/svn/ * TourtoiseSVN - http://tortoisesvn.tigris.org/

* Mengambil cabang subversion ke direktori kerja


$ svn co https://192.168.68.1/repos/project1/trunk/

* Menambahkan berkas/direktori baru ke dalam repository


$ svn add namafile.* [repository] * Setelah mengubah2 isinya, saatnya untuk disimpan $ svn commit m saya rubah tulis pesan commit lalu simpan * Mengambil perubahan terakhir dari repository $ svn update * Menghapus berkas atau direktori $ svn rm namadirektori setelah itu lanjutkan dengan svn ci untuk melakukan perubahan pada repository

* Mengambil cabang subversion ke direktori kerja


$ svn co https://192.168.68.1/repos/project1/trunk/

* Menambahkan berkas/direktori baru ke dalam repository


$ svn add namafile.* [repository] * Setelah mengubah2 isinya, saatnya untuk disimpan $ svn commit m saya rubah tulis pesan commit lalu simpan * Mengambil perubahan terakhir dari repository $ svn update * Menghapus berkas atau direktori $ svn rm namadirektori setelah itu lanjutkan dengan svn ci untuk melakukan perubahan pada repository

Lanjutan lagi

* Instalasi svn pada sistem operasi windows tidak sulit,


Tinggal next.next. Ajah.

* CollabNet Subversion Client 1.7.7 setup

1.

Langkah pertama buat repository baru dengan nama JchanShopOnline.

1.

Atau dengan command promt seperti gambar dibawah ini

2.

Setelah itu kita buatkan project dengan nama Project1

3.

Selanjutnya kita buatkan struktur projectnya, lokasinya bebas, disini kita memakai c:\temp\

4.

Selanjutnya import ke dalam repository dengan menggunakan perintah svn import [path]

5.

Tekan enter, lalu muncul notepad, untuk memasukkan pesan dalam subversion, setelah sebelumnya mengeset svn_editor = notepad

6.

Setelah itu simpan dan exit , tampilan seperti gambar dibawah ini:

7.

Lalu hapus folder c:\temp\project1 karena kita sudah tidak memerlukannya lagi.

Ket : rmdir menghapus direktori, /q quiet mode, /s hapus direktori termasuk file yang ada didalamnya

8.

Lalu kita buat direktori untuk working set project1, dengan menggunakan perintah svn co [path] (co = checkout) disini lokasi repository berada dalam c:\svn\jchanshop\project1. Dimana sebelum di checkout folder tersebut adalah masih belum terdapat folder branches, tags, trunk.

9.

Lalu kita buat file pertama yaitu index.php, kita buat pakai notepad, lalu pilih Yes

10.Selanjutnya kita cek pakai perintah svn st untuk

melihat status file, ternyata terdapat tanda ? pada file index.php. Yang artinya file index.php. Belum dikirimkan ke repository server.

Tanda status file yang berada didepannya itu mempunyai arti, diantaranya :
"?" artinya file tidak termasuk dalam version control "A" artinya file akan ditambahkan kedalam version control "C" artinya file telah terjadi konflik pada saat update "D" artinya file akan dihapus di lokal maupun di repository "M" artinya file telah dimodifikasi "G" artinya perubahan yang ada digabungkan.

11.Agar dapat dilihat oleh yanglainnya,maka file index.php


harus di kirim ke repositori server, perintah : svn add namafile tujuan lalu svn ci m membuat index.php

12.Lalu kita cek lewat tools GUI VisualSVN

untuk melihat bahwa index.php sudah ada pada repository

I.

Langkah pertama kita buat site baru JchanShop

II.

Selanjutnya kita setting configurasi untuk SVN

III. Setelah selesai lihat dipojok kanan bawah terdapat

repository view yang artinya kita sudah tersambung ke dalam repository server

IV. Lalu kita buat index.php terlebih dahulu, setelah

itu klik kanan, pilih Version control, lalu Commit

V.

Muncul menu Checkin, pada Commit Message: masukkan pesannya : pembuatan index.php, lalu tekan commit

VI. Tanda +(add hilang), dan kita lihat lewat visual SVN
hasilnya seperti dibawah ini :

VII.Setelah itu kita buat : produk.php,

daftarproduk.php, keranjang.php, kategori.php, lalu dicommit sehingga masuk kedalam repository server

VIII.Bisa kita lihat di VisualSVN apakah benar sudah


masuk ke dalam repository atau belum ( untuk memastikan saja)

IX. Selanjutnya kita buat folder untuk CSS style dan


untuk folder scriptnya.

X.

Tampilan local view dan repository view untuk site-JchanShop

XI. Lalu kita buat style.css dan beserta folder

stylenya, lalu di commit, seperti gambar dibawah ini

XII.Local view dan repository view setelah commit


style.css

XIII.Setelah itu kita coba cek lewat cmd.exe dan lihat

apakah ada perubahan lain dengan svn up atau svn update, pada gambar dibawah ini terdapat 17 revisi

XIV.Kita bisa melihat semua log perubahan dengan


menggunakan perintah svn log

XV.Tampilan repository akhir dengan visualSVN

XVI.Tampilan website terakhirnya seperti gambar


dibawah ini :

You might also like