From 8b67e2e418e547211f1dde06fcde021a487d8a38 Mon Sep 17 00:00:00 2001
From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
Date: Wed, 16 Aug 2023 20:57:31 +0200
Subject: [PATCH] Fixing limits to determine the clause being changed

---
 generateChangemarks/changemarks.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/generateChangemarks/changemarks.py b/generateChangemarks/changemarks.py
index 63c3f3e..5f7ee2d 100644
--- a/generateChangemarks/changemarks.py
+++ b/generateChangemarks/changemarks.py
@@ -153,16 +153,20 @@ https://forge.etsi.org/rep/cdm/pipeline-scripts/-/blob/main/common/Dockerfile.st
     for patched_file in mr.patch_set:
         if patched_file.source_file.startswith("a/TS"):
             logging.debug(f"Looking at changes in {patched_file.source_file}")
+            lines_added = 0
+            lines_removed = 0
             for change in patched_file:
-                change_start_line, change_end_line, lines_added, lines_removed = changeDetails(change)
+                change_start_line, change_end_line, change_lines_added, change_lines_removed = changeDetails(change)
+                lines_added = lines_added + change_lines_added
+                lines_removed = lines_removed + change_lines_removed
                 # Check the previous changed_clause
-                if (changed_clause.from_id <= change_start_line) and (changed_clause.to_id + lines_added - lines_removed >= change_end_line):
+                if (changed_clause.from_id <= change_start_line - lines_added + lines_removed) and (changed_clause.to_id + lines_added - lines_removed >= change_end_line):
                     generateMDforChange(progress, mdLines, changed_clause, change, outDirectory, True)
                     break
                 i = 0 
                 # Check all clauses
                 for clause in clauses:
-                    if (clause.from_id <= change_start_line) and (clause.to_id + lines_added - lines_removed >= change_end_line):
+                    if (clause.from_id <= change_start_line - lines_added + lines_removed) and (clause.to_id + lines_added - lines_removed >= change_end_line):
                         changed_clause = clauses.pop(i)
                         changed_clauses.append(clause)
                         generateMDforChange(progress, mdLines, changed_clause, change, outDirectory, False)
-- 
GitLab