2011-04-08 19 views
5

Actualmente me estoy moviendo de Symfony 1.4 usando SVN a Symfony2 usando Git. Soy nuevo en Git y he leído mucha documentación desde hace una semana pero, desafortunadamente, no puedo encontrar la manera de trabajar como trabajé antes con SVN. De hecho, entendí que el enfoque es diferente entre estos dos SCM.Proyecto Symfony2 con Git: ¿el mejor enfoque?

Explique cómo trabajé con sf1.4 y SVN. Mi estructura del repositorio era así:

root /* Main repository */ 
    branches 
    tags 
    trunk 
    apps 
     backend 
     frontend 
    cache 
    [...] 
    lib 
     [...] 
     vendor 
     symfony /* SVN external to symfony sources */ 
    log 
    plugins 
     sfThemePlugin /* SVN external to sfThemePlugin */ 
     xxMyPlugin /* SVN external to a plugin repository I develop */ 
    test 
    web 

De esta manera, pude:

  • Cargar un proyecto completo en mi IDE favorito con proveedores, plugins y mis propios plugins
  • Capaz de actualización de Symfony, plugins y otros proveedores de sus respectivos repositorios
  • trabajar en mis propios plugins y se comprometan ellos sin tener que cambiar de proyecto

Ahora me gustaría hacer lo mismo con un proyecto Symfony2 y Git. Los problemas son:

  • El repositorio Git Sf2 contiene un 'origen' y una carpeta 'prueba' en su raíz por lo que mi repositorio del proyecto no puede incluir las fuentes SF2 como lo hice con sf1.4 sin generar conflictos si añado algunos archivos en 'src' y/o 'prueba' para mi proyecto o si desea actualizar las fuentes sf2.
  • Me gustaría que mis paquetes tengan sus propios repositorios y poder trabajar en ellos, cambiar de ramas, comprometer y empujar/tirar sin tener que cambiar de proyecto, comprometer y enviar los paquetes de forma independiente y luego actualizar mi proyecto principal submódulos.

¿Cuál sería el mejor enfoque para hacer esto?

Respuesta

0

Creo que hay una confusión.

Como está hablando de una src y una carpeta de prueba, supongo que está utilizando este repositorio: https://github.com/symfony/symfony y no la edición "estándar". En esta situación, no coloque el contenido en la raíz de su repositorio sino en la carpeta vendor/symfony.

Para obtener la estructura que desea, administre paquetes y proveedores a través de submódulos.

1

No tenía claro si ya los está usando, o simplemente se refería a "submódulos" en el sentido genérico, pero consulte submodules para mantener todo junto pero poder empujar/tirar de forma independiente.

Para su src y problema de prueba, si desea capa de cambios locales en una carpeta, la mejor manera es propagarlos a través de una rama local, como he descrito here. Esa pregunta era para cambios temporales de depuración, pero el principio básico todavía se aplica.

Cuestiones relacionadas