How can I apply the patch from github?
I tried to compile minisat, but I came across two issues from the compilation with clang.
The first issue is solved in this github commit, it's forked from the original github. As the change is minute, I could easily patched the code to work manually.
The second issue is solved in this github (https://github.com/niklasso/minisat/pull/17), but the patch is not applied to the original source. I could manually update the code by copying the modified files, but it would be better if I can pull this patch into my local directory. Is it possible to do that with github? If so, how to do it?
github provides patches for individual commits and pull requests (though I can't find the documentation for this).
You can generate the patch url by simply appending .patch
to the end of the original url.
So, use https://github.com/JWalker1995/minisat/commit/a8cef9d932552b2ec155d5e0d44d8fe0efa3a235.patch for the first, and https://github.com/niklasso/minisat/pull/17.patch for the second.
The general url github.com/original/url/id
would become github.com/original/url/id.patch
for generating the patch.
In terms of commands to run, this becomes
Download the patches to your git repo
wget --output-document=issue1.patch https://github.com/JWalker1995/minisat/commit/a8cef9d932552b2ec155d5e0d44d8fe0efa3a235.patch
wget --output-document=issue2.patch https://github.com/niklasso/minisat/pull/17.patch
Apply the patches
git apply issue1.patch
Check the changes, add and commit. Repeat the same for patch 2.
You can check this blog post for a nice tutorial around creating and applying patches.