Я сделал свой собственный веб-фреймворк: как синхронизировать его с приложениями? я должен использовать версии? - PullRequest
2 голосов
/ 20 мая 2010

... и я сделал первое веб-приложение, используя его, теперь я собираюсь создать второе.

В этом первом веб-приложении я усовершенствовал базовую библиотеку фреймворка новыми вещами и быстро обновил ветку фреймворка.

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

С этим вторым веб-приложением, которое я собираюсь создать, мне нужно знать о версиях (или ревизиях), на которых основано приложение. Если я обнаружу ошибку в этой версии, я могу исправить, а затем синхронизировать файлы с первым веб-приложением, не беспокоясь: функции будут такими же, как в этом приложении.

Если я собираюсь вносить изменения в ядро ​​(новое поведение, новые функции в библиотеке или что-то новое в дереве исходного кода), оно должно называться "новая версия".

Какой лучший способ сделать это?

Поскольку я использую распределенную систему контроля версий (базар), я не имею в виду ВЕРСИИ, а номера ревизий, которые меняются каждый раз.

Пожалуйста, освежите мой разум новыми идеями.

1 Ответ

1 голос
/ 27 мая 2010

Я бы организовал все эти приложения в своих собственных репозиториях:

1) Код вашего фреймворка, куда вы потом выпускаете постоянно разные версии: 1.0, 1.1 и т. Д. 2) Веб-приложение 1, где вы подключаете свою версию компонента фреймворка x.y.z 3) Веб-приложение 2, где вы подключаете свою версию компонента фреймворка x.y.z

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

С этим можно легко сказать, что WebApp1 зависит от кода платформы версии 1.0 и, возможно, WebApp2 зависит от более нового кода платформы, например версии 1.2.

Важно то, что вы можете интегрировать свой фреймворк как «компонент» или «плагин» в свои веб-приложения. Тогда вы можете легко заменить код фреймворка на новый.

Надеюсь, я понял ваш вопрос.

...