[U-Boot] [PATCH] patman: Check commit_match before stripping leading whitespace

Simon Glass sjg at chromium.org
Sun Sep 28 20:04:53 CEST 2014


Hi Scott,

On 25 September 2014 13:30, Scott Wood <scottwood at freescale.com> wrote:
> True commit lines start at column zero.  Anything that is indented
> is part of the commit message instead.  I noticed this by trying to
> run buildman with commit e3a4facdfc07179ebe017a07b8de6224a935a9f3
> as master, which contained a reference to a Linux commit inside
> the commit message.  ProcessLine saw that as a genuite commit
> line, and thus buildman tried to build it, and died with an
> exception because that SHA is not present in the U-Boot tree.
>
> Signed-off-by: Scott Wood <scottwood at freescale.com>
> ---
>  tools/patman/patchstream.py | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
> index d630157..68e98b9 100644
> --- a/tools/patman/patchstream.py
> +++ b/tools/patman/patchstream.py
> @@ -139,6 +139,9 @@ class PatchStream:
>          # Initially we have no output. Prepare the input line string
>          out = []
>          line = line.rstrip('\n')
> +
> +        commit_match = re_commit.match(line) if self.is_log else None
> +
>          if self.is_log:
>              if line[:4] == '    ':
>                  line = line[4:]
> @@ -146,7 +149,6 @@ class PatchStream:
>          # Handle state transition and skipping blank lines
>          series_tag_match = re_series_tag.match(line)
>          commit_tag_match = re_commit_tag.match(line)
> -        commit_match = re_commit.match(line) if self.is_log else None
>          cover_cc_match = re_cover_cc.match(line)
>          signoff_match = re_signoff.match(line)
>          tag_match = None
> --
> 1.9.1
>

Thanks for finding this bug.

This could use a test in tools/patman/test.py

The problem is that you are breaking the patch-processing part of this
code. It operates in two modes - see the comment at the top of
ProcessLine(). With your change it will not process patches correctly,
e.g. to add Commit-notes: to the patch.

Regards,
Simon


More information about the U-Boot mailing list