aboutsummaryrefslogtreecommitdiff
path: root/b4/__init__.py
AgeCommit message (Collapse)Author
2020-04-20Support file delete patches and binary patchesstable-0.3.yKonstantin Ryabitsev
Git's file delete patches don't contain hunks, so we weren't properly processing them for attestation (and for b4 am). While fixing that, I also added attestation support for binary patches. Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-04-15Properly deal with diffs that delete all linesKonstantin Ryabitsev
We weren't properly handling special diffs that deleted entire file contents (e.g. by deleting a file). Reported-by: Mark Brown <broonie@kernel.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-04-10Release hotfix as 0.3.7v0.3.7Konstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-04-10Backport improvements to strict thread savingKonstantin Ryabitsev
Do a better job saving a strict thread when the cover letter is in the middle of the mailbox instead of at the very beginning. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-04-07Prepare 0.3.6 releasev0.3.6Konstantin Ryabitsev
Minor bugfixes. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-04-03Recognize when reroll info is only in 1st patchKonstantin Ryabitsev
Sometimes this happens: [PATCH v2 1/N] [PATCH 2/N] [PATCH 3/N] [PATCH 4/N] Properly recognize such cases and version all patches threaded under the first one as v2. Reported-by: Amit Kucheria <amit.kucheria@gmail.com> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-27Update the version to 0.3.6-devKonstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-27We do want to use a list when sorting trailersKonstantin Ryabitsev
Switching to using sets for all trailer management resulted in trailer order being non-deterministic for trailers with the same title. Switch back to using lists where it makes a difference. Reported-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-27Prepare for 0.3.5 releasev0.3.5Konstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-27Add "email" to badtrailersKonstantin Ryabitsev
Not sure if it makes more sense to switch to a "known trailers" scheme instead of keeping a list of what is clearly not a trailer. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-27Don't do from-matching on non-email trailersKonstantin Ryabitsev
(Backported from master) Don't attempt to match email address on trailers that don't have them (like Fixes:). Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-25Ignore messages without plaintext contentKonstantin Ryabitsev
When a message contains no text/plain contents, then it's not anything we can use and we should toss them out early. Reported-by: Jason Donenfeld <Jason@zx2c4.com> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-24Warn when we are ignoring trailersKonstantin Ryabitsev
Provide a warning when we are ignoring trailers due to from/name mismatch between the headers and the body. Also provides a -S,--sloppy-trailers option to ignore all mismatches. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-24Start the stable-0.3.y branch for fixesKonstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-23Prepare for 0.3.4 releasev0.3.4Konstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-23Use set() for trailers instead of list()Konstantin Ryabitsev
There's never a situation where we can have legitimate duplicate entries for trailers, so switch to using sets. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-23Use more unique mbx names by adding subjectsKonstantin Ryabitsev
When the same person sends multiple sets of patches on the same day, we risk colliding between them. Use mbx names with cover/1st-patch subjects in them, to help disambiguate in such cases. Reported-by: Mark Brown <broonie@kernel.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-23Use a better single-sourced version setupKonstantin Ryabitsev
Fun read: https://packaging.python.org/guides/single-sourcing-package-version/ Anyway, I hated this way the least. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-20Add caching layerKonstantin Ryabitsev
Many lore.kernel.org operations can be repeated within quick succession of each-other (e.g. someone reruns a query with -t). This commit adds a caching layer that keeps lookups in local cache for 10 minutes (default). It can be made longer or shorter by editing the 'cache-expire' setting, or running "b4 am" with -C,--no-cache. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-20Improve brackets-within-brackets regexKonstantin Ryabitsev
The horrible things people do to their patch subjects continue to amaze me. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-19Properly handle blank lines in patchesKonstantin Ryabitsev
We don't need to strip() patches, because a) it introduces a problem if the patch has blank lines in it, and b) because it doesn't matter if there's anything trailing at the end. We still need better handling for obviously broken patches, but at least valid ones shouldn't cause problems. Reported-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-18Use b4.VERSION for setup.py version infoKonstantin Ryabitsev
No longer need to change version in both places. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-18Handle vN that only exists in the cover letterKonstantin Ryabitsev
There are special cases where we have: cover: [PATCH v3 00/NN] Foo \- [PATCH 01/NN] Patch 1 - [PATCH 02/NN] Patch 2 While the submitter *should* be setting "v3" in all patches, it's not uncommon to have that inferred from the cover letter. When cover letter is properly upthread from the patch that has an inferred v1 revision, we can check the revision on the cover letter and fix the patch revision to match. Reported-by: Mark Brown <broonie@kernel.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-18Check the age of attestationv0.3.3Konstantin Ryabitsev
If attestation is over 30 days older than the patch, then we refuse to accept it. This can be changed in configuration parameters by setting 'attestation-staleness-days' to a higher/lower value. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-17Up the version to 0.3.3-preKonstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-17Show which patches failed attestationKonstantin Ryabitsev
If one patch in the series fails attestation, show which one it is and point out which part failed (commit metadata, commit message, or patch content). At this time, this only works if it's not the *first* patch that fails attestation, because otherwise we aren't able to locate the attestation document in the first place. There's no simple solution here, because otherwise we'd have to hit lore too many times, which would be murder on large series. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-17Use the URL that doesn't force a 301Konstantin Ryabitsev
Querying signatures without the trailing slash results in an extra 301 hop that is unnecessary. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-16Quickfix for running without any commandsv0.3.2Konstantin Ryabitsev
Don't backtrace if there are no commands passed on cmdline. Reported-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-16Add support for the Fixes: follow-up trailerKonstantin Ryabitsev
We now properly locate and process Fixes: trailers. Reported-by: Mark Brown <broonie@kernel.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-15Tweak attestation parametersKonstantin Ryabitsev
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2020-03-14Initial commit after porting from korg-helpersKonstantin Ryabitsev
This is the beginning of a new tool that inherits from get-lore-mbox and attest-patches. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>