panduan:panduan_penggunaan_svn_client_kode_simpan_ugm

Panduan Penggunaan SVN Client Kode Simpan UGM

Apa itu SVN (Subversion)

SVN atau subversion adalah alat open source yang digunakan untuk sistem kontrol revisi mirip dengan CVS. Hal ini banyak digunakan oleh proyek populer opensource seperti Apache, KDE, Gnome, Python dan Samba sebagai program kontrol versi.

Situs repositori Open Source seperti SourceForge dan Google Code Project Hosting menyediakan hosting untuk proyek SVN secara bebas dan open source.

Kode Simpan UGM merupakan repository SVN yang diperuntukkan untuk civitas akademika yang membutuhkan sistem kontrol revisi untuk projek opensource. Untuk menggunakan Kode Simpan UGM, Anda cukup login menggunakan email ugm resmi.

Penggunaan Via Teks Mode

Bagaimana mendapatkan bantuan dengan svn?

Jika Anda mencari referensi svn cukup mengetikkan perintah berikut di terminal :

$ svn help

Ini akan membuat daftar semua fungsi svn yang tersedia, untuk mendapatkan referensi fungsi, mari katakan checkout.

$ svn help checkout

Bagaimana cara membuat repository svn

  1. Create project, klik Projects → New Project, isi data klik tombol save;
  2. Hubungi admin, untuk granted akses Project melalui email ugos@ugm.ac.id dengan memberikan UserID.

nb. untuk granted akses sementara masih manual, untuk kemudian hari akan di usahakan bisa secara automatis. :)

Bagaimana mengimpor direktori yang ada ke repo baru?

$ svn import --username admin programming https://kode.simpan.ugm/svn/programming -m "Initial import"

-m untuk pesan log, revisi pertama diciptakan dengan log sebagai “Impor awal”. Anda perlu ke URL tertentu untuk repo, URL merupakan argumen yang standar untuk svn. Oleh karena itu untuk file lokal, anda perlu ditetapkan dengan file:

Bagaimana checkout file dari svn repo?

Ini adalah bagian yang paling penting dari svn dan juga merupakan bagian paling umum dari baris perintah svn. Sebuah banyak proyek-proyek pengembangan open source menyediakan jalan bagi user untuk memeriksa kode terbaru mereka melalui internet.

Anda perlu memeriksa untuk melakukan perubahan untuk svn repo nanti. Mengacu kembali ke posting sebelumnya, di mana cara mengimpor seluruh direktori / home / mysurface / pemrograman untuk programming_repo. Saya akan checkout ke folder yang sama. Jika anda ragu melakukan hal ini, Anda mungkin ingin backup direktori pertama.

$ mv programming programming-bk 

Sekarang checkout untuk pemrograman, mkdir tidak diperlukan, seperti svn akan menciptakan direktori untuk Anda jika itu tidak ada.

$ svn co --username admin https://kode.simpan.ugm.ac.id/svn/programming programming 

co adalah bentuk pendek dari checkout. Oke, memungkinkan hanya membandingkan kedua folder dengan diff dan menyimpan hasilnya ke file comp.diff

$ diff programming programming-bk > comp.diff

Diff akan daftar folder yang sama, dan juga perbedaan. Periksa comp.diff, karena trek folder tambahan svn yang hanya ada di pemrograman /.. Sekali lagi, jangan diubah atau menghapus folder ini. Apakah Anda yakin untuk menghapus program Anda-bk /? Pastikan Anda tetap repo aman dan Anda dapat memeriksa data yang sama kapan saja, di setiap tempat. File tunggal tidak bisa checkout seperti direktori, tapi Anda dapat mengambil mereka dari repositori oleh ekspor svn

$ svn export https://kode.simpan.ugm.ac.id/programming_repo/c/curses/matrix.cc

Cara melacak perubahan sebelum berkomitmen untuk repo? Pertama-tama, Anda melacak file apa yang berubah,

$ svn status

Ini akan daftar file yang telah berubah, dengan beberapa atribut selain nama file. Atribut umum adalah M,?, A … M yang dimodifikasi, A baru ditambahkan (bagaimana menambahkan mengacu kemudian bagian),? menunjukkan file tersebut akan ditambahkan ke dalam direktori lokal namun tidak ditambahkan ke dalam repo. Kedua, Anda ingin melacak perbedaan antara revisi sebelumnya dan yang kerja. Mari kita berasumsi color.c telah berubah,

$ svn diff color.c

Aku benar-benar tidak suka hasil svn diff '. Untungnya, saya menemukan script bash sederhana apa yang membuat vimdiff sebagai alat membandingkan. Script ini ditulis oleh Erik C. Thauvin, Anda bisa mendapatkannya dari here.

Nama saya sebagai svndiff dan letakkan di /usr/bin, mengubah modus untuk dieksekusi.

$ chmod +x /usr/bin/svndiff

Sekarang, saya hanya bisa melakukan ini,

$ svndiff color.c

untuk menutup vimdiff, ketik :qa

Bagaimana menambah atau menghapus file ke atau dari repo?

File tersebut tidak akan dilakukan jika Anda tidak menambahkan ke dalam repo. Oleh karena itu Anda perlu menambahkannya secara manual jika Anda ingin masuk ke repo Anda. Katakanlah Anda ingin menambahkan file baru color2.cc

$ svn add color2.cc

cek status dengan perintah :

$ svn status

Hapus melakukan cara yang sama, jika Anda hanya menghapus file di direktori kerja Anda, tidak akan mencerminkan perubahan repo kita.

Bagaimana melihat isi dari repo svn?

$ svn list https://kode.simpan.ugm.ac.id/svn/programming

Cara lain untuk daftar semua file dan folder dalam tampilan struktur pohon, yaitu menggunakan svnlook

$ svnlook tree programming

Perbedaan antara daftar svn dan pohon svnlook adalah salah satu URL mengharapkan satu lagi tidak.

Bagaimana melakukan perubahan?

Anda dapat melakukan dengan-m untuk tempat log pesan Anda jika ini pendek. Tetapi kalau itu panjang, saya sarankan anda untuk menggunakan editor default. Saya adalah pengguna vim, karena itu cukup tambahkan baris ke dalam bashrc ~ /.

EDITOR=vim

Sekarang bisa melakukan dengan ini:

$ svn ci

atau

$ svn ci -m "original"

ci adalah bentuk pendek dari commit. Tulis pesan log dan menutup menyimpan :x, Saya telah selesai. Cara yang sama seperti checkout, Anda dapat memilih untuk melakukan satu file atau folder apapun.

Bagaimana untuk memeriksa log untuk setiap revisi?

Cara termudah dengan perintah :

$ svn log

Ini akan menampilkan semua log, mulai dari revisi terbaru. Yang benar-benar menjengkelkan! Anda dapat membatasi ke 3 log revisi terakhir dengan melakukan hal ini

$ svn log --limit 3

Jika Anda ingin memeriksa revisi tertentu, ditentukan dengan -r,

$ svn log -r 3

Saya menemukan sesuatu yang aneh, mari katakan saya telah melakukan svn menghapus pada revisi 3 (terakhir), dan revisi 2 adalah perubahan dari file dihapus pada revisi 3. Ketika saya melakukan log svn, dengan hak itu harus menampilkan semua 3 log, tapi ini hanya menunjukkan untuk revisi 1. Ini berarti log svn akan hanya menampilkan log jika file tersebut ada, telanjang dalam pikiran.

Bagaimana memperbarui direktori kerja ke revisi terbaru?

$ svn update

Update ke revisi tertentu

$ svn update -r 3

Penggunaan Via Mode Grafis

Underconstruction
Windows –> menggunakan Tortoisesvn
Linux –> menggunakan rapidsvn atau RabbitCVS

Referensi

panduan/panduan_penggunaan_svn_client_kode_simpan_ugm.txt · Last modified: 2013/11/01 09:27 (external edit)