У меня необычная потребность, и мне интересно, сможет ли Git заполнить ее.Git: объединить одну папку внутри репо
Я хочу перенести свой пакет Python, python_toolbox
на Python 3. Но мне не нравится идея использования 2to3
, а также поддержка как Python 2, так и Python 3 с использованием того же кода. (Потому что для меня важно, чтобы мой код был красивым, и я не нахожу код, написанный как для Python 2, так и для Python 3, чтобы быть красивым.)
Я хочу иметь две отдельные папки исходного кода, одну для Python 2.x и один для Python 3.x. Это позволит мне написать каждую версию кода, адаптированную к соответствующей основной версии Python. Я хочу, чтобы обе папки находились в одном и том же репо, и setup.py
будет выбирать между ними динамически в зависимости от версии Python, запускающей его. Все идет нормально.
Теперь вот где мне нужна помощь: я хочу иметь возможность делать слияния из исходной папки Python 2.x в исходную папку Python 3.x. Зачем? Когда я разрабатываю функцию в папке Python 2.x, я хочу иметь эту функцию и в версии Python 3.x. Я не хочу копировать их вручную. Я хочу объединить их в папку Python 3.x, и я полностью ожидаю прекрасного слияния, когда мне придется использовать мое решение, чтобы решить, как объединить функции, которые были реализованы для Python 2.x, в код, который был изменен для Python 3.x.
Вопрос в следующем: Как я могу это сделать? Эти папки являются папками внутри репозитория Git, они не являются самими репозиториями Git. Я думал об использовании подмодулей Git, которые я никогда раньше не использовал, но чтение о них в Интернете приводит к страшной картине. (Термин «sobmodules» был выброшен.)
Любые другие идеи, как я мог бы объединиться между этими папками в моем Git repo?
Давным-давно кто-то писал: «Комплекс лучше, чем сложный». и «практичность превосходит чистоту». Я бы использовал то, что, как известно, работает – JBernardo