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> Reviewed-on: https://review.coreboot.org/c/coreboot/+/69458 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
a7f669049d
commit
9eab93168d
|
@ -37,3 +37,44 @@ Linux.
|
|||
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 to the top of quilt's patch stack (quilt won't like
|
||||
the git diff style and would normally refuse to apply the patch):
|
||||
|
||||
$ 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 while keeping the git header:
|
||||
|
||||
$ quilt refresh
|
||||
|
||||
9. The new patch file and updated patches/series files can now be added to the
|
||||
git commit
|
||||
|
|
Loading…
Reference in New Issue