управление изменениями кода из стороннего API - PullRequest
2 голосов
/ 21 марта 2009

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

У меня есть свой собственный svn-репозиторий для моей базы кода, который включает мою версию API. Я получаю официальные обновления API, проверяя версию из стороннего хранилища svn.

Объединение изменений - болезненный процесс. Есть лучший способ сделать это? Будет ли это проще с распределенной системой контроля версий?

Ответы [ 3 ]

3 голосов
/ 21 марта 2009

Проблема в том, что вы подключаетесь к API. Найдите способ расширить API, а не изменять его, если можете. Поместите его в отдельный модуль или другой вывод компиляции (т.е. файл .JAR, .DLL, .SO). Попробуйте отделить себя от этого.

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

Конечно, если API с открытым исходным кодом, вы можете отправить ваши изменения ...

1 голос
/ 21 марта 2009

Абстрагируйте API от вашего кода. Существует множество шаблонов проектирования, которые вы можете использовать (фасад, прокси и т. Д.), Которые помогут вам защитить код от изменений в API. Если API изменяется, измените код, который взаимодействует с ним, а не сам API. Вам все равно нужно будет вносить изменения в ваш код каждый раз, когда они обновляют свой код, но, по крайней мере, он будет минимальным и изолированным в одном месте.

1 голос
/ 21 марта 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...