Der Patch wird in Python generiert, und das würde ich dann gerne tun Behalten Sie diese Daten in changes.patch im Docker-Container bei, damit ich anschließend den Patch anwenden und die Änderungen festschreiben usw. Der Anwendungsfall hierfür besteht darin, dass ein KI-Agent automatisch Hunks auswählt und sie iterativ in Commits verarbeitet. Aus diesem Grund bin ich, sofern ich nichts übersehen habe, nicht in der Lage, die in Git integrierten interaktiven Befehle (in diesem Fall git add -e) zu verwenden, da diese das Terminal blockieren – daher diese Problemumgehung.Um die Patch-Datei mit dem generierten Diff zu füllen, bin ich immer wieder auf Here-Dokumente [1][2][3] gestoßen, mit denen ich gerade versuche, dies umzusetzen.
Der relevante Teil meines Codes sieht so aus folgt:
Code: Select all
extracted_data = shlex.quote(''.join([diff_header] + selected_hunks))
command = '/bin/bash -c "{command}"' # Need to quote command for it to actually be executed in the container
update_patch_file_command = command.format(command=f"cat > {file changes.patch