2011-03-19 9 views
17

Acabo de detectar this question sobre la recuperación de un clon hecho sin --stdlayout. No encontré documentación de esta bandera, ¿qué hace?¿Qué hace el --stdlayout en git svn clone?

+0

La documentación está aquí: http://www.kernel.org/pub/software/scm/git/docs/git-svn.html#_commands –

+1

@ Mark - en mi defensa, las respuestas aquí son mucho más claras que la documentación. – ripper234

+3

derecha, creo S.O. es una buena contrapartida a las páginas de git man de muchas maneras :) Las páginas man son precisas y le dicen lo que necesita saber, pero se necesita bastante conocimiento sobre git para poder entender lo que dicen. –

Respuesta

34

Subversion no tiene un concepto de rama o etiqueta . En lugar de eso, normalmente se simulan simplemente copiando los contenidos del repositorio en un directorio.

Para que git svn a ser capaz de reconocer las ramas y etiquetas y la rama principal ("tronco"), usted tiene que decirle explícitamente dónde encontrarlos, utilizando el --tags (o -t), --branches (o -b) y --trunk (o -T) opciones.

Sin embargo, muchos repositorios de Subversion siguen una convención estándar, presentada en el libro de Subversion, de --trunk=/trunk --branches=/branches --tags=/tags. --stdlayout (o -s) codifica esta convención, para que no tenga que pasar los mismos argumentos cada vez que clone un repositorio de Subversion.

Puede encontrar esta información en la página del manual git-svn(1), que se puede acceder en Unix con man git-svn y de forma independiente del sistema operativo a través del sistema de ayuda Git orden interna con git help svn. All of the Git man pages también están disponibles en Kernel.Org y generalmente son el primer resultado de búsqueda cuando busca git-svn(1).

+1

+1: una buena explicación –

+0

En realidad, para la coincidencia de 'stdlayout', los argumentos son' --trunk = trunk --branches = branches --tags = tags' (sin el '/' inicial) – rotoglup

+0

Puede bifurcar y etiquetar en Subversion – pinkvoid

11

--stdlayout (-s) dice que git-svn carpetas en /branches deben ser importadas como ramas, y que las carpetas en /tags son instantáneas de un estado del proyecto y deben ser importados como etiquetas. La rama maestra se establecerá en /trunk.

Es equivalente a --trunk=trunk --tags=tags --branches=branches

Cuestiones relacionadas