#language fr # 2009-09-06 - Frédéric Bouquet - Traduction <> = Extension Share = (Cette page est une traduction de l'original en Anglais [[ShareExtension]]) '''Cette extension est distribuée avec Mercurial 1.3 et plus''' ''Auteur : Matt Mackall'' === Vue d'ensemble === Cette extension autorise le partage d'une portion définie (ie. l'historique) d'un dépôt avec un ou plusieurs autres dépôts accessibles localement tout en maintenant un état indépendant de l'espace de travail. Ceci peut permettre de créer un répertoire de travail pour une branche plus rapidement et ceci à moindre coût. Ceci peut être aussi utilisé pour un mode de collaboration simple où tous les commits apparaissent immédiatement dans l'historique du répertoire partagé sans avoir besoin à des push et pull. {{{ $ hg share project project-branch updating working directory 1040 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg share /path/to/network/project # crée 'project' 5298 files updated, 0 files merged, 0 files removed, 0 files unresolved }}} === Mise en garde === Notez qu'une opération effectuée sur ''tout'' dépôt partagé affectera immédiatement ''tous'' ses pairs. En fait, c'est comme si `commit` faisait un push instantanément et atomiquement au dépôt parent ''et'' à tous ses descendants (i.e. tous les autres clones partagés du même parent). Mais, biensûr, il n'y a de push : `commit` écrit simplement dans le répertoire partagé par tous les pais `.hg/store`. En particulier, les opérations qui détruisent ou modifient l'historique -- `strip`, `rebase`, etc. -- vont aussi détruire ou modifier l'historique dans tous les pairs clonés. Par exemple, si vous enlever trop de révisions dans un clone partagé, pouf ! Vous avez aussi supprimé ces révisions de tous ses pairs. Si vous faites des expériences avec des opérations destructives, vous devriez faire un clone total et jouer à l'intérieur de celui-ci en premier. De même, réfléchissez intensivement à l'interaction entre les files Mercurial ([[MqExtension]]). Puisque `.hg/patches` ''n'est pas'' partagé entre les dépôts, il est possible que différents dépôts partagés aient des files de patchs différents. Cependant, les commandes MQ comme `qpush` et `qpop` créent et détruisent l'historique, ainsi, faire des push/pop sur des patchs va affecter tous les pairs clonés. Il n'est probablement pas une bonne idée de mixer MQ et les clones paragés. Si vous le faites, vous devriez définitivement interdire des push/pop sur les patchs dans un clone alors qu'un autre clone a les patchs d'appliqués. En bref, il s'agit d'une petite modification qui affecte grandement l'usuel contrat "les clones sont indépendants" de Mercurial. Assurez vous de bien comprendre ce qu'il se passe avant de vous tirer une balle en pleine tête. === Configuration === Configurez votre .hgrc pour autoriser l'extension en ajoutant les lignes suivantes : {{{ [extensions] share = }}} === Voir aussi === * [[SharedRepoExtension]] - prédécesseur par Brendan Cully (n'était pas distribué avec Mercurial) * [[LocalbranchExtension]] - extension pour partager un répertoire de travail (non distribué avec Mercurial) ---- CategoryFrench