PatchCheck script prints File and Line information in error message.
This patch adds line number in the error message to help detect the issue.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming....@intel.com>
---
 BaseTools/Scripts/PatchCheck.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Scripts/PatchCheck.py b/BaseTools/Scripts/PatchCheck.py
index 455c130..526ffe6 100755
--- a/BaseTools/Scripts/PatchCheck.py
+++ b/BaseTools/Scripts/PatchCheck.py
@@ -242,6 +242,8 @@ class GitDiffCheck:
         self.lines = diff.splitlines(True)
         self.count = len(self.lines)
         self.line_num = 0
+        self.line_src = 0
+        self.line_delta = 0
         self.state = START
         while self.line_num < self.count and self.format_ok:
             line_num = self.line_num
@@ -283,9 +285,11 @@ class GitDiffCheck:
         elif self.state == PRE_PATCH:
             if line.startswith('+++ b/'):
                 self.set_filename(line[6:].rstrip())
+                self.line_delta = 0
             if line.startswith('@@ '):
                 self.state = PATCH
                 self.binary = False
+                self.line_src = int (line.split(',')[0][4:]) + self.line_delta
             elif line.startswith('GIT binary patch'):
                 self.state = PATCH
                 self.binary = True
@@ -301,13 +305,17 @@ class GitDiffCheck:
             if self.binary:
                 pass
             if line.startswith('-'):
+                self.line_src -= 1
+                self.line_delta -= 1
                 pass
             elif line.startswith('+'):
+                self.line_delta += 1
                 self.check_added_line(line[1:])
             elif line.startswith(r'\ No newline '):
                 pass
             elif not line.startswith(' '):
                 self.format_error("unexpected patch line")
+            self.line_src += 1
             self.line_num += 1
 
     pre_patch_prefixes = (
@@ -335,8 +343,8 @@ class GitDiffCheck:
     def added_line_error(self, msg, line):
         lines = [ msg ]
         if self.hunk_filename is not None:
-            lines.append('File: ' + self.hunk_filename)
-        lines.append('Line: ' + line)
+            lines.append('File     : ' + self.hunk_filename)
+        lines.append('Line %4d: %s' %(self.line_src, line))
 
         self.error(*lines)
 
-- 
2.8.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to