Welcome, Guest. Please login or register.
+  Linux Soft Forum
|-+  Īnvaţă» Programe recomandate» Servere» HG Mercurial - lightweight SCM
[Picture 161] [Picture 160] [Picture 159]
Username:
Password:
 
Pages: [1]   Go Down
  Print  
Author Topic: HG Mercurial - lightweight SCM  (Read 2688 times)
0 Members and 1 Guest are viewing this topic.
sabertooth
Veteran
**

mysql killer


« on: July 08, 2007, 10:04:40 AM »

HG Mercurial este un SCM cross-platform a carui target sunt dezvoltatorii de software.

Aceasta aplicatie este dezvoltata in Python cu un diff-ul scris in C.

In esenta Mercurial este destinat folosirii in consola. Toate comenzile incep cu literele hg care sunt o referire la elementul chimic hydrargyrum.

Aplicatie windows echivalenta: Mercurial.

HomePage:
http://www.selenic.com/mercurial/wiki/

DownLoad:
http://www.selenic.com/mercurial/wiki/index.cgi/Download

Docs:
http://www.selenic.com/mercurial/wiki/index.cgi/UnderstandingMercurial
http://www.selenic.com/mercurial/wiki/index.cgi/Tutorial
http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart
http://www.ivy.fr/mercurial/ref/v1.0
http://www.selenic.com/mercurial/wiki/index.cgi/ManPages
http://www.selenic.com/mercurial/wiki/index.cgi/FAQ

Tool-uri care sunt folosite impreuna cu Mercurial:
- http://qct.sourceforge.net/ - gct este un tool grafic pentru commit
- http://progetti.arstecnica.it/tailor - tailor este facut pentru conversia intre SCM-uri
- hgk este un port al gitk care este un history browser
- mai multe informatii aici: http://www.selenic.com/mercurial/wiki/index.cgi/OtherTools

Platforme:
- Unix-uri
- Windows
- Mac OS X

Licenta:
GPL

Scopurile sale principale includ:
- performanta si scalabilitatea
- lipsa unui  server, dezvoltarea complet distribuita
- manuirea industry solid atat a fisierelor text cat si a celor binare
- facilitati avansate de branching si merge-uire
- includerea unei interfete integrate web

Proiecte care folosesc Mercurial:
- Audacious Media Player
- Globulation 2
- Mozilla
- OpenSolaris
- Xen
- Java Platform

Creatorul si dezvoltatorul prncipal este Matt Mackall.

Mackall a demarat dezvoltarea acestui proiect pe 19 aprilie 2005, dupa ce BitKeeper s-a retras versiunea free folosita pentru kernelul Linux.

In aceeasi perioada a fost demarat un alt proiect numit Git. Pana la urma pentru kernelul Linux a fost ales Git ceea ce nu a dus la "ingroparea" Mercurialului, astfel ca acum acest SCM este folosit de mari proiecte precum cele mentionate mai sus.

Ultima versiune stabila este 0.9.4.
Logged

Stercus accidit
mudrii
Veteran
**

« Reply #1 on: July 08, 2007, 05:19:02 PM »

Recomand mult folosirea mercurial o spun din experienta Wink
Logged
mudrii
Veteran
**

« Reply #2 on: July 09, 2007, 02:50:16 AM »

Mersi mul lui sabertooth pentru descrierea detaliate a lui mercurial.
o sa dau putin mai multe detalii despre mercurial.
La ce se poate folosi mercurial ?
1. development Pentru toti cei ce scriu cod stiu exact ca e foarte deficil sa mentii codul scris fara un management al codului.
2  pentru fisierele de configuratie (/etc/*) o solutie foarte convenabila pentru administratori este sa mentii un  sistem curat si sa stii exact ce ai modificat acum 2 luni la fisierele de configuratie,  exemplu "setarile IP-ului", si problema este si mai acuta cand ai de configurat 10-50 servere si trebuie sa stiu exact ce sa configurat cand de cine si de ce.
3 pentru scrierea documentatioe in ASCI format.
Ultima versiunea mercurial-0.9.4
Instalarea
In ubuntu
sudo apt-get update && sudo apt-get install mercurial
In gentoo
emerge sync && emerge mercurial

haideti sa faci un repository pentru fisierele de configuratie din /etc/* in cazul de mai jos este pentru ubuntum dar se poate utiliza pentru orice alta distributie linux.
Merge in directorul unde vrem sa creem repositoriul in cazul de mai jos va fi /etc/
Code:
#cd /etc
Crem repositoriul pentru directorul /etc PS; proiectul se va numi etc dupa numele directorului unde se creaza repositoriul.
Code:
#sudo hg init
daca vrem sa excludem anumite fisiere sa nu fie importate in repositorui putem uteliza fisierul .hgignore unde putem adauga diferite fisiere sau extensii de fisiere pe care le vom exclude din repositoriu.
Code:
syntax: glob
*.orig
*.rej
*~
*.o
tests/*.err
syntax: regexp
.*\#.*\#$nu le vrem in repositoriu.

Acum putem incepe modificare fisierelor de configuratie fara teama de a strica ceva ireversibil.
dupa ce ati modificat ce ati avut de modificat in /etc/ verificam cu hg ce sa modificat cu comanda
Code:
#sudo hg status
unde vom avea o lista de fisiere se au suferit modificari de la ultima comitere in repositoriu.
Pasul urmator este sa salvam modificarile fisierului su fisierelor in repositoriu. Ex modificarea inregistrarilopr DNS din /etc/resolv.conf"
Code:
#sudo hg commit -m "comentariul vosrtu pentru modificarile aduse in /etc"
este bine sa avem o copie a repositoriului in caz de ... ?
Code:
#sudo hg clone etc etc-curent
la care se mai adauga 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.
Code:
#sudo hg clone ssh://user@serverB/home/buckup_serv1/etc
dupa o perioada de de modificari este bine sa resincronizam repositoriile
PS; vom executra sincronizarea de pe serverulB de bakup
Code:
#sudo hg pull --update ssh://user@serverA/
#sudo hg status
#sudo hg commit -m "am sincronit /etc/ de pe serverul primar pe cel backup"
Se poate face sincronizarea si de pe serverul sursa
Ex
Code:
#sudo hg push ssh://user@serverB/home/backup_serv1/etc
In caz ca vrem sa vedem modificarile aduse in timp la /etc
Code:
#sudo hg log -v
Exemplu de mai sus nu se recomanda a folosi din cauza ca directorul /etc/ continu multe fisiere binare sau fisiere de care nu veti atinge niciodata, pentru teste incercati sa creati un director in $HOME si sa va jucati acolo pana va obisnuiti  si utelizati doar directoare din /etc/ in care continutul este modificate cel mai frecvent.
Vedeti mai multe comenzi posibile
verificarea diferentelor
$ hg diff
A reveni la starea initiala inainte de modifirare
$ hg revert file_name_changed
Adaugarea de noi fisiere in repositoriu
$ hg add fisier_nou
etc.
Mercurial este unul din cele mai simple si eficiente SCM dar are si un grad de complexitate pentru cei ce vor mai mult control.
Dupa ce veti incepe sa-l utelizati o sa va indragostiti de acest SCM.

Go for it  Smiley
« Last Edit: July 09, 2007, 02:50:49 AM by mudrii » Logged
oblio
Admini
**


WWW
« Reply #3 on: July 10, 2007, 09:48:10 AM »

Mudrii, mă gāndesc că pentru găsire mai uşoară ar merge pus şi pe wiki (cu un nume frumos gen Utilizare SCM Mercurial, ca să dea frumos la nenea Gugăl) - am făcut şi pagina... care momentan e goală. Voila - http://www.linuxsoft.ro/wiki/programare/utilizare-scm-mercurial Smiley
Dacă ai timp desigur Wink
« Last Edit: July 10, 2007, 09:49:50 AM by oblio » Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vārstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
mudrii
Veteran
**

« Reply #4 on: July 11, 2007, 10:08:40 AM »

OK o sa-l periezi si-l pun pe wiki
Logged
mudrii
Veteran
**

« Reply #5 on: July 18, 2007, 07:20:13 AM »

Done
http://www.linuxsoft.ro/wiki/programare/utilizare-scm-mercurial
Logged
Pages: [1]   Go Up
  Print  
 
Jump to: