Существует простое решение, которое не требует ручного редактирования патчей и внешнего скрипта.
В первом репозитории (это может также экспортировать диапазон фиксации, используйте -1
, если вы хотите выбрать только одно коммит):
git format-patch --relative --stdout > ~/patch
Во втором репозитории:
git am --directory blue/red/ ~/patch
Вместо использования --relative
в git format-patch
другое решение состоит в использовании опции -p
в git am
для удаления n
каталогов с пути патчей, как указано в a ответит на аналогичный вопрос .
Также можно запустить git format-patch --relative
без --stdout
, и он сгенерирует набор файлов .patch
. Эти файлы затем могут быть поданы непосредственно на git am
с помощью git am --directory blue/red/ path/to/*.patch
.
Похоже, что ответом является использование следующей строки кода в родительском файле:
exec(open('child.py').read())
Это запускает файл по желанию, позволяет получить доступ к переменным, созданным дочерним файлом, и отображает все желаемый результат.
Чтобы отдать должное должному, я нашел синтаксис, описанный здесь: Что является альтернативой execfile в Python 3? и это объясняет причину, по которой мои предыдущие попытки использования exec () были неверными. [114 ]
Возможно, другие могут улучшить ответ, включив альтернативы тем, кто обеспокоен ненадежностью, связанной с exec ().