[U-Boot] [PATCH] patman: check git format.subjectprefix setting when generate patches prefix

Simon Glass
2015-04-14T22:47:12Z

Hi Josh,

On 12 April 2015 at 20:00, Josh Wu <josh.wu@atmel.com> wrote:
> Hi, Simon
>
>
> On 4/11/2015 1:51 AM, Simon Glass wrote:
>>
>> Hi Josh,
>>
>> On 7 April 2015 at 23:13, Josh Wu <josh.wu@atmel.com> wrote:
>>>
>>> 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 <josh.wu@atmel.com>
>>> ---
>>>
>>> tools/patman/gitutil.py | 11 +++++++++++
>>> tools/patman/series.py | 8 +++++++-
>>> 2 files changed, 18 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py
>>> index 4c2c35b..9e739d8 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/series.py b/tools/patman/series.py
>>> index 60ebc76..a17a7d1 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)
>>> --
>>> 1.9.1
>>
>> The patch looks good, but I'm not quite sure how to use it. Can you
>> please add instructions to the patman README?
>
>
> The user case is like when we are working on multiple projects, some are for
> mainline, some are for internal project.
> We need add a patch prefix to indicate the patch is for internal project.
>
> For the readme file, how about add this after Series-prefix like:
>
> ----------------8<--------------------
> 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]
> ---------------->8--------------------
>

Looks good.

>>
>> I tried:
>>
>> git config format.subjectprefix U-Boot
>> patman -nmt
>>
>> Then I get a patch with:
>>
>> Subject: [U-Boot][PATCH] patman: check git format.subjectprefix
>> setting when generate patches prefix
>>
>> I'm not sure how to get a space between [U-Boot] and [Patch]. Any ideas?
>
> I tried some, but same fail to add a space between [U-Boot] and [Patch], I
> don't think we need that space.

It looks a bit ugly, but OK.

Regards,
Simon