52
Expert voice’s in open source Garret Ronney - Apress Practical Subversion Ahmad Faisal NIM : 14000000 Jaya Chandra NIM : 14000570 Nugroho NIM : 14000800 Syahriani NIM : 14000541 Untung Rohwandi NIM : 14000500

Practical Subversion1.0.pptx

Embed Size (px)

Citation preview

Expert voice’s in open source

Garret Ronney - Apress

Practical SubversionAhmad Faisal NIM : 14000000

Jaya Chandra NIM : 14000570Nugroho NIM : 14000800Syahriani NIM : 14000541Untung Rohwandi NIM : 14000500

*Version Control

*Version control adalah manajemen perubahan program koding,dokumen dan informasi lainnya yang disimpan sebagai file dalam komputer

*Version control paling sering digunakan dalam pengembangan perangkat lunak.

*Perubahan dikenali dengan ‘revision1’, ‘revision2’ …dan seterusnya

*Revisi dapat dibandingkan, dikembalikan pada revisi tertentu, dan digabungkan

*Sejarah Version Control

*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)

*Apa itu Subversion

*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 cepat dapat tersedia untuk diedit oleh team

*Point plus SVN

*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

*Sejarah Subversion

*CollabNet Inc. CVS sudah mendekati batas capabilitasnya, dan membuat pengantinya version control system yang berbasis open source

*Tahun 2000, Collabnet Inc, meminta Karl Fogel penulis buku CVS) dan Jim Blandy(Enginer Red Hat Inc) untuk membuatnya.

*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

*Pengembangan CVS = SVN

*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 driveAkses lewat http/https menggunakan modul apache

*Repository dari Subversion

*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

*Struktur SVN

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”.

*WebDAV/DeltaV (melalui protokol http atau https). Cara ini menggunakan format pemanggilan “http://host/lokasi repository”.

*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”

*Struktur SVN

*Management Conflict

*LockingKetika sebuah file sedang diedit, dikunci sehingga

tidak ada yang dapat mengeditnya juga pada saat yang bersamaan

*Non-LockingKetika sebuah file sedang diedit, memperbolehkan

pengguna lain untuk melakukan perubahan, perubahan itu digabungkan ke dalam repository

SVN menggunakan Non-Locking, akan tetapi bisa juga dengan optional locking

*Struktur Repository

*Repository : dimana file dan sejarah perubahan yang ada disimpan

*Penting, untuk memudahkan pengguna mengerti isi repositori

*Standar umumnya:TrunkBranchesTags

*Prosedur Repository

*Direktori trunk berisi cabang utama, dalam dunia pengembangan perangkat lunak direktori ini berisi codingan terbaru, dan paling hangat(sering dirubah oleh para developernya)

*Untuk menandakan titik revisi tertentu dibuatkan tag. Misalnya saat aplikasi sudah mencapai versi 1.0, maka dapat dibuat sebuah tag, agar revisi tersebut dapat lebih mudah ditemukan.

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

$ svn cp trunk tags/versi-1.0

*Prosedur Repository

*Tags dibuat sebagai penanda, maka isi direktori yang ada dalam tags tidak dimodifikasi lagi.

*Lalu bagaimana kalau ingin memodifikasi? Buatlah cabang alias branch,

$ svn cp tags/versi-1.0 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.

*Jika ingin merilis versi pemeliharaan 1.1, bisa dibuat tagnya agar revisi terkai mudah ditemukan

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

Lanjutan nich

*Contoh Struktur Repository

{jika project berkaitan}

*branches

- Project1

- Project2

*tags

- Project1

- Project2

*trunk

- Project1

- Project2

{jika project tidak berkaitan}

*project1

- branches

- tags

- trunk

*project2

- branches

- tags

- trunk

Application Programming Interface(API’s)

*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

-IDE’s : Netbeans, Eclipse, Jdeveloper, Visual Studio

-Project managemet Tools : Trac, Dreamweaver CS5

* Bahkan ada beberapa tools yang menyediakan Sebuah interface GUI untuk subversion

- TortoiseSVN

Bagaimana Memulai Subversion ?

*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/

Perintah-perintah dasar

*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

Perintah-perintah dasar

*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

*Instalasi svn pada sistem operasi windows tidak sulit, Tinggal next.next. Ajah.*CollabNet Subversion Client 1.7.7 setup

Instalasi SVN

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

1. Langkah pertama buat repository baru dengan nama JchanShopOnline.

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

1. Atau dengan command promt seperti gambar dibawah ini

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

2. Setelah itu kita buatkan project dengan nama Project1

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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.

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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.

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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.

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

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”

Pembuatan project dengan menggunakan SVN.exe (command

prompt-windows)

12.Lalu kita cek lewat tools GUI VisualSVN untuk melihat bahwa index.php sudah ada pada repository

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

SVN

I. Langkah pertama kita buat site baru JchanShop

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

SVN

II. Selanjutnya kita setting configurasi untuk SVN

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

SVN

III. Setelah selesai lihat dipojok kanan bawah terdapat repository view yang artinya kita sudah tersambung ke dalam repository server

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

SVN

IV. Lalu kita buat index.php terlebih dahulu, setelah itu klik kanan, pilih Version control, lalu Commit

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

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

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

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

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

VII.Setelah itu kita buat : produk.php, daftarproduk.php, keranjang.php, kategori.php, lalu dicommit sehingga masuk kedalam repository server

 

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

VIII.Bisa kita lihat di VisualSVN apakah benar sudah masuk ke dalam repository atau belum ( untuk memastikan saja)

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

IX.Selanjutnya kita buat folder untuk CSS style dan untuk folder scriptnya.

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

X. Tampilan local view dan repository view untuk site-JchanShop

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

XI.Lalu kita buat style.css dan beserta folder stylenya, lalu di commit, seperti gambar dibawah ini

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

XII.Local view dan repository view setelah commit style.css

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

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

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

XIV.Kita bisa melihat semua log perubahan dengan menggunakan perintah ‘svn log’

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

XV.Tampilan repository akhir dengan visualSVN

Membuat rancangan web php dengan menggunakan aplikasi DW CS5 integrasi

dari SVN

XVI.Tampilan website terakhirnya seperti gambar dibawah ini :