• [^] # Re: Mercurial

    Posté par . En réponse au journal Git a fêté ses 10 ans hier .... Évalué à 3. Dernière modification le 09 avril 2015 à 15:18.

    Si on enlève evolve, Mercurial est au même niveau que Git sur la facilité de réécrire l'historique.

    Sans evolve il est pourtant impossible de faire un amend/rebase/mq sur des changesets déjà publié, chose que Git autorise. C'est dangereux, mais pour celui qui sait ce qu'il fait ça offre plus de souplesse. C'est ça que je veux dire en disant que Mercurial n'autorise pas la réécriture d'historique par défaut (sans evolve) :

    $ echo paf > pouf
    $ hg add pouf
    $ hg ci -m "ajout pouf" pouf
    $ hg phase -p tip # pour simuler un changeset déjà pushé ou provenant d'un pull
    $ echo paf2 >> pouf
    $ hg ci --amend
    abandon : cannot amend public changesets

    Ce n'est pas un défaut de Mercurial ou un avantage à Git (tout dépend du besoin recherché), juste que Git autorise le dev à tout péter pour le meilleur et pour le pire, c'est dangereux mais souple.