Nicholas Chin has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/69458 )
Change subject: util/kconfig/README.md: Add notes about adding a new quilt patch ......................................................................
util/kconfig/README.md: Add notes about adding a new quilt patch
The patches for kconfig need to be in a format compatible with the quilt tool, and usually also contain a header with some additional info like the git commit. This header is in the same format as patches produced by `git format-patch`, but the diff style git uses is incompatible with quilt and there does not seem to be a straightforward way to format the diff section to work.
Add some documentation for a method I found to go from a git commit to a quilt compatible patch with git headers.
Change-Id: I7a8bbe41e0864be1d28116742b6b8b3fc440cc31 Signed-off-by: Nicholas Chin nic.c3.14@gmail.com --- M util/kconfig/README.md 1 file changed, 61 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/58/69458/1
diff --git a/util/kconfig/README.md b/util/kconfig/README.md index 1350e04..1448c05 100644 --- a/util/kconfig/README.md +++ b/util/kconfig/README.md @@ -37,3 +37,44 @@ Check that kconfig still works, `git add` and `git commit` the changes and write a meaningful commit message that documents what Linux kconfig version the tree has been upreved to. + +## Adding a new patch +The format of the patches to kconfig is a mix of the headers produced by `git +format-patch` and the patch format of quilt. However neither git nor quilt +seems to have any functionality to directly produce a file in such a format + +To add a patch in this format: +1. Add your changes to the sources and `git commit` them +2. Generate a git patch for the commit: + + $ git format-patch HEAD~ + +3. Reverse apply the newly created patch file to restore the tree back to the + state quilt thinks it is in: + + $ git apply -R <the patch file> + +4. Import the patch info quilt: + + $ quilt import <the patch file> + +5. Force push the change so quilt changes the top to the patch (quilt won't + like the git diff style): + + $ quilt push -f <the patch file> + +6. Add the changed files to be tracked against the quilt: + + $ quilt add <the files you changed> + +7. Re-apply your changes from the patch file + + $ git apply <the patch file> + +8. Add the changes to quilt to regenerate the patch file in a quilt compatible + format: + + $ quilt refresh + +9. The new patch file and updates patches/series files can not be added to the + git commit