romain@921: \chapter*{Préface} romain@925: \addcontentsline{toc}{chapter}{Préface} bos@26: \label{chap:preface} bos@26: romain@921: La gestion de source distribué est encore un territoire peu exploré romain@925: et qui, par conséquent, a grandi très rapidement grâce à la seule romain@925: volonté de ses explorateurs. bos@26: romain@925: Je rédige un livre sur ce sujet car je crois que c'est un sujet romain@921: important qui mérite bien un guide du ``terrain''. J'ai choisi d'écrire romain@925: ce livre sur Mercurial car c'est l'outil le plus simple pour découvrir romain@921: ce nouveau monde et que, en outre, il répond très bien au besoin de Wilk@932: réels environnements, là où d'autres outils de gestion de source n'y romain@921: parviennent pas. bos@26: romain@921: \section{Cet ouvrage est un travail en cours} bos@26: romain@921: Je publie ce livre tout en continuant à l'écrire, dans l'espoir qu'il romain@921: vous sera utile. J'espère aussi que les lecteurs pourront ainsi contribuer romain@921: si ils souhaitent. bos@26: belaran@935: \section{À propros des exemples de ce livre} bos@200: belaran@935: Ce livre a une approche particulière des exemples d'exécution. Ils sont Wilk@932: toujours ``dynamiques''---chacun est le résultat d'un script shell qui Wilk@932: exécute les commandes Mercurial que vous voyez. Chaque fois qu'une Wilk@932: image du livre est construite à partir des sources, tous les scripts d'exemple Wilk@932: sont exécutés automatiquement, et les résultats comparés à ceux attendus. bos@200: romain@921: Cette approche a l'avantage de garantir que les exemples sont toujours Wilk@932: justes ; ils montrent \emph{exactement} le comportement de la version de Wilk@932: Mercurial spécifiée dans la couverture de ce livre. Si je met à jour cette romain@921: version, et que les commandes changent, la génération du livre échouera. romain@921: romain@922: Il y a un petit désavantage à cette approche, les dates et les romain@922: durées que vous verrez dans ces exemples ont tendances à être Wilk@932: ``réduits'' de manière très différente d'une exécution manuelle. Un être humain Wilk@932: ne peut exécuter qu'une commande toutes les secondes, alors que mes scripts Wilk@932: automatisés en exécutent plusieurs en une seule seconde. bos@200: romain@922: Ainsi, en une seule seconde, plusieurs ``commits'' peuvent avoir lieu romain@922: au sein d'un exemple. Vous le constatez, entre autres, dans les romain@922: exemples sur \hgext{bisect}, dans la section~\ref{sec:undo:bisect}. bos@200: romain@922: En conséquence, quand vous lisez les exemples, n'accordez pas trop romain@922: d'importance aux dates et aux durées d'exécution des commandes. Mais romain@922: \emph{soyez sûr} que le comportement que vous voyez est cohérent et romain@922: reproductible. bos@200: romain@922: %TODO: Colophon ??? romain@922: \section{Colophon---Cet ouvrage est libre} bos@200: romain@922: %TODO: Link to wikipedia def ? romain@922: Ce livre est publié sous la licence ``Open Publication License'', et romain@922: est construit uniquement à l'aide de logiciels libres. Il est mis romain@922: en forme avec \LaTex{}; et les illustrations sont réalisées avec bos@26: \href{http://www.inkscape.org/}{Inkscape}. bos@26: romain@922: L'ensemble des fichiers sources de cet ouvrage sont publiés dans un romain@922: dépot mercurial \url{http://hg.serpentine.com/mercurial/book}. bos@26: bos@26: %%% Local Variables: bos@26: %%% mode: latex bos@26: %%% TeX-master: "00book" bos@26: %%% End: