Pengenalan SVN

advertisement
LAB SISTEM OPERASI I!
AUGUST 13, 2012
Pengenalan SVN
Subversion(SVN) adalah open source software pengontrol versi pengerjaan project secara berkelompok yang
terpisah menjadi runut dan teratur.
http://teknologi.kompasiana.com/gadget/2011/01/20/apa-sih-cvs-dan-svn/
Subversion mengelola file dan direktori, dan perubahan yang
dibuat dari waktu ke waktu. Hal ini memungkinkan Anda untuk memulihkan versi data Anda atau memeriksa sejarah bagaimana data Anda berubah. Dalam hal ini, banyak orang beranggapan svn semacam "mesin waktu."
Subversion bisa beroperasi di jaringan, yang memungkinkan
untuk digunakan oleh orang-orang di komputer yang berbeda.
Subvrsion memiliki kemampuan untuk memodifikasi dan
mengelola set data yang sama dari lokasi masing-masing secara bersama-sama.
versi subversion terbaru saat ini adalah subversion 1.6 yang
dirilis pada 2009
APR!
!
!
!
!
!
!
!
!
!
!
!
page 1 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
Mini Glossary
repository?
Seperti gudang penyimpanan.pusat
penyimpanan data yang sistem. Repository
biasanya menyimpan informasi dalam
bentuk filesystem tree hierarki file dan
direktori.
working copy?
Dalam hal ini adalah ipin.cs.ui.ac.id
yaitu local copy dari repository di projects
kita. working copy cenderung lebih bebas
dimodifikasi dari repository.
revision?
Integer unik yang selalu membesar setiap
commit
sandbox
File lokal salinan dari repository
APR!
!
!
!
!
!
!
!
!
!
!
!
page 2 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
Shortcut
LEARN MORE
ABOUT
svn help
Penjelasan detail tentang hal tertentu
svn checkout atau svn co
ambil file dari svn
svn add
SVN
Tambah file baru di svn
(beberapa contoh perintah svn)
svn delete
Menghapus file dari repository
SVN HELP
svn update atau up
Sync file di lokal dengan server
svn commit atau svn ci
untuk konfirmasi
svn list
melihat konten direktori
svn move
Untuk mendapatkan penjelasan detail dari perintah tertentu di
memindahkan atau mengubah nama
direktori
svn. Contoh di atas merupakan contoh untuk mendapatkan
svn revert
penjelasan tentang “status”. Hasil dari perintah di atas adalah
kembali ke versi sebelum commit
terahir
penjelasan tentang perintah svn status.
svn remove
mirip dengan delete namun perlu
memberi url
svn info
SVN CHECKOUT
memberikan info detail tentang berkas
atau direktori tertentu.
svn switch
memindahkan working copy ke
repository yang lain
svn status
menampilkan status
svn copy
Perintah ini berfungsi untuk mengunduh file tertentu dari svn
mengopi dari nomor revisi tertentu
repository atau dengan kata lain, untuk mengakses file dari SVN server.
Anda dapat melakukan checkout sebuah berkas, direktori atau projek
http://wiki.greenstone.org/wiki/
index.php/
Useful_SVN_Commands
keseluruhan.
Penjelasan syntax:
http://www.linuxfromscratch.org/
blfs/edguide/chapter03.html
• URL adalah URL dari komponen yang ingin dicheckout
• Path adalah tempat destinasi dari hasil checkout.
http://www.thegeekstuļ¬€.com/
2011/04/svn-command-examples/
APR!
!
!
!
!
!
!
!
!
!
!
!
page 3 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
SVN ADD
svn diff
menampilkan perbedaan
svn cleanup
Untuk memberi tahu server SVN tentang penambahan file atau
membersihkan working copy
direktori. File atau direktori tersebut tidak akan muncul di
svn cat
repository sampai anda melakukan commit.
menampilkan konten dari file tertentu
Penambahan ini berbeda dengan “membuat”. Anda perlu
membuatnya pada direktori lokal terlebih dahulu dan selanjutnya
dapat menambahkan di svn.
Selain itu, penambahan ini dapat dilakukan lebih dari 1 item
dalam 1 waktu.
SVN DELETE
Perintah ini untuk menghapus 1 item dari repository. Item akan
terhapus apabila telah melakukan commit.
SVN UPDATE
Perintah ini untuk sinkronisasi lokal sandbox anda dengan server.
Berfungsi untuk memperbarui file lokal dengan perubahan yang
terjadi di repository.
Bila melakukan pembaruan di beberapa file tertentu:
http://wiki.greenstone.org/wiki/
index.php/
Useful_SVN_Commands
http://www.linuxfromscratch.org/
blfs/edguide/chapter03.html
Bila melakukan pembaruan pada seluruh direktori yang ada
beserta subdirektori.
http://www.thegeekstuļ¬€.com/
2011/04/svn-command-examples/
APR!
!
!
!
!
!
!
!
!
!
!
!
page 4 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
SVN COMMIT atau SVN CI
Perintah ini untuk mengirimkan pengubahan yang anda buat ke svn. svn commit
dibutuhkan setelah svn add, svn delete, dan svn move.
opsi -m (message) dapat diikuti setelah perintah svn commit.
biasanya message merupakan kalimat yang menjelaskan perubahan apa yang telah
dilakukan.
Perintah commit ini dapat dilakukan pada lebih dari 1 file dalam 1 waktu dilakukan
dengan separasi 1 spasi.
contoh untuk commit di direktori saat ini ke repository :
svn commit -m "The svn externals property changed for this folder to grab files/
folders from elsewhere" .
SVN LIST
Perintah ini berguna untuk melihat konten direktori dari SVN repository.
bila “svn list --verbose” akan menampilkan :
• nomor revisi terakhir setelah commit terakhir
• author saat commit terakhir
• size dalam byte
• tanggal dan waktu dari commit terakhir.
contoh:
APR!
!
!
!
!
!
!
!
!
!
!
!
page 5 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
SVN MOVE atau SVN MV atau SVN RENAME atau SVN REN
Perintah ini untuk memindahkan file dari 1 direktori ke direktori yang lain atau mengganti
nama file. File akan dipindahkan ke sandbox lokal anda segera setelah perubahan pada
repository dilakukan. Perintah ini perlu diikuti commit.
SVN REVERT
Perintah ini untuk menimpa/overwrite dari repository dengan versi yang sebelumnya
sebelum commit terakhir.
revert lokal edit :
<filename> optional
revert ke revisi sebelumnya:
ganti ‘R’ dengan nomor revisi yang diinginkan
SVN REMOVE atau SVN RM
Sama seperti svn delete namun perlu untuk mencantumkan url file yang ingin dihapus.
SVN INFO
Perintah ini untuk memberikan informasi mengenai:
• path
• URL
• alamat Repository Root
• nomor revision terakhir
• Tipe node
APR!
!
!
!
!
!
!
!
!
!
!
!
page 6 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
• Schedule, bila “normal” maka pengguna dapat melakukan add, delete, dan replace
• nama yang membuat perubahan terakhir
• hari, tanggal, dan jam perubahan terakhir pada direktori tempat pelaksanaan perintah
“svn info”
perintah svn info dapat dilakukan terhadap berkas:
svn info [nama file]
contoh:
dan juga terhadap direktori, masuk ke direktori yang diinginkan dan laksanakan svn info.
SVN SWITCH
Memindahkan repository ke URL lain
svn switch URL[@PEGREV] [PATH]
--relocate untuk menghindari efek perubahan url pada server terhadap keberadaan file kita.
svn switch --relocate FROM TO [PATH...]
**svn switch --relocate perlu diikuti dengan svn update.
contoh:
APR!
!
!
!
!
!
!
!
!
!
!
!
page 7 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
SVN STATUS
Mencetak status dari working copy dan direktori.
contoh:
dengan --verbose (svn status --verbose), mencetak informasi revisi penuh pada setiap item.
dengan --quiet (svn status --quiet), menampilkan ringkasan status.
pada kolom pertama hasil dari perintah status ini, terdapat 1 karakter, berikut penjelasannya:
• ' ' Tidak ada modifikasi.
• 'A' telah terjadi penambahan.
• 'D' telah terjadi penghapusan.
• 'M' telah dimodifikasi.
• 'R' telah ditimpa(replace)
• 'C' isinya berbeda dengan yang di repository
• '?' item under version control
• '!' item hilang (misalnya, dipindahkan atau dihapus tanpa menggunakan svn).
APR!
!
!
!
!
!
!
!
!
!
!
!
page 8 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
SVN COPY
Biasanya berguna saat kita tidak sengaja menghapus file di repository dan ingin
mengembalikannya.
syntax:
svn copy -r <older version number> from-svn-url to-svn-url -m "message"
contoh:
ingin mengembalikan folder “my_program” yang terhapus.
svn copy -r 15315 http://svn.greenstone.org/other-projects/trunk/my_program
http://svn.greenstone.org/other-projects/trunk/my_program -m "Accidental delete
restored"
perlu diperhatikan bahwa nomor revisi yang ditulis merupakan nomor revisi saat folder
“my_program” masih ada).
SVN DIFF
Menampilkan perbedaan file yang terdapat di working copy dan svn
atau perbedaan dari nomor revisi tertentu
svn diff -r revision1:revision2 FILENAME.
contoh : svn diff -r 168:169 index.xml
akan menampilkan perbedaan pada revisi 168 dan 169 dari index.xml.
SVN CLEANUP
Membersihkan working copy secara rekursif. Biasanya dilakukan bila ada operasi yang
belum selesai dan ingin melanjutkannya.
syntax:
contoh :
bila hanya
“svn cleanup” tanpa path, maka akan membersihkan di direktori sekarang.
APR!
!
!
!
!
!
!
!
!
!
!
!
page 9 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
SVN CAT
Menampilkan isi dari file tertentu
syntax:
OPSI PELENGKAP
--force
contoh:
$ svn cat cobavi.txt
....
-m
pesan log
Hello. This is my first session in the vi editor.
This is the second line of text.
-u
-v
-r
-h
--verbose
--relocate
--set-depth
--relocate
-c
-p
contoh penggunaan:
svn delete
--force
[namafile]
APR!
!
!
!
!
!
!
!
!
!
!
!
page 10 of 11
LAB SISTEM OPERASI I!
AUGUST 13, 2012
Recommended Link:
Ben Collins-Sussman et al., 2010. Version control with subversion.
July 3, 2012. http://svnbook.red-bean.com/en/1.6/
Revisi Terakhir :
http://bebas.vlsm.org/v24/sosp12/root/tutorial-lab/svn-r04.pdf
Disusun Oleh ! : Annisa Prida Rachmadianty dari Tim SOSP12
Kontributor:
Pembina!!
:
Rahmat M Samik-Ibrahim
Ramot Stephanus
Rizki Mandala Putra
Tim SOSP12 (http://sosp.vlsm.org/) :
1.
Aditya Try Anggoro
2.
Annisa Prida Rachmadianty
3.
Ardanella Nelwan
4.
Farah Nuraini
5.
Nisrina Luthfiyati
6.
Siska Eka Putriani
7.
Zulfikar Ian Ifetayo
Copyright 2012 by SOSP12. all rights reserved. This material may be
freely copied and distributed subject to inclusion of this copyright notice and
our World Wide Web URL http://sosp.vlsm.org
APR!
!
!
!
!
!
!
!
!
!
!
!
page 11 of 11
Download