Saturday 19 November 2016

Subrepository

Status  : Draft

Subrepository Git

Untuk menambahkan subrepository git, kita tinggal membuat file .hgsub, contoh entri .hgsub :

application/webroot/js/MathJax = [git]https://github.com/mathjax/MathJax.git
mias/MathMLCan = [git]https://github.com/OpenThink-Labs/MathMLCan.git
mias/MathMLUnificator = [git]https://github.com/OpenThink-Labs/MathMLUnificator.git
mias/MIaSMath = [git]https://github.com/OpenThink-Labs/MIaSMath.git
mias/MIaS = [git]https://github.com/OpenThink-Labs/MIaS.git
mias/WebMIaS = [git]https://github.com/OpenThink-Labs/WebMIaS.git
Untuk lebih detail, bisa membaca [1]

Ketika menggunakan subrepository berupa Git, ketika push, maka subrepository Git ini akan ikut dipush. Terkadang kita tidak ingin hal ini terjadi. Agar ketika proses push, subrepository tidak ikut dipush, kita bisa menggunakan workaround [2] :

hg push --config extensions.gitsubreadonly=/path/to/contrib/gitsubreadonly.py
Commit dan Push Subrepository

Untuk commit subrepos dapat menggunakan perintah :

hg commit --subrepos -m "pesan commit" 


Lalu, untuk push :

hg push
Untuk meng-enable git subrepository, tambah konfigurasi berikut di .hgrc :

[subrepos]
git:allowed = true

Referensi

  1. Subrepository, https://www.mercurial-scm.org/wiki/Subrepository#Git_subrepositories
  2. gitsubreadonly: add naive hack to avoid issue #194, https://bitbucket.org/durin42/hg-git/pull-requests/52/gitsubreadonly-add-naive-hack-to-avoid/diff
  3. Mercurial Kick Start Exercises, Subrepositories, http://mercurial.aragost.com/kick-start/en/subrepositories/