¿Cuál es la forma correcta de combinar dos proyectos en el software de control de fuente?

8

Estoy usando Fossil-SCM para mantener mis proyectos. Como no trabajo en un equipo, normalmente tengo una rama de desarrollo muy lineal: 1.0 - > 1.1 - > 1.2

Me pregunto cuál es el procedimiento cuando tiene un proyecto cuya tarea está a punto de ser asignada a un proyecto relacionado. Y por lo tanto, el primer proyecto obsoleto. Aunque tiendo a reescribir la mayor parte de mi código si no recuerdo haberlo escrito ya, me gustaría mantener el código archivado. Y prefiero no tener un repo fósil que simplemente está muerto. ¿Puedo fusionarlo? ¿Es esa la forma correcta de manejar esto?

Por ejemplo, el código extraía datos de un archivo de Excel para formatear una página HTML. Ahora, he convencido a mi empleador para que mueva su hoja de cálculo de Excel a una base de datos para disminuir la redundancia, aumentar la eficiencia y yaddy yadda. Ya que ahora puedo hacer consultas lógicas que no tienen que saltar aros a la preforma usando la base de datos, no necesitaré los archivos vbs adicionales que manipularon originalmente el archivo de Excel. Técnicamente estaría transfiriendo parte del código existente al nuevo proyecto actual.

Dado que ya tiene su propio troncal, ¿sería recomendable combinar el troncal de un proyecto diferente a este, y cómo lo haría exactamente?

Entonces, supongo que mi árbol se vería así, y no he visto ejemplos de ramificación de software que se parezcan a este árbol invertido antes, así que me pregunto cuál es la norma para una situación como esta.

    
pregunta Mallow 10.06.2014 - 23:29

1 respuesta

1

La mejor manera de fusionar proyectos depende un poco de cómo desea administrar su historial y de si espera que continúen evolucionando por separado.

Manténgalos separados: use externos / submódulos

Una muy buena técnica a considerar sería la de los submódulos. Git y svn tienen este concepto (llamados externos en svn), pero desafortunadamente, parece que fósiles no ( enlace ).

Pero la idea es que puede tener un proyecto DEPENDER en otro proyecto, y simplemente selecciona qué rama o etiqueta o compromiso individual de ese otro proyecto que desea utilizar en el proyecto de referencia.

Solo cópialo

Si solo quieres levantar un montón de código, y NO te preocupes por el historial, puedes agregar una carpeta con el nuevo código y cometerlo.

Solo copia, pero conserva la historia anterior

Si desea combinar el código del segundo proyecto en el primero, y conservar el historial, al menos con git, puede usar git merge (consulte enlace para un ejemplo). git permite apuntar a otros repositorios como el origen de los datos a partir de los cuales se fusiona (esto es básicamente cómo funciona la extracción de git). No sé lo suficiente sobre fósiles para saber si la combinación de fósiles se puede utilizar de esta manera.

    
respondido por el Lewis Pringle 14.07.2018 - 01:01

Lea otras preguntas en las etiquetas