Отслеживайте изменения, вносимые вручную в автоматически созданные файлы, и допускайте автоматические обновления.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отслеживайте изменения, вносимые вручную в автоматически созданные файлы, и допускайте автоматические обновления.

Сообщение Anonymous »

Я хочу разрешить ручное внесение изменений в автоматически созданные файлы (из шаблонов), но при этом разрешить обновление шаблонов или данных. Я предполагаю использовать git для отслеживания частей сгенерированных файлов, созданных человеком и кодом, и разумного их объединения.
Примерно в духе
< ul>
[*]человек пишет шаблоны
[*]запускает код для создания файлов на основе шаблонов и заполнения данных
[*]человек применяет изменения к file
[*]код собирает новые данные и генерирует новый файл из шаблон
[*]код объединяет изменения, внесенные человеком, в новый файл

Я хочу, чтобы это было что-то вроде того, что часто делается, когда обработка встроенного кода, при которой IDE автоматически генерирует код и, например, заполняет адреса регистров, но при этом позволяет вносить изменения в указанный код вручную. Однако они обычно ограничивают изменения только небольшими сегментами - а это ограничение я не могу допустить.
Я думаю, что это можно сделать с помощью отдельных веток и подходящей стратегии слияния/перебазирования, но размышляя об этом, я выявляю множество сложных крайних случаев. Поэтому я ищу ссылки, где нечто подобное уже было сделано, или более подробную стратегию, позволяющую избежать как минимум следующих проблем:
  • если шаблоны живут в тот же репозиторий git, что и сгенерированные файлы, просто проверка «автогенерированной» ветки не отслеживает изменения шаблона
  • после изменения шаблонов или данных необходимо применить все изменения, внесенные человеком (через перебазирование?) в новые сгенерированные файлы. Я ищу хорошую стратегию слияния, которая позволяет избежать конфликтов, насколько это возможно.
    вновь объединенный файл должен быть отправлен обратно в «рабочую» ветку, если это возможно, без переписывания истории.
Я могу разделить шаблоны из автоматически сгенерированных файлов в разные каталоги, но это не решит проблему с оформлением заказа.
В идеале Я хотел бы написать код Python, который обрабатывает весь рабочий процесс: git checkouts, генерация шаблонов, слияния и отзывы пользователей с помощью одной команды.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ic-updates
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»