• [^] # Re: Je profite de ce troll

    Posté par (site web personnel) . En réponse au journal Microsoft passe à git. Évalué à 7.

    La branche nommée
    Je trouve dommage que git ne l'implémente pas

    Pourquoi ?

    La fonctionnalité de git est implémentée par le bookmark chez mercurial. Ça fonctionne de la même façon

    hum, pas tout à fait…

    Petit exemple à la con dans les deux systèmes :

    • une branche
    • on crée deux topic branches / bookmarks
    • on commit dans les deux
    • on cherche à revenir sur la branche initiale et on merge

    hg :

    hg init
    echo "plop" > plop.txt && hg add plop.txt && hg ci -m "Plop"
    hg bookmark book1
    hg bookmark book2
    hg up book1
    echo "book1" >> plop.txt && hg ci -m "book1"
    hg up -C book2
    echo "book2" >> plop.txt && hg ci -m "book2"
    
    

    Comment je reviens à la racine commune initiale pour merger ?
    Ben je peux pas facilement car tip s'est déplacé.

    hg glog -q
    @ 2:1e6b0920866c
    |
    | o 1:2916c74c15d8
    |/
    o 0:1c8a265ec97f
    
    

    Evidemment là c'est un cas simple, mais dans un cas plus compliqué c'est vraiment galère pour se déplacer.

    Maintenant git :

    git init
    echo "plop" > plop.txt && git add plop.txt && git ci -m "Plop"
    git co -b branch1
    git co master
    git co -b branch2
    git co branch1
    echo "branch1" >> plop.txt && git ci -am "branch 1"
    git ci branch2
    echo "branch2" >> plop.txt && git ci -am "branch 2"
    
    

    A ce moment là, si je veux merger depuis la racine commune c'est très simple puisqu'il me suffit de faire un git co master.

    Les bookmarks en hg c'est juste un label sur une branche anonyme. On le voit d'ailleurs très bien dans l'historique.

    Et pour ceux qui ont utilisé hg < 1.6 on ne pouvait juste pas push/pull les bookmarks

    Ha oui, et ne surtout pas oublier de rajouter cela à votre .hgrc. Sans cela, même pas la peine d'essayer les bookmarks :

    [bookmarks]
    track.current = True
    
    

    D'ailleurs la description est très marrante : It is possible to obtain a more Git-like experience