'How to patch on Windows?
Given a (source) patch file, what's the easiest way to apply this patch on the source files under Windows?
A GUI tool where I can visually compare the unchanged-changed source lines would be great.
Solution 1:[1]
A good way to apply a patch file under Windows OS is using Git. As I understood, Git is a version control solution like SVN.
Here is a guideline to apply a patch :
- First of all, download the latest release of the Windows Git Edition here : GIT
- With the cmd prompt, change directory to the patch file and files to patch
- Now you can use the following command line :
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn file.patch
Solution 2:[2]
Not that since Git 2.3.3 (March 2015), you can use git apply --unsafe-paths to use git apply outside a git repo.
See commit 5244a31 by Junio C Hamano (gitster)
"git apply" was not very careful about reading from, removing, updating and creating paths outside the working tree (under --index/--cached) or the current directory (when used as a replacement for GNU patch).
The documentation now includes:
--unsafe-paths:
By default, a patch that affects outside the working area (either a Git controlled working tree, or the current working directory when "
git apply" is used as a replacement of GNU patch) is rejected as a mistake (or a mischief).When
git applyis used as a "better GNU patch", the user can pass the--unsafe-pathsoption to override this safety check.
This option has no effect when--indexor--cachedis in use.
So if you have git installed, git apply could help, even outside of any git repo.
Solution 3:[3]
WinMerge is awesome.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Andreas Haferburg |
| Solution 2 | VonC |
| Solution 3 | Philip Reynolds |
