summaryrefslogtreecommitdiff
path: root/tools/patman/README
AgeCommit message (Collapse)Author
2022-08-13patman: Add documentation to doc/Simon Glass
Link to patman's documentation from the doc/ directory so that it appears in the 'make htmldocs' output. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-10-31patman: Add "postfix" support to patch subjectsSean Anderson
In some communities, it may be necessary to append something after PATCH in the subject line. For example, the Linux networking subsystem expects [1] patch subject prefixes like [RFC PATCH net-next 0/99]. This adds support for such "postfix"s to patman. Although entirely cosmetic, it is still nice to have. [1] https://www.kernel.org/doc/html/latest/networking/netdev-FAQ.html#how-do-i-indicate-which-tree-net-vs-net-next-my-patch-should-be-in Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-03-22patman: Update documentation to match new usageSimon Glass
With the subcommands some of the documentation examples are no-longer correct. Fix all of them, so it is consistent. Signed-off-by: Simon Glass <[email protected]>
2020-11-14patman: Add a Series-patchwork-url optionSimon Glass
Add a commit tag to allow the Patchwork URL to be specified in a commit. This can be handy for when you submit code to multiple projects but don't want to use the -p option. Signed-off-by: Simon Glass <[email protected]>
2020-11-14patman: Add a setting for the Patchwork URLSimon Glass
Add an argument to allow specifying the the patchwork URL. This also adds this feature to the settings file, either globally, or on a per-project basis. Signed-off-by: Simon Glass <[email protected]>
2020-11-05patman: Support listing comments from patchworkSimon Glass
While reviewing feedback it is helpful to see the review comments on the command line to check that each has been addressed. Add an option to support that. Update the workflow documentation to describe the new features. Signed-off-by: Simon Glass <[email protected]>
2020-11-05patman: Support updating a branch with review tagsSimon Glass
It is tedious to add review tags into the local branch and errors can sometimes be made. Add an option to create a new branch with the review tags obtained from patchwork. Signed-off-by: Simon Glass <[email protected]>
2020-11-05patman: Support checking for review tags in patchworkSimon Glass
Before sending out a new version of a series for review, it is important to add any review tags (e.g. Reviewed-by, Acked-by) collected by patchwork. Otherwise people waste time reviewing the same patch repeatedly, become frustrated and stop reviewing your patches. To help with this, add a new 'status' subcommand that checks patchwork for review tags, showing those which are not present in the local branch. This allows users to see what new review tags have been received and then add them. Sample output: $ patman status 1 Subject 1 Reviewed-by: Joe Bloggs <[email protected]> 2 Subject 2 Tested-by: Lord Edmund Blackaddër <[email protected]> Reviewed-by: Fred Bloggs <[email protected]> + Reviewed-by: Mary Bloggs <[email protected]> 1 new response available in patchwork The '+' indicates a new tag. Colours are used to make it easier to read. Signed-off-by: Simon Glass <[email protected]>
2020-11-05patman: Allow linking a series with patchworkSimon Glass
Add a new Series-links tag to tell patman how to find the series in patchwork. Each item is the series ID optionally preceded by the series version that the link refers to. An empty version indicates this is the latest series. For example: Series-links: 209816 1:203302 Documentation is added in a later patch. Signed-off-by: Simon Glass <[email protected]>
2020-11-05patman: Update how tests are runSimon Glass
The current instructions are out-of-date. Fix them. Signed-off-by: Simon Glass <[email protected]>
2020-05-29patman: Support multi-line changes in changelogsSean Anderson
This patch adds support to multi-line changes. That is, if one has a line in a changelog like - Do a thing but it spans multiple lines Using Series-process-log sort would sort as if those lines were unrelated. With this patch, any change line starting with whitespace will be considered part of the change before it. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-05-29patman: Add new tags for finer-grained changelog controlSean Anderson
By default patman generates a combined changelog for the cover letter. This may not always be desirable. Many patches may have the same changes. These can be coalesced with "Series-process-log: uniq", but this is imperfect. Similar changes like "Move foo to patch 7" will not be merged with the similar "Move foo to this patch from patch 6". Changes may not make sense outside of the patch they are written for. For example, a change line of "Add check for bar" does not make sense outside of the context in which bar might be checked for. Some changes like "New" or "Lint" may be repeated many times throughout different change logs, but carry no useful information in a summary. Lastly, I like to summarize the broad strokes of the changes I have made in the cover letter, while documenting all the details in the appropriate patches. I think this makes it easier to get a good feel for what has changed, without making it difficult to wade through every change in the whole series. This patch adds two new tags to add changelog entries which only appear in the cover letter, or only appear in the commit. Changes documented with "Commit-changes" will only appear in the commit, and will not appear in the cover letter. Changes documented with "Cover-changes" will not appear in any commit, and will only appear in the cover letter. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-05-29patman: Suppress empty changelog entriesSean Anderson
Patman outputs a line for every edition of the series in every patch, regardless of whether any changes were made. This can result in many redundant lines in patch changelogs, especially when a patch did not exist before a certain revision. For example, the existing behaviour could result in a changelog of Changes in v7: None Changes in v6: None Changes in v5: - Make a change Changes in v4: None Changes in v3: - New Changes in v2: None With this patch applied and with --no-empty-changes, the same patch would look like (no changes since v5) Changes in v5: - Make a change Changes in v3: - New This is entirely aesthetic, but I think it reduces clutter, especially for patches added later on in a series. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-05-29patman: Add an option to create patches without binary contentsBin Meng
Some mailing lists have size limits and when we add binary contents to our patches it's easy to exceed the size limits. Git supports a command line option "--no-binary" to generate patches without any binary contents. Add an option in patman to handle this. Note with this option patches cannot be applied properly, but they are still useful for code review. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-10-15patman: Use the Change-Id, version, and prefix in the Message-IdDouglas Anderson
As per the centithread on ksummit-discuss [1], there are folks who feel that if a Change-Id is present in a developer's local commit that said Change-Id could be interesting to include in upstream posts. Specifically if two commits are posted with the same Change-Id there's a reasonable chance that they are either the same commit or a newer version of the same commit. Specifically this is because that's how gerrit has trained people to work. There is much angst about Change-Id in upstream Linux, but one thing that seems safe and non-controversial is to include the Change-Id as part of the string of crud that makes up a Message-Id. Let's give that a try. In theory (if there is enough adoption) this could help a tool more reliably find various versions of a commit. This actually might work pretty well for U-Boot where (I believe) quite a number of developers use patman, so there could be critical mass (assuming that enough of these people also use a git hook that adds Change-Id to their commits). I was able to find this git hook by searching for "gerrit change id git hook" in my favorite search engine. In theory one could imagine something like this could be integrated into other tools, possibly even git-send-email. Getting it into patman seems like a sane first step, though. NOTE: this patch is being posted using a patman containing this patch, so you should be able to see the Message-Id of this patch and see that it contains my local Change-Id, which ends in 2b9 if you want to check. [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2019-August/006739.html Signed-off-by: Douglas Anderson <[email protected]>
2018-06-23patman: Support using a particular SMTP serverSimon Glass
Some environments require providing the '--smtp-server' argument to 'git send-email'. Add support for this. Signed-off-by: Simon Glass <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2017-09-11patman: add support for omitting bouncing addressesChris Packham
Add support for reading a list of bouncing addresses from a in-tree file (doc/bounces) and from the ~/.patman config file. These addresses are stripped from the Cc list. Signed-off-by: Chris Packham <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected] <mailto:[email protected]>>
2016-02-06Use correct spelling of "U-Boot"Bin Meng
Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2015-07-28patman: add distutils based installerChris Packham
To make it easier to use patman on other projects add a distutils style installer. Now patman can be installed with cd u-boot/tools/patman && python setup.py install There are also the usual distutils options for creating source/binary distributions of patman. Tested-by: Simon Glass <[email protected]> Signed-off-by: Chris Packham <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-23patman: check git format.subjectprefix setting when generate patches prefixWu, Josh
For the local project, we may specified format.subjectprefix setting. Then the patch will be formated as [Project_prefix][PATCH]. But patman will not check this setting. It will remove the format.subjectprefix. So This patch will let patman check this setting and add it as a project prefix. Signed-off-by: Josh Wu <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2015-01-30patman: Explain how to make doc/git-mailrc workSimon Glass
Add an explanation for how to set up git so that patman can find the alias file. Fix up the get_maintainers message too. Reported-by: Scott Wood <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-09-21patman: Add a -m option to avoid copying the maintainersSimon Glass
The get_maintainers script is a useful default, but sometimes is copies too many people, or takes a long time to run. Add an option to disable it and update the README. Signed-off-by: Simon Glass <[email protected]>
2014-05-09patman: Avoid duplicate sign-offsSimon Glass
Keep track of all Signed-off-by tags in a commit and silently suppress any duplicates. Signed-off-by: Simon Glass <[email protected]>
2014-03-22patman: Use Patch-cc: instead of Cc:Simon Glass
Add a new Patch-cc: tag which performs the service now provided by the Cc: tag. The Cc: tag is interpreted by git send-email but ignored by patman. So now: Cc: patman does nothing. (git send-email can cc patches) Patch-cc: patman Cc's patch and removes this tag from the patch Signed-off-by: Simon Glass <[email protected]>
2013-11-21patman: add Commit-notes tag and sectionAlbert ARIBAUD
Sometimes a commit should have notes enclosed with it rather than withing the cover letter -- possibly even because there is no cover letter. Add a 'Commit-notes' tag, similar to the 'Series-notes' one; lines between this tag and the next END line are inserted in the patch right after the '---' commit delimiter. Change-Id: I01e99ae125607dc6dec08f3be8a5a0b37f0a483d Signed-off-by: Albert ARIBAUD <[email protected]> Signed-off-by: Simon Glass <[email protected]> (Updated README)
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-07-15patman: README documentation nits (unit test)Gerhard Sittig
adjust instructions for the invocation of Patman's self test: the -t flag appears to have a different meaning now, refer to the --test option for the builtin unit test; adjust a directory location and make sure to run the file which resides in the source directory Signed-off-by: Gerhard Sittig <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-04-08patman: Add Series-process-log tag to sort/uniq change logsSimon Glass
For some series with lots of changes it is annoying that duplicate change log items are not caught. It is also helpful sometimes to sort the change logs. Add a Series-process-log tag to enable this, which can be placed in a commit to control this. The change to the Cc: line is to fix a checkpatch warning. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Doug Anderson <[email protected]>
2013-04-04patman: Minor help message/README fixesSimon Glass
A few of the help messages are not quite right, and there is a typo in the README. Fix these. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Doug Anderson <[email protected]>
2013-04-04patman: Add Cover-letter-cc tag to Cc cover letter to peopleSimon Glass
The cover letter is sent to everyone who is on the Cc list for any of the patches in the series. Sometimes it is useful to send just the cover letter to additional people, so that they are aware of the series, but don't need to wade through all the individual patches. Add a new Cover-letter-cc tag for this purpose. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Doug Anderson <[email protected]>
2013-04-04patman: Make "Reviewed-by" an important tagDoug Anderson
Although "Reviewed-by:" is a tag that gerrit adds, it's also a tag used by upstream. Stripping it is undesirable. In fact, we should treat it as important. Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Otavio Salvador <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-01-31patman: Add the concept of multiple projectsDoug Anderson
There are cases that we want to support different settings (or maybe even different aliases) for different projects. Add support for this by: * Adding detection for two big projects: U-Boot and Linux. * Adding default settings for Linux (U-Boot is already good with the standard patman defaults). * Extend the new "settings" feature in .patman to specify per-project settings. Signed-off-by: Doug Anderson <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-01-31patman: Add support for settings in .patmanDoug Anderson
This patch adds support for a [settings] section in the .patman file. In this section you can add settings that will affect the default values for command-line options. Support is added in a generic way such that any setting can be updated by just referring to the "dest" of the option that is passed to the option parser. At the moment options that would make sense to put in settings are "ignore_errors", "process_tags", and "verbose". You could override them like: [settings] ignore_errors: True process_tags: False verbose: True The settings functionality is also used in a future change which adds support for per-project settings. Signed-off-by: Doug Anderson <[email protected]>
2013-01-31patman: Add a call to get_maintainer.pl if it existsDoug Anderson
For Linux the best way to figure out where to send a patch is with the "get_maintainer.pl" script. Add support for calling it from patman. Support is added unconditionally for "scripts/get_maintainer.pl" in case it is helpful for any other projects. Signed-off-by: Doug Anderson <[email protected]>
2013-01-31patman: Add all CC addresses to the cover letterDoug Anderson
If we're sending a cover letter make sure to CC everyone that we're CCing on each of the individual patches. Signed-off-by: Doug Anderson <[email protected]>
2012-10-15patman: Support Series-name tag to name a seriesSimon Glass
Sometimes it is possible to forget the name of the branch you used to generate an upstream series. To assist with this, add an optional patman does not use this. Signed-off-by: Simon Glass <[email protected]>
2012-06-19patman: Handle creation of patman config fileVikram Narayanan
patman shouts when it couldn't find a $(HOME)/.patman file. Handle it in a sane way by creating a new one for the user. It looks for a user.name and user.email in the global .gitconfig file, waits for the user input if it can't find there. Update the same in the README Signed-off-by: Vikram Narayanan <[email protected]> Acked-by: Simon Glass <[email protected]> Cc: Simon Glass <[email protected]> Cc: Wolfgang Denk <[email protected]>
2012-06-19patman: Change the location of patman config fileVikram Narayanan
Move the config file from ~/.config/patman to ~/.patman as it is more appropriate to have it there. Update the same in the README. Signed-off-by: Vikram Narayanan <[email protected]> Cc: Simon Glass <[email protected]> Cc: Wolfgang Denk <[email protected]> Acked-by: Simon Glass <[email protected]>
2012-04-30patman: Change the location of patman pathVikram Narayanan
Fix the location of patman path in README Signed-off-by: Vikram Narayanan <[email protected]> Cc: Simon Glass <[email protected]>
2012-04-30patman: Fix a typo errorVikram Narayanan
Signed-off-by: Vikram Narayanan <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2012-04-21Prepare v2012.04v2012.04Wolfgang Denk
Also tiny style cleanup to tools/patman/README Signed-off-by: Wolfgang Denk <[email protected]>
2012-04-21Add 'patman' patch generation, checking and submission scriptSimon Glass
What is this? ============= This tool is a Python script which: - Creates patch directly from your branch - Cleans them up by removing unwanted tags - Inserts a cover letter with change lists - Runs the patches through checkpatch.pl and its own checks - Optionally emails them out to selected people It is intended to automate patch creation and make it a less error-prone process. It is useful for U-Boot and Linux work so far, since it uses the checkpatch.pl script. It is configured almost entirely by tags it finds in your commits. This means that you can work on a number of different branches at once, and keep the settings with each branch rather than having to git format-patch, git send-email, etc. with the correct parameters each time. So for example if you put: in one of your commits, the series will be sent there. See the README file for full details. END Signed-off-by: Simon Glass <[email protected]>