Sedikit pengantar, mercurial adalah sistem manajemen source code untuk kolaborasi pekerjaan dan pelacakan perubahan. Utamanya digunakan oleh para pembuat program. Perangkat lunak ini dibuat berbasis bahasa pemrograman python dan sedikit C untuk alasan kecepatan.
Sudah terdapat beberapa sistem manajemen source code seperti ini, misalnya: Concurrent Versions System (CVS), Subversion (SVN), Bazaar (bzr), Git, dan beberapa yang lain. Lihat di Comparison of revision control software
Masing-masing Versioning System mempunyai kelebihan dan kekurangan. Jadi kenapa saya memilih mercurial, sederhana: saya belum terlalu dalam menggunakan CVS dan SVN dan saat ini sedang fokus di bahasa pemrograman python. Jadi mercurial ada pilihan wajar saat ini. Selain itu namanya keren banget.
Karena mercurial dibuat menggunakan python bisa dipastikan bisa berjalan di sistem operasi selain GNU/Linux. Dalam tulisan ini dibahas menggunakan sistem operasi GNU/Linux, yaitu distribusi Debian Wheezy.
Setelah selesai membaca tulisan ini anda akan bisa menggunakan mercurial untuk melacak perubahan kode sumber yang sedang anda kerjakan. Bekerja sendirian tanpa kolaborasi dengan programmer lain.
Langkat pertama instalasi software. Login sebagai user
charm:~# apt-get install mercurial
Logout dari user
salman@charm:~$ vi ~/.hgrc
Isi file adalah, sesuaikan dengan username pilihan anda.
[ui]
username = salman
Setelah selesai masuk ke direktori kerja anda. Sebagai contoh saya sedang mengerjakan skrip dalam direktori sendsms/ di home direktori.
salman@charm:~$ cd ~/sendsms/
salman@charm:~/sendsms$ hg init
Kemudian tambahkan file-file dalam direktori ini ke dalam database repository mercurial.
salman@charm:~/sendsms$ hg add
adding sendsms.php
adding sendsms.py
Untuk benar-benar menyimpan gunakan perintah,
salman@charm:~/sendsms$ hg commit
Layar anda akan dibawa ke text editor, isikan komentar apapun sesuai dengan perubahan yang anda lakukan. Baris-baris yang diawali dengan
Sekarang waktunya bekerja dengan kode sumber anda. Dan setelah selesai, anda bisa mengetahui apakah ada perubahan atau belum. Dalam contoh ini saya telah mengedit file sendsms.py.
salman@neon:~/sendsms$ hg status
M sendsms.py
Artinya telah terjadi perubahan pada skrip yang disebutkan.
Untuk mengetahui perubahan yang terjadi bisa digunakan perintah hg diff, seperti contoh ini:
salman@charm:~/sendsms$ hg diff
diff -r f0e47563398e sendsms.py
--- a/sendsms.py Sun Jul 11 02:38:34 2010 +0700
+++ b/sendsms.py Sun Jul 11 02:44:42 2010 +0700
@@ -1,4 +1,6 @@
#!/usr/bin/env python
+#xmlrcp client untuk mengirim sms ke server
+
import xmlrpclib
import time
Untuk menyimpan perubahan gunakan perintah hg commit.
salman@charm:~/sendsms$ hg commit
Terakhir untuk mengetahui catatan perubahan, bisa menggunakan perintah berikut,
salman@charm:~/sendsms$ hg log
changeset: 1:bd4f4c11ea17
tag: tip
user: salman
date: Sun Jul 11 02:48:22 2010 +0700
summary: Mebambah komentar pada sendsms.py
changeset: 0:f0e47563398e
user: salman
date: Sun Jul 11 02:38:34 2010 +0700
summary: Initial repository.
Sejarah perubahan akan ditampilkan perubahan terakhir di baris paling atas.
Selamat bekerja menggunakan mercurial