<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>docs.pelican.bernatchez.net - modification</title><link href="https://docs.pelican.bernatchez.net/lang-version.fr/" rel="alternate"/><link href="https://docs.pelican.bernatchez.net/lang-version.fr/feeds/modification.atom.xml" rel="self"/><id>https://docs.pelican.bernatchez.net/lang-version.fr/</id><updated>2025-05-24T18:23:52+00:00</updated><entry><title>Comment créer des correctifs de fichiers (patch)</title><link href="https://docs.pelican.bernatchez.net/lang-version.fr/patchhowto-fr.html" rel="alternate"/><published>2025-05-24T18:23:52+00:00</published><updated>2025-05-24T18:23:52+00:00</updated><author><name>Pierre Bernatchez</name></author><id>tag:docs.pelican.bernatchez.net,2025-05-24:/lang-version.fr/patchhowto-fr.html</id><summary type="html">&lt;p class="first last"&gt;Comment créer des correctifs de fichiers (patch)&lt;/p&gt;
</summary><content type="html">&lt;div class="section" id="un-seul-fichier"&gt;
&lt;h2&gt;Un seul Fichier&lt;/h2&gt;
&lt;p&gt;Voici comment créer un fichier correctif que vous appliquerez ensuite
sur un système cible pour modifier l'un de ses fichiers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Obtenir la copie originale&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;cp&lt;span class="w"&gt; &lt;/span&gt;/pathtofile/myfile.conf&lt;span class="w"&gt; &lt;/span&gt;/pathtofile/myfile.conf.orig
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Modifier le fichier manuellement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;À l’aide de n’importe quel éditeur, apportez manuellement les
modifications souhaitées au fichier /pathtofile/myfile.conf.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Capturez la différence dans un patch&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;diff&lt;span class="w"&gt; &lt;/span&gt;-u&lt;span class="w"&gt; &lt;/span&gt;/pathtofile/myfile.conf.orig&lt;span class="w"&gt; &lt;/span&gt;/pathtofile/myfile.conf&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;myfile.patch
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Essayez le patch&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Annulez les modifications manuelles que vous avez apportées.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;patch&lt;span class="w"&gt; &lt;/span&gt;-R&lt;span class="w"&gt; &lt;/span&gt;-p0&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;myfile.patch
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Refaites vos modifications.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;patch&lt;span class="w"&gt; &lt;/span&gt;-p0&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;myfile.patch
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="repertoire-recursif"&gt;
&lt;h2&gt;Répertoire récursif&lt;/h2&gt;
&lt;p&gt;Dans cet exemple, nous regroupons toutes les modifications apportées à
une arborescence de thèmes Pelican dans un seul fichier correctif.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dupliquer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nous commençons par dupliquer l’arbre complet.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;cp&lt;span class="w"&gt; &lt;/span&gt;-r&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes.orig
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;CONSEIL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J'ai tendance à conserver ma copie originale et à la réutiliser
fréquemment lorsque je modifie des éléments. Pour éviter de modifier
par inadvertance quelque chose dans la version originale et de
compromettre ainsi toutes les modifications ultérieures, j'aime
protéger les fichiers .orig.&lt;/p&gt;
&lt;p&gt;Ce n'est pas indispensable, mais cela m'a bien servi.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;chmod&lt;span class="w"&gt; &lt;/span&gt;-w&lt;span class="w"&gt; &lt;/span&gt;--recursive&lt;span class="w"&gt; &lt;/span&gt;pelican-themes.orig/
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Créer un fichier de correctif&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nous effectuons maintenant toutes les modifications souhaitées dans le
répertoire pelican-themes. Une fois cela fait, nous créons le fichier
patch intégrant toutes les modifications.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes
diff&lt;span class="w"&gt; &lt;/span&gt;-Naru&lt;span class="w"&gt; &lt;/span&gt;../pelican-themes.orig&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;../pelican-themes.patch
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Note:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;-N --new-fil traiter les fichiers absents comme vides&lt;/div&gt;
&lt;div class="line"&gt;-a --text traiter tous les fichiers comme du texte&lt;/div&gt;
&lt;div class="line"&gt;-r --recursive comparer récursivement les sous-répertoires&lt;/div&gt;
&lt;div class="line"&gt;-u -U --unified[=NUM] Émettre NUM lignes de contexte unifié (par défaut 3)&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Annuler les modifications&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes
patch&lt;span class="w"&gt; &lt;/span&gt;-Rs&lt;span class="w"&gt; &lt;/span&gt;-p0&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes.patch
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Note:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;N'oubliez pas que les répertoires créés par patch doivent être supprimés manuellement.&lt;/div&gt;
&lt;div class="line"&gt;-R  --reverse Supposons que le patch a été créé avec les anciens et les nouveaux fichiers échangés&lt;/div&gt;
&lt;div class="line"&gt;-s  --silent  Silencieusement&lt;/div&gt;
&lt;div class="line"&gt;-pN Supprimez le plus petit préfixe de fichier contenant N barres obliques. 0 signifie préfixe complet.&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Appliquer les modifications du correctif&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes
patch&lt;span class="w"&gt; &lt;/span&gt;-s&lt;span class="w"&gt; &lt;/span&gt;-p0&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/pelican-themes.patch
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
</content><category term="modification"/><category term="patch"/><category term="mise à jour"/><category term="révision"/><category term="modification"/><category term="correction"/><category term="différence"/><category term="comment faire"/></entry></feed>