Le commit se fait sur la branche distante, de manière atomique. C'est à dire que soit ta branche est à jour, et le commit se fait, soit tu n'es pas à jour, et on te demande de faire un update.
Avec les autres que je connais, tu peux faire presque ça, en vérifiant avant que tu es à jour, mais il y a toujours une fenêtre de temps pendant laquelle quelqu'un d'autre peut faire un commit. Bref, avec bzr, tu peux, si tu veux, t'assurer que tu n'auras jamais un historique non-linéaire.
Mais la grosse différence, c'est surtout la simplicité de l'interface utilisateur. En une commande, tu dis que « update » doit aller chercher à une URL, et que « commit » doit mettre tes changements au même endroit, ... (et en bonnus, les utilisateurs de CVS/SVN n'ont pas besoin de changer tout de suite leur modèle de pensée).
[^] # Re: bazaar
Posté par Matthieu Moy (site web personnel) . En réponse au journal Sondage pour utilisateurs de git. Évalué à 3.
Avec bzr, tu peux faire quelque chose comme :
$ bzr checkout bzr+ssh://je-sais.pas/ou rep
$ cd rep
hack hack hack
$ bzr commit -m foo
Le commit se fait sur la branche distante, de manière atomique. C'est à dire que soit ta branche est à jour, et le commit se fait, soit tu n'es pas à jour, et on te demande de faire un update.
Avec les autres que je connais, tu peux faire presque ça, en vérifiant avant que tu es à jour, mais il y a toujours une fenêtre de temps pendant laquelle quelqu'un d'autre peut faire un commit. Bref, avec bzr, tu peux, si tu veux, t'assurer que tu n'auras jamais un historique non-linéaire.
Mais la grosse différence, c'est surtout la simplicité de l'interface utilisateur. En une commande, tu dis que « update » doit aller chercher à une URL, et que « commit » doit mettre tes changements au même endroit, ... (et en bonnus, les utilisateurs de CVS/SVN n'ont pas besoin de changer tout de suite leur modèle de pensée).