Deprecated: Function split() is deprecated in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php on line 146 Warning: Cannot modify header information - headers already sent by (output started at /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php:146) in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php on line 236 Warning: Cannot modify header information - headers already sent by (output started at /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php:146) in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/actions.php on line 128
HG Mercurial este un SCM “Source Control Management system” cross-platform a carui obiectiv principal este crearea suportului necesar managementului surselor pentru dezvoltatorii de software.
Mercurial este scris in mare parte in Python, doar o mica parte este scrisa in C, exemplu diff-ul din mercurial.
Platforme:
Licenta:GPL
Scopurile sale principale includ:
Ne vom referi in acest tutorial la ultima versiune disponibila mercurial-0.9.4
sudo apt-get update && sudo apt-get install mercurial
emerge sync && emerge mercurialPS: In cazul de mai sus se va instala versiunea stabila mercurial-0.9.3
In exemplu de mai jos va fi prezent managementul fisierelor de configurare in Gentoo din directorul “/etc/conf.d/”
Implicit mercurial va utiliza numele utilizatorului logat ‘user@localhost’. Este indicat sa personalizam accesul mercurial. Vom vrea fisierul ~/.hgrc unde vom adauga informatiile utilizatorului pentru o mai mare transparenta:
#touch ~/.hgrc # vi ~/.hgrc [ui] utilizator = Author Name <email@address>
Ne mutam in directorul in care vrem sa cream repository-ul si in cazul de mai jos este directorul fisierelor de configurare din Gentoo Linux /etc/conf.d/
#cd /etc/conf.d
Cream un repository pentru directorul /etc/conf.d Numele proiectului va fi preluat din numele directorului si se va numi conf.d.
#sudo hg init
Pentnu a exclude anumite fisiere sa nu fie importate in repository putem utiliza fisierul .hgignore ce se va afla in directorul unde se va crea repository-ul in care adaugam diferite fisiere sau extensii de fisiere pe care le vom exclude din repository. Ex.
cat > /etc/conf.d/.hgignore <<EOF syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$nu le vrem in repositoriu. EOF
Acum putem incepe modificarea fisierelor de configurare fara teama de a gresi ceva ireversibil.
Dupa ce ati adus modificari in fisierile din /etc/conf.d putem trece la verificarea statutului modificarilor
#hg status
Dupa executarea comenzii ne va fi prezentata o lista de fisiere ce au suferit modificari de la ultima comitere in repository.
Pasul urmator este sa salvam modificarile fisierelor in repository. Ex. Am adus modificari in setarile de retea si DNS in “/etc/conf.d/net”
#hg commit -m "comentariul pentru modificarile aduse in /etc/conf.d"
Este bine sa avem o copie a repositoriului in caz de ... ?
#hg clone etc etc-curent
Pentru a mai mare siguranta vom si o copie on-line pe alt server in caz ca va puteti confrunta cu o pana hardware. Vom presupune ca avem deja instalat pe un alt server “ServerB” mercurial si avem access la server prin serviciul ssh.
ServerA#hg clone ssh://user@serverB/home/buckup_serv1/etc
Dupa o perioada de de modificari este bine sa resincronizam repository-urile Vom executa sincronizarea de pe serverulB de backup
ServerB#hg pull --update ssh://user@serverA/ #hg status #hg commit -m "am sincronizat /etc/conf.d de pe serverul primar pe cel backup"
#hg push ssh://user@serverB/home/backup_serv1/etc
In caz ca vrem sa vedem modificarile aduse in timp la /etc/conf.d
#hg log -v
Ne va afisa o lista cu informatii despre modificarile aduse in repository Sau doar sa vedem modificarile versiunii curente
#hg tip
Exemplu de mai sus este pentru fisierele de configurare gentoo dar se poate aplica oricarea alte distributii ex. pentru /etc/init.d
$hg diff
$hg revert file_name_changed
$hg add fisier_nouetc.
Mercurial este unul din cele mai simple si eficiente SCM dar are si un grad de complexitate pentru cei ce vor mai mult control. Asta a fost o succinta prezentare a lui mercurial SCM de aici puteti incepe sa experimentati si sa cunoasteti adevarata putere a lui mercurial.
Pentru mai multe detalii consultati manualul oficial, sau consultati HOWTO-ul Oficial. Pe site aveti si un Quick Reference Cards
PS: incepeti prin creearea repositoriilor in ~/test si numai dupa ce sunteti obisnuit cu comanda hg puteti trece la lucru mai serioase.
| Publicaţi pe acest Wiki doar conţinut original, nu se acceptă copierea articolelor de pe alte site-uri. Se recomandă folosirea link-urilor in acest caz. | ||
|
|
|
|