Upload
windu-gata
View
19
Download
2
Tags:
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
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
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)
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