diff options
Diffstat (limited to 'tools/patman')
| -rw-r--r-- | tools/patman/README | 6 | ||||
| -rw-r--r-- | tools/patman/gitutil.py | 11 | ||||
| -rw-r--r-- | tools/patman/patchstream.py | 7 | ||||
| -rw-r--r-- | tools/patman/series.py | 8 |
4 files changed, 28 insertions, 4 deletions
diff --git a/tools/patman/README b/tools/patman/README index 7d039e82bc2..27ec90acc80 100644 --- a/tools/patman/README +++ b/tools/patman/README @@ -154,7 +154,11 @@ Series-version: n Series-prefix: prefix Sets the subject prefix. Normally empty but it can be RFC for - RFC patches, or RESEND if you are being ignored. + RFC patches, or RESEND if you are being ignored. The patch subject + is like [RFC PATCH] or [RESEND PATCH]. + In the meantime, git format.subjectprefix option will be added as + well. If your format.subjectprefix is set to InternalProject, then + the patch shows like: [InternalProject][RFC/RESEND PATCH] Series-name: name Sets the name of the series. You don't need to have a name, and diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py index 4c2c35bf9ac..9e739d89b6f 100644 --- a/tools/patman/gitutil.py +++ b/tools/patman/gitutil.py @@ -545,6 +545,17 @@ def GetDefaultUserEmail(): uemail = command.OutputOneLine('git', 'config', '--global', 'user.email') return uemail +def GetDefaultSubjectPrefix(): + """Gets the format.subjectprefix from local .git/config file. + + Returns: + Subject prefix found in local .git/config file, or None if none + """ + sub_prefix = command.OutputOneLine('git', 'config', 'format.subjectprefix', + raise_on_error=False) + + return sub_prefix + def Setup(): """Set up git utils, by reading the alias files.""" # Check for a git alias file also diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py index 8c3a0ec9eee..6d3c41f49ec 100644 --- a/tools/patman/patchstream.py +++ b/tools/patman/patchstream.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: GPL-2.0+ # +import math import os import re import shutil @@ -468,8 +469,10 @@ def InsertCoverLetter(fname, series, count): prefix = series.GetPatchPrefix() for line in lines: if line.startswith('Subject:'): - # TODO: if more than 10 patches this should save 00/xx, not 0/xx - line = 'Subject: [%s 0/%d] %s\n' % (prefix, count, text[0]) + # if more than 10 or 100 patches, it should say 00/xx, 000/xxx, etc + zero_repeat = int(math.log10(count)) + 1 + zero = '0' * zero_repeat + line = 'Subject: [%s %s/%d] %s\n' % (prefix, zero, count, text[0]) # Insert our cover letter elif line.startswith('*** BLURB HERE ***'): diff --git a/tools/patman/series.py b/tools/patman/series.py index 60ebc766f7e..a17a7d1de7b 100644 --- a/tools/patman/series.py +++ b/tools/patman/series.py @@ -254,6 +254,12 @@ class Series(dict): Return: Patch string, like 'RFC PATCH v5' or just 'PATCH' """ + git_prefix = gitutil.GetDefaultSubjectPrefix() + if git_prefix: + git_prefix = '%s][' % git_prefix + else: + git_prefix = '' + version = '' if self.get('version'): version = ' v%s' % self['version'] @@ -262,4 +268,4 @@ class Series(dict): prefix = '' if self.get('prefix'): prefix = '%s ' % self['prefix'] - return '%sPATCH%s' % (prefix, version) + return '%s%sPATCH%s' % (git_prefix, prefix, version) |
