• [^] # Re: Conseils

    Posté par . En réponse au journal Quel gestionnaire de révisions pour un "débutant". Évalué à 2.

    Je n'ai pas étudié le fonctionnement de SVK en détail mais voici ce que j'ai cru comprendre.(Je ne l'ai pas encore testé)

    SVK permet de répliquer un repository central en local. Ses branche sont mirrorées. Il permet ensuite de créer des branches sur la copie locale du repository qui ne sont pas mirrorées et des espaces de travail aussi bien sur un branche local qu'un branche partagée. Les commandes affectent tantôt le repository local et tantôt le local et le central. Cela permet donc d'effectuer un certain nombre d'opération sen local (commits successifs en mode déconnecté). Le problème que je vois est que toute la gestion est encore centralisée.
    Ainsi 2 développeur ne peuvent pas synchroniser leurs repository locaux sans passer par le repository central.Il faudrait tester pour vérifier si les commandes de pull et push peuvent s'adresser à d'autres repository que celui central.

    L'autre grosse différence que je vois avec les DVCS classiques se situe au niveau du commit sur une branche mirrorée.
    Avec un DVCS classique, il n'y a pas de branche partagée. Chaque developpeur est maitre de sa branche locale et il ne peut pas y avoir de versions concurrente déjà commitée par un autre developpeur qui empecherait le commit. Un developpeur est responsable de la branche de référence et il est le seul à merger dessus pour integrer les modifs des autres après synchronisation et recupération des branches des autres en lecture.
    Avec Svk le fait de commiter sur une branche répliquée envoie d'abord la modif sur le repository central puis resynchronise le repository local. Si une version concurrente a été commitée entretemps, il faut résoudre le conflit comme avec SVN.

    Cette architecture est inhérente aux outils centralisés. Ainsi Clearcase dans sa version multisite adopte un schéma semblable.
    Plusieurs serveurs hébergent un repository mirorré. Chaque serveur a l'exclusivité (masterchip) sur une branche.Et tous les espaces de travail du même site accèdent à la branche en concurrence d'accès comme un outil centralisé classique. Clearcase permet toutefois de transferer l'exclusivité sur une branche d'un site à un autre.

    En tout état de cause, l'utilisation de tels outils est plus complexe que celles d'outils nativement distribués.

    Pour ceux qui veulent approfondir SVK:
    http://pickscrape.woobling.org/svk-visual-guide.pdf
    http://svkbook.elixus.org/nightly/en/index.html