Library to parse and apply unified diffs.
Project description
Paatch - parse and apply unified diffs
Installation and Usage
pip install paatch
patch -h
Why did I fork?
This project is a fork of python-patch-ng, which itself is a fork of the original python-patch project.
I needed a tool to apply unified patches with some GNU extensions, ideally in pure Python.
The set of patches I'm interested are the GraalPy patches.
They apply fine with GNU patch, but the BSD patch utility in macOS chokes on some and getting GNU patch to work on Windows was a bit of hit and miss.
This is also why originally the python-patch project was born in the first place:
In 2008 there was no reliable Windows tool to apply patches, and there was no cross-platform solution that could be safely run by web server process.
(UNIX patch utility)[http://www.gnu.org/software/patch/] was (ported to windows)[http://gnuwin32.sourceforge.net/packages/patch.htm], but there were (a couple of bugs) [http://www.google.com/search?q=Assertion+failed%3A+hunk%2C+file+patch.c] that proved that it can not be run securely in web server process. The utility was also hard to tweak without a C compiler, it messed badly with LF and CRLF line end differences, and so this project was born.
patch.py was meant to be a cross-platoform tool with intuitive defaults, taking care of the most problems (e.g. line end differences) automatically.
So I added what I needed, and now have a PyPI package I can use to apply GraalPy patches on each of these platforms and they will be applied in the same manner.
Credits
Reproducing the thanks in the original project:
Alex Stewart Wladimir J. van der Laan (laanwj) azasypkin Philippe Ombredanne mspncp Yen Chi Hsuan (@yan12125)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paatch-1.20.3-py3-none-any.whl.
File metadata
- Download URL: paatch-1.20.3-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adfbb2bbc28adc4e138e84976922b1ce1bdebdece0e59681a75baec75348bec8
|
|
| MD5 |
0a2b0bdd0ab21b978da589a73128f8ad
|
|
| BLAKE2b-256 |
83c36b46ac331c64ece4d3663c9e040bbbf36a20f589a0032b0f83ea0b63569f
|