Bab 2. Konsep Dasar Kendali-Versi

Daftar Isi

Repositori
Model Pembuatan Versi
Masalah Berbagi-File
Solusi Kunci-Ubah-Buka Kunci
Solusi Copy-Ubah-Gabung
Apa yang Dilakukan Subversion?
Subversion dalam Aksi
Copy Pekerjaan
URL Repositori
Revisi
Bagaimana Copy Pekerjaan Melacak Repositori
Ringkasan

Bab ini adalah versi bab yang sama dalam buku Subversion dengan sedikit modifikasi. Versi daring dari buku Subversion tersedia di sini: http://svnbook.red-bean.com/.

Bab ini adalah pengenalan pendek dan kasual terhadap Subversion. Jika Anda baru mengenal kontrol versi, bab ini benar-benar untuk Anda. Kami mulai dengan diskusi konsep kontrol versi umum, bekerja dengan cara kami ke dalam ide spesifik di belakang Subversion, dan memperlihatkan contoh sederhana dari penggunaan Subversion.

Meskipun contoh dalam bab ini memperlihatkan orang berbagi koleksi kode sumber program, harap diingat bahwa Subversion bisa mengatur apapun dari koleksi file - tidak terbatas menolong pemrogram komputer.

Repositori

Subversion adalah sistem terpusat untuk membagi informasi. Pada intinya ada repositori, yang merupakan pusat penyimpanan data. Repositori menyimpan informasi dalam bentuk susunan sistem file - hirarki umum dari file dan direktori. Beberapa klien tersambung ke repositori, dan kemudian membaca atau menulis ke file ini. Dengan penulisan data, klien membuat informasi tersedia bagi yang lain; dengan membaca data, klien menerima informasi dari yang lain.

Gambar 2.1. Sistem Klien/Server Umum

Sistem Klien/Server Umum

Lalu mengapa ini menarik? Sampai sekarang, ini seperti definisi dari file server secara umum. Dan benar, repositori adalah sejenis file server, tapi bukan seperti yang Anda bayangkan. Apa yang membuat repositori Subversion istimewa adalah bahwa ia mengingat setiap perubahan yang pernah dituliskan: setiap perubahan ke setiap file, dan bahkan perubahan ke susunan direktori itu sendiri, seperti penambahan, penghapusan, dan pengaturan ulang dari file serta direktori.

When a client reads data from the repository, it normally sees only the latest version of the filesystem tree. But the client also has the ability to view previous states of the filesystem. For example, a client can ask historical questions like, what did this directory contain last Wednesday? , or who was the last person to change this file, and what changes did they make? These are the sorts of questions that are at the heart of any version control system: systems that are designed to record and track changes to data over time.