Резюме: Требуется помощь в выяснении того, как настроить депо и мою среду разработки, чтобы я мог поддерживать несколько связанных проектов.
Подробности: Дотеперь у меня есть депо, в котором был только один проект - ProjectA - версия робота A.
Я начинаю работать над новой версией (ProjectB), которая имеет некоторые различия в HW - порт ввода-выводаотображения и таймеры изменились.Я хотел бы продолжить разработку кода для обоих проектов.
Это означает, что ProjectB поделится некоторыми файлами с ProjectA, а некоторые файлы будут другими.
Поскольку различия заключаются в элементах, относящихся к HW, я хочу создать общую область, а затем спроектировать конкретные области, где общая область предназначена для кода, не зависящего от устройства, а конкретная область проекта - для кода, зависящего от устройства.
Различия настолько велики, что я не хочу делать #ifdef внутри файлов.Некоторые различия просты - различное сопоставление портов ввода / вывода, а некоторые - совершенно новые модули.
Чтобы упростить обслуживание, я хотел бы иметь возможность сравнивать различия между кодом, зависящим от устройства, и распространять выбранные изменения.
Наконец, чтобы минимизировать мое бремя во время сравнений, я хотел бы отметить различия, которые, как я знаю, допустимы, чтобы в будущих сравнениях они не отображались.
Справка!