gestionar los cambios de código de la API de terceros

Estoy trabajando con una API de terceros que se distribuye como código fuente. Esto es genial porque puedo arreglar las cosas solo, pero también recibo muchas actualizaciones de terceros.

Tengo mi propio repository svn para mi base de código que incluye mi versión de la API. Obtengo las actualizaciones oficiales de API revisando una versión del repository svn del tercero.

La fusión de los cambios es un process doloroso. ¿Hay una mejor manera de hacer esto? ¿Sería esto más fácil con un sistema de control de fuente distribuido?

El problema es que te estás acoplando a la API. Encuentre una forma de extender la API en lugar de modificarla, si puede. Colóquelo en un module separado u otro resultado de compilation (es decir, file .JAR, .DLL, .SO). Intenta desacoplarse de eso.

Si no puedes hacer eso, estás más o less atascado tratando de fusionar cada lanzamiento.

Por supuesto, si la API es de código abierto, puede considerar enviar sus cambios …

No creo que los sistemas de control de versiones distribuidos ayuden mucho en su escenario, ya que parece ser que usted será quien se fusione con su propio repository. Si la naturaleza de la combinación es la API y el código que depende de esa API, nada puede ayudar mucho.

Resume la API de tu código. Hay muchos patrones de layout que puede usar (fachada, proxy, etc.) que lo ayudarán a mantener su código aislado de los cambios en la API. Si la API cambia, cambie el código que interactúa con él en lugar de la API en sí. Aún deberá hacer cambios en su código cada vez que actualice su código, pero al less será mínimo y estará aislado en un solo lugar.