tag - Problema de flujo de trabajo de Subrepo en el cambio de Hg a Git
git tag best practices (1)
Nos encontramos con algunos problemas de flujo de trabajo en el cambio de hg a git (requisito comercial). En hg, solíamos restringir el acceso de los estudios de outsourcing al código de propiedad mediante la creación de subrepos con ajustes de permisos específicos. Nuestros principales repositorios hg tendrían entonces ramas que apuntaban a la subreposición Fuente o DLL apropiada para que pudieran intercambiarse fácilmente.
El problema con el que nos encontramos es que parece imposible imitar esta configuración en git. Cambiar las ramas a una que no contenga submódulos específicos no elimina los archivos de ese submódulo localmente (comportamiento de git previsto). Esto crea un tedioso paso de eliminación manual que probablemente causaría problemas si lo enviamos a las personas menos técnicas en la oficina. Necesitamos un sistema en el que las personas puedan consultar la sugerencia de cualquier otro compromiso en el historial y se les garantice tener un proyecto en funcionamiento, lo que no puede ocurrir si el contenido del submódulo no se elimina en el sistema actual.
¿Hay alguna alternativa en git a lo que estamos tratando de hacer?
Usted podría utilizar un gancho del lado del cliente post-checkout
. Básicamente, cuando cambia de rama a una que usa otro submódulo, se ejecutará el enlace post-checkout
. En este enlace, simplemente puede agregar código para eliminar todos los submódulos que no se utilizan en la rama actual.
Como los enlaces no están sincronizados entre los controles remotos y los repositorios locales, puede seguir this sugerencia para hacer llegar los enlaces a las personas que clonarán su repositorio.