2016-09-21 4 views
0

В настоящее время я создаю библиотеку реагирующих компонентов, которые я использую в своих собственных приложениях ниже по течению.Обработка нескольких версий одного и того же репо

я импортировать их в своих последующих применений через package.json

Однако я наткнулся на мысль о том, как справиться с версиями и не был уверен, как поступить.

Скажите версии 2.0.0 для версии 1.0.0 для <SomeComponent/>. Нижеследующее приложение хочет использовать компонент из 2.0.0, но предположим, что в настоящее время это приложение использует <SomeComponent/> из версии 1.0.0, что нарушает совместимость. В этом случае приложение не может просто обновить package.json.

Так как я могу использовать SomeComponent от 1.0.0, а также используя DifferentComponent от 2.0.0?

Каков рекомендуемый подход для разрешения этого типа сценария?

Я рассмотрел вопрос о создании нового репо для каждого отдельного компонента, но это похоже на неподходящее решение избыточного уровня. Он будет запрашивать так много повторяющихся файлов: ie. создавать скрипты, файлы для чтения, файлы конфигурации, etcwebpack config и т. д.

Любая помощь или совет будут оценены. Благодаря!

ответ

0

Я не знаю, если это лучшее решение, но я сделал двойные выпуски, прежде чем создавать новые функции для более старых версий.

Скажем у вас есть 1.0.0 и 2.0.0, и добавить новую функцию и освободить 2.1.0

Если новая функция не конфликтует с функциональностью 1.0.0, или может быть решена, то вы можете вишни выбрать диапазон коммитов из релиза 2.1.0 или ветви функции.

git checkout -b 1.1.0rc 1.0.0 
git cherry-pick <SHA..range from 2.1.0> 
# execute test suites 
git tag 1.1.0