El git svn fetchcomando para reanudar a git svn cloneestá 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-svnproceso 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-svnclonando un repositorio de Subversion existente:
git svn clone url://path/to/repo -s
La -sbandera 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 clonetambién deben proporcionarse (según corresponda) agit svn fetch. Por ejemplo, había configurado-r HEADparagit svn cloneobtener 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 clonenuevo 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 fetchcompleta efectivamente la operación de clonación. ¡Aquí está la esperanza!fuente
git svn rebasedespué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 fetchhace el truco. Estaba haciendo ungit svn clone url... --authors-file=path/to/filey 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 fetchy 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 cloneSin 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 fetchme 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.fetchde.git/config