Question
Étant donné un fichier de correctif (source), quel est le moyen le plus simple d'appliquer ce correctif sur les fichiers source sous Windows ?
Un outil GUI où je peux comparer visuellement les lignes sources inchangées serait génial.
La solution
Correctif pour Windows c'est ce que vous recherchez.
Autres conseils
Grâce à Macke, un bon moyen d'appliquer un fichier de correctif sous le système d'exploitation Windows consiste à utiliser Git.Si j'ai bien compris, Git est une solution de contrôle de version comme SVN.
Voici un guide pour appliquer un patch :
- Tout d'abord, téléchargez la dernière version de Windows Git Edition ici :GIT
- Avec l'invite cmd, accédez au répertoire du fichier de correctif et des fichiers à corriger.
- Vous pouvez maintenant utiliser la ligne de commande suivante :
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn file.patch
Simple n'est-ce pas ?
Merci Macke
Non pas que depuis Git 2.3.3 (mars 2015), vous puissiez utiliser git apply --unsafe-paths
pour utiliser git apply en dehors d'un dépôt git.
Voir commettre 5244a31 par Junio C Hamano (gitster
)
"git apply
" n'a pas fait très attention à la lecture, à la suppression, à la mise à jour et à la création de chemins en dehors de l'arborescence de travail (sous --index
/--cached
) ou le répertoire actuel (lorsqu'il est utilisé en remplacement du correctif GNU).
La documentation comprend désormais :
--unsafe-paths:
Par défaut, un correctif qui affecte l'extérieur de la zone de travail (soit une arborescence de travail contrôlée par Git, soit le répertoire de travail actuel lorsque "
git apply
" est utilisé en remplacement du patch GNU) est rejeté comme une erreur (ou un méfait).Quand
git apply
est utilisé comme un "meilleur patch GNU", l'utilisateur peut passer le--unsafe-paths
option pour ignorer ce contrôle de sécurité.
Cette option n'a aucun effet lorsque--index
ou--cached
est en cours d'utilisation.
Alors si vous avez git installé, git apply
pourrait aider, même en dehors de tout dépôt git.
WinMerge est génial.