diff mbox

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

Message ID 1428469980-12285-1-git-send-email-josh.wu@atmel.com
State Changes Requested
Delegated to: Simon Glass
Headers show

Commit Message

Josh Wu April 8, 2015, 5:13 a.m. UTC
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(-)

Comments

Simon Glass April 10, 2015, 5:51 p.m. UTC | #1
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?

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?

Regards,
Simon
Josh Wu April 13, 2015, 2 a.m. UTC | #2
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--------------------

>
> 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.

Best Regards,
Josh Wu

>
> Regards,
> Simon
Simon Glass April 14, 2015, 10:47 p.m. UTC | #3
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
diff mbox

Patch

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)