MCPcopy Index your code
hub / github.com/algorithmicsuperintelligence/openevolve / apply_diff_blocks

Function apply_diff_blocks

openevolve/utils/code_utils.py:243–260  ·  view source on GitHub ↗

Apply diff blocks line-wise and return (new_text, applied_count)

(original_text: str, diff_blocks: List[Tuple[str, str]])

Source from the content-addressed store, hash-verified

241
242
243def apply_diff_blocks(original_text: str, diff_blocks: List[Tuple[str, str]]) -> Tuple[str, int]:
244 """
245 Apply diff blocks line-wise and return (new_text, applied_count)
246 """
247 lines = original_text.split("\n")
248 applied = 0
249
250 for search_text, replace_text in diff_blocks:
251 search_lines = search_text.split("\n")
252 replace_lines = replace_text.split("\n")
253
254 for i in range(len(lines) - len(search_lines) + 1):
255 if lines[i : i + len(search_lines)] == search_lines:
256 lines[i : i + len(search_lines)] = replace_lines
257 applied += 1
258 break
259
260 return "\n".join(lines), applied
261
262
263def split_diffs_by_target(

Callers 2

_run_iteration_workerFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected