El git svn fetch
comando para reanudar a git svn clone
está confirmado por varias fuentes:
(Por cierto, si durante el paso de clonación inicial su conexión muere o necesita detenerla, para reanudar la clonación, solo tiene que ejecutar el comando anterior para reanudar la descarga del historial).
Parece haber una pérdida de memoria git-svn
. El tamaño del git-svn
proceso creció lentamente y después de unas dos semanas tenía un tamaño residente de 1,2 GB, momento en el que el sistema operativo se negó a permitir que se bifurcara.
La cosa es que esto fue una bendición disfrazada.
Pude reanudar el clon interrumpido con un simple " git svn fetch
", y funcionó mucho más rápido con el montón ahora radicalmente más pequeño.
Esto funcionó tan bien, de hecho, que me acostumbré a interrumpir y reiniciar el proceso todas las tardes y todas las mañanas. Unos días más tarde se hizo.
Comienzas tus aventuras git-svn
clonando un repositorio de Subversion existente:
git svn clone url://path/to/repo -s
La -s
bandera asume que su repositorio usa la convención "troncal, ramas, etiquetas". De lo contrario, debe especificar manualmente qué directorios representan ramas y etiquetas, si desea que Git los conozca.
Esto llevará mucho tiempo, ya que obtendrá todas las revisiones de SVN y las confirmará localmente. Si por alguna razón se detiene, puede continuar con git svn fetch
.
git svn clone
también deben proporcionarse (según corresponda) agit svn fetch
. Por ejemplo, había configurado-r HEAD
paragit svn clone
obtener solo la revisión HEAD SVN. Para reanudar corrígit svn fetch
, que comenzó a importar todas las revisiones.git svn clone
, interrumpiendo el proceso. Correr degit svn clone
nuevo pareció reanudar el clon en curso. ¿Alguien más hizo esto?Encontré una publicación de blog que proporcionó lo que (espero) sea una respuesta correcta.
Aparentemente, la ejecución
git svn fetch
completa efectivamente la operación de clonación. ¡Aquí está la esperanza!fuente
git svn rebase
después de la recuperación para completar la operación y hacer que la rama maestra refleje el troncoComo VonC, CaptainAwesomePants y Archi dijeron que
git svn fetch
hace el truco. Estaba haciendo ungit svn clone url... --authors-file=path/to/file
y el clon falló porque uno de los autores no estaba en el archivo de autores. Agregué el autor al archivo y lo ejecutégit svn fetch
y continuó desde donde lo dejó y mirando el registro de git más tarde, parece que usó el autor recién agregado para reemplazar el nombre del autor de confirmación, por lo que todo fue genial.fuente
Desde al menos git 2.1.0 puede reanudar simplemente volviendo a emitir
git svn clone
Sin embargo, esto duplicará algunas entradas en su .git / config, elimínelas y todo estará bien
fuente
From at least git 2.1.0...
¿Alguna idea de si esta característica existía en git 1.9.1?git svn fetch
me causó una discrepancia en la suma de comprobación, y fue imposible restablecerlo porque aparentemente no había HEAD: / - pero esto funciona bien, solo tuve que eliminar elsvn-remote.fetch
de.git/config