Bismillah
Bikin repo lokal…
sangprabo@sheryl:/mainan$ svnadmin create /mainan/svnrepo
Semua yang berkaitan dengan add, delete, move, copy, harus pake command svn. Jadi direktori repo gak diutak atik.. Ini akan bikin project baru di repo
sangprabo@sheryl:/mainan$ svn mkdir file:///mainan/svnrepo/kecoa -m "Project kecoa started..."
Lalu, checkout untuk membuat sebuah direktori bernama kecoa dan memperlakukannya sebagai working copy..
Working copy = tempat kita mengutak-atik, edit, dsb, file2 project.
Check out = mengambil working copy
sangprabo@sheryl:/mainan$ svn checkout file:///mainan/svnrepo/kecoa
Sampai di sini, kita sudah membuat sebuah working copy di direktori kecoa. Isinya masih kosong (karena memang belum ada yang dikerjakan), KECUALI sebuah folder bernama “.svn” yang menyimpan informasi yang diperlukan Subversion.
sangprabo@sheryl:/mainan/kecoa$ ls -a
.svn
Layout repository yang baik seharusnya memiliki 3 buah subdirektori bernama branches, tags, dan trunk
Trunk = semua kode program yang masih dalam tahap pengembangan
Tags = penanda, misalkan untuk mengembalikan ke revisi (versi) program tertentu dengan mudah
Branches = misal project dibagi jadi tukang cari bug, tukang ngetes, tukang tambah feature, dibaginya di sini
Masih ingat dengan direktori .svn? Ada dua hal yang dismpan di situ
- working revision (versi dari source code kita, penomorannya svn yang atur)
- timestamp (kapan kita terakhir kali mengupdate local copy (wroking copy) ke repository)
Dari situ, cuma ada empat kemungkinan
0. unchanged, current
WC tidak berubah, dan sudah dalam kondisi update
svn update : do nothing
svn commit : do nothing
1. locally changed, current
WC berubah, dan sudah dalam kondisi update
svn update : do nothing
svn commit : publishing changes
2. unchanged, out-of-date
WC tetap, dan basi
svn update : update last change di repo ke WC
svn commit : do nothing
3. locally changed, outofdate
WC berubah, dan basi. Mungkin di repo udah ada yang commit file yang sama. Kalo kita commit juga, artinya dia akan ngasih tahu kalo punya kita udah basi, jadi kudu diupdate dulu.
svn update : mencoba untuk me-merge-kan public changes ke local changes.
Intinya, svn status menunjukkan mana yang berubah:punya kita ato punya repo?
Tanya dong…
Bedanya add direktori di repo sama di lokal (WC)?
Add di direktori WC berarti perubahnnya di WC, add di repo perubahannya di repo. Perubahan di WC berarti kondisi = 1, perubahan di repo berarti kondisi = 2. Semuanya kudu pake command svn.