mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 07:53:06 +01:00
44 lines
1.7 KiB
Plaintext
44 lines
1.7 KiB
Plaintext
|
== Patches applied on top of zlib ==
|
||
|
|
||
|
- 0000-build.patch: changes from the upstream version, mostly related to the
|
||
|
build.
|
||
|
- 0001-simd.patch: integrate Intel SIMD optimizations from
|
||
|
https://github.com/jtkukunas/zlib/
|
||
|
- 0002-uninitializedcheck.patch: prevent uninitialized use of state->check
|
||
|
|
||
|
== Procedure to create a patch file ==
|
||
|
|
||
|
Assuming you are working in a new feature branch:
|
||
|
- git format-patch master --stdout > foo.patch # where naming follows a growing
|
||
|
# number plus patch description.
|
||
|
- git add foo.patch
|
||
|
- git commit -a -m "Local patch."
|
||
|
- git rebase -i HEAD~2 # Squashing the second commit
|
||
|
|
||
|
As patches created in this way will feature a ChangeLog, there is no longer
|
||
|
the need to append this file with a description of what the patch does. This
|
||
|
should help to solve frequent conflicts in pending new patches on
|
||
|
Chromium's zlib.
|
||
|
|
||
|
The plan for the near future is to better insulate the platform specific
|
||
|
changes to ease update adoption with new releases of zlib. This insulation
|
||
|
happens by making changes inside contrib/ rather than the root directory
|
||
|
(where conflicts can happen).
|
||
|
|
||
|
If a change modifies enough things inside the root directory that the
|
||
|
intention is not immediately clear, generate a .patch file to go with your
|
||
|
change. If the change's modifications in the root directory are small, like:
|
||
|
|
||
|
#ifdef FEATURE_FLAG
|
||
|
use_special_feature();
|
||
|
#elif
|
||
|
use_default_behavior();
|
||
|
#endif
|
||
|
|
||
|
then the intent is clear and a .patch file doesn't need to be generated (since
|
||
|
it would not provide much value).
|
||
|
|
||
|
Ideally local changes should have a merge request featured in either:
|
||
|
- canonical zlib: https://github.com/madler/zlib/
|
||
|
- zlib-ng: https://github.com/Dead2/zlib-ng
|