Siempre me he preguntado cómo una biblioteca común desarrollada activamente utilizada en dos o más proyectos debe almacenarse en control de versiones. Me imagino que se puede manejar de forma diferente a una biblioteca de terceros, ya que es más probable que una biblioteca interna obtenga correcciones urgentes que se deben distribuir a muchos de los proyectos en control de versiones.¿Mejores prácticas para desarrollar y usar bibliotecas comunes en el control de versiones?
¿Deberían importarse sus archivos binarios en los proyectos que lo utilizan a medida que se actualizan (más o menos como una biblioteca de terceros), o podría verificarse su código fuente junto con los proyectos? ¿Es posible tener referencias a otras rutas controladas por versiones en Subversion u otros sistemas de control de versiones?
Estoy trabajando en un proyecto ahora que tiene bibliotecas comunes que residen en otras partes de Subversion (y se usan en muchos proyectos) registradas con el proyecto, por lo que los cambios realizados en este proyecto no se reflejan en su "real "repositorio. Voy a sugerir algunos cambios a esto, pero me gustaría algunas ideas sobre cuál es la mejor práctica para manejar estas bibliotecas comunes.
Tengo curiosidad de por qué esto es wiki de la comunidad. Estoy seguro de que habrá muchas respuestas, pero una funcionará para usted y será aceptada, o alguien publicará un enlace a un conjunto de pautas que simplemente descartarán, y eso será aceptado. –
Por lo general, marco las preguntas que están en la frontera de subjetivo como wiki de la comunidad. Probablemente haya diez formas igualmente buenas de hacer esto. Los problemas de programación definidos tienen soluciones definitivas y los considero preguntas correctas. – Blixt
@Blixt, podría decirse que casi todas las discusiones sobre "mejores prácticas" van a ser subjetivas. La capacidad de medir el éxito de los métodos en experimentos irrepetibles es bastante pobre. así que, al final, casi siempre depende de lo que algunas personas sienten que es lo mejor. – CPerkins