ProblemaCómo git-svn clona las últimas n revisiones desde un repositorio de Subversion?
¿Cómo se crea una copia superficial con git-svn de un repositorio de Subversion, por ejemplo, ¿Cómo sacas solo las últimas tres revisiones?
El comando git clone
puede obtener las últimas n revisiones de un repositorio de Git si utiliza la opción --depth
, es decir, obtiene una copia superficial del repositorio. Ejemplo:
git clone --depth 3 git://some/repo myshallowcopyrepo
¿Hay una opción similar para git-svn?
Mis descubrimientos hasta ahora
Hasta ahora sólo he encontrado la opción -rN
donde N
es la revisión de tirar. Ejemplo:
git svn clone -rN svn://some/repo
Según la documentación existe la posibilidad de utilizar -r$REVNUMBER:HEAD
. Intenté lo siguiente para obtener las últimas 3 revisiones que devolvieron un mensaje de error.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Así que sustituyen HEAD~3
con el número real de la tercera, pero la última revisión 534. Eso funcionó, pero que requiere que yo primero averiguar el número de revisión de la tercera, pero la última confirmación.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Documentación
lo que hace '-s' hacer aquí? –
Respondiendo a mi propia pregunta: '-s es para --stdlayout que presume el diseño recomendado svn para etiquetas, troncales y ramas. ' (pero no funcionó para mí) –
¿Qué tan difícil sería implementar' - -depth' para 'git svn', ya que el soporte ya está allí. ¿Y ya tiene que averiguar la última versión del servidor? –