Патч генерируется на Python, а затем я хотел бы сохранить эти данные в файлеchanges.patch внутри Docker-контейнера, чтобы я мог впоследствии применить патч, зафиксировать изменения и т. д. Вариант использования этого заключается в том, чтобы AI-агент автоматически выбирал фрагменты и итеративно обрабатывал их в фиксации. Из-за этого я, если я что-то не пропустил, не могу использовать встроенные интерактивные команды git (в данном случае git add -e), поскольку они зависают на терминале - вот и этот обходной путь.Чтобы заполнить файл патча сгенерированными различиями, я неоднократно натыкался на Here-Documents [1][2][3], с помощью которого я сейчас пытаюсь это реализовать.
Соответствующая часть моего кода выглядит так следует:
Код: Выделить всё
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79364353/storing-arbitrary-git-patches-generated-in-python-in-a-file-inside-a-docker-cont[/url]
Мобильная версия