Showing posts with label revision control. Show all posts
Showing posts with label revision control. Show all posts

Sunday, March 20, 2016

Tutorial HG Mercurial SCM dengan Bitbucket

Mercurial merupakan sistem kontrol terdistribusi (mostly digunakan untuk source code management) yang "pintar". Mercurial adalah source code management (SCM) serupa dengan git yang digunakan untuk revision control system. Secara sejarah, Mercurial juga dibuat untuk menangani ketidakpuasan atas layanan Bitkeeper sebagaimana Linus membuat Git. Mercurial dibuat Matt Mackall, seorang open source developer yang saat ini bekerja di Facebook. Mercurial hanya "kalah waktu" beberapa saat setelah Git diluncurkan, dan Linux kernel community memilih menggunakan Git daripada Mercurial. Namun, banyak komunitas opensource lebih memilih mercurial seperti GNU Octave dan Herwig.

Secara konsep, mercurial berbasis python yang menjadikannya lebih "lambat" sedikit daripada Git yang berbasis C/C++. Sebaliknya, Mercurial lebih pintar daripada Git stupid content tracker dalam hal mememasukkan file ke repository (hg add), sedangkan git memasukkan file (git add) ke "stage". Impactnya, kita cuma perlu sekali saja meng- "hg add" sebuah file dalam repo. Git perlu "git add" setiap kali ada perubahan.

Instalasi
Pertama kita perlu tahu apakah Mercurial sudah terinstall atau belum pada komputer (Ubuntu) kita. Cek dengan,
$ hg --version

Jika tidak ada nomor versinya maka belum terinstall. Mercurial bisa diinstall melalui apt-get ataupun pip install.
 $ sudo apt-get install mercurial

atau
$ sudo pip install mercurial

Ya, seharusnya dengan salah satu perintah di atas, mercurial sudah bekerja di komputer kita. Saya lebih prefer dengan cara pertama (apt-get) daripada instalasi melalui python (pip). Cek lagi dengan "hg --version" untuk mengetahui berhasil tidaknya instalasi mercurial.

Repository setup
Siapkan beberapa file yang akan ditambahkan pada repository
$ mkdir nama-repo
$ cd nama-repo

Buat beberapa text untuk diimport pada repository. Misal buat tiga text file sebagai berikut
$ echo "foo" >> foo.txt
$ echo "bar" >> bar.txt
$ echo "baz" >> baz.txt

Untuk menghost repository di internet, kita menggunakan bitbucket.org yang menyediakan layanan hg mercurial free unlimited (really!). Ada dua cara untuk membuat repo baru, bisa dari bitbucket.org secara langsung, atau membuat secara local di PC kita kemudian mengimportnya.

Cara I