dpkg-mergechangelogs(1) | dpkg suite | dpkg-mergechangelogs(1) |
dpkg-mergechangelogs - Fusion triple de fichiers debian/changelog
dpkg-mergechangelogs [option...] ancien nouveau-a nouveau-b [sortie]
Ce programme utilise les 3 versions fournies de journal des modifications (« changelog ») Debian pour créer un fichier de journalisation fusionné. Le résultat est placé dans le fichier sortie ou affiché sur la sortie standard si ce paramètre est omis.
Chaque entrée est identifiée par son numéro de version. Les entrées ne sont pas censées entrer en conflit, mais sont simplement fusionnées dans le bon ordre (par numéro de version décroissant). Si l'option --merge-prereleases est utilisée, la partie de numéro de version qui suit le dernier caractère tilde est omise ; les versions 1.0-1~exp1 et 1.0-1~exp5 sont ainsi considérées comme la même entrée. Quand la même version est mentionnée dans nouveau-a et nouveau-b, une fusion « 3-way » standard est tentée (sous réserve que le module Algorithm::Merge soit disponible — il est fourni par le paquet libalgorithm-merge-perl. Dans le cas contraire, un conflit global est créé dans le contexte de cette entrée.
C'est utile lorsqu'il y a des développements divergents pour des versions qui n'ont pas encore été publiées. Par exemple, une fois 2.1-1 publiée, le développement de la nouvelle version 2.2-1 arrive puis celui de la version 2.3-1, alors il est raisonnable d'aboutir finalement à une entrée consolidée de 2.3-1 intégrant tout le développement effectué dans 2.2-1.
Cette option est utile lorsqu'on conserve la même entrée de journal mais que la version est incrémentée régulièrement. Par exemple, cela permet d'utiliser les numéros 2.3-1~exp1, 2.3-1~exp2, etc., jusqu'à une publication officielle numérotée 2.3-1, toutes ces versions étant considérées comme l'évolution dans le temps de la même version.
Tout ce qui ne peut pas être analysé par Dpkg::Changelog est perdu lors de la fusion. Cela peut comprendre des commentaires qui ne sont pas censés se trouver là, etc.
Si vous souhaitez utiliser ce programme pour fusionner des journaux de modifications Debian dans un dépôt git, vous devez tout d'abord enregistrer un nouveau pilote de fusion dans .git/config ou ~/.gitconfig :
[merge "dpkg-mergechangelogs"] name = debian/changelog merge driver driver = dpkg-mergechangelogs -m %O %A %B %A
Vous devez ensuite configurer l'attribut de fusion pour le fichier debian/changelog, soit dans .gitattributes du dépôt lui-même, soit dans .git/info/attributes :
debian/changelog merge=dpkg-mergechangelogs
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.
2023-05-11 | 1.21.22 |