Comencé a clonar un repositorio SVN usando la operación de clonación de git-svn. Después de aproximadamente 6 horas de importación (es un gran repositorio), mi computadora se fue a dormir conmigo. ¿Hay alguna manera de reanudar la operación sin rehacer todo el trabajo inicial?Reanudar clon git-svn
Respuesta
El comando git svn fetch
para reanudar una git svn clone
es confirmado por varias fuentes:
- Git svn and Gnome entrada de blog
(Por cierto, si durante el clon inicial paso su conexión muere o si necesita deténgalo y luego, para reanudar el clon, solo tiene que ejecutar el comando anterior para reanudar la descarga del historial).
Parece que hay una pérdida de memoria en
git-svn
. El tamaño del procesogit-svn
creció lentamente y después de unas dos semanas tenía un tamaño de residente de 1,2 GB, momento en el que el sistema operativo se negó a dejarlo.
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 adquirí el hábito de interrumpir y reiniciar el proceso todas las noches y todas las mañanas. Unos días más tarde ya estaba hecho.
Se comienza sus aventuras con
git-svn
por clonación de un repositorio Subversion existente:
git svn clone url://path/to/repo -s
La bandera
-s
asume que y nuestro repositorio usa la convención "trunk, branches, tags". De lo contrario, debe especificar manualmente qué directorios representan ramas y etiquetas, si desea que Git los conozca.Esto llevará mucho tiempo, ya que buscará cada revisión desde SVN y confirmará localmente. Si por alguna razón se detiene, puede continuar con
git svn fetch
.
Encontré a blog post que proporcionó lo que (espero) es una respuesta correcta.
Aparentemente, ejecutar git svn fetch
completa de forma efectiva la operación de clonación. ¡Aquí está esperando!
que tendrá que utilizar 'git svn rebase' después de la búsqueda para completar la operación y hacer que la rama principal refleje el tronco –
¿Podría proporcionar un enlace a la publicación del blog para referencia futura? – jmanning2k
Como VonC, CaptainAwesomePants y Archi dijeron git svn fetch
hace el truco. Estaba haciendo un git 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 ejecuté git svn fetch
y continuó desde donde se quedó y mirando el registro de git más tarde, parece que usó el autor recién agregado para reemplazar el nombre del autor de la transacción, así que todo fue lindo.
¡lo mismo aquí! ¡Gracias por tu publicación! –
Desde al menos Git 2.1.0 se puede reanudar con sólo volver a emitir git svn clone
Sin embargo, esto va a duplicar algunas entradas en su .git/config eliminar esos y todo estará bien
'De al menos git 2.1.0 ...' ¿Alguna idea de si esta característica existió en git 1.9.1? – CivFan
Lo siento, ya no tengo ningún repositorio svn para probar esto. –
'git svn fetch' provocó una falta de coincidencia de suma de comprobación para mí, y era imposible restablecerlo porque al parecer no había HEAD:/- pero esto funciona bien, solo tenía que eliminar' svn-remote.fetch' de '.git/config ' – OLL
- 1. Farmville clon
- 2. svn reanudar pago cancelado
- 3. Reanudar datos confirmados
- 4. jQuery clon duplicate IDs
- 5. Instalación Clon Debian/Ubuntu
- 6. Controles Clon - C# (Winform)
- 7. clon node en arrastre
- 8. clon profundo recomendación utilidad
- 9. Inspeccionar clon auxiliar
- 10. etree Nodo de clon
- 11. PHP palabra clave clon
- 12. reanudar las cargas usando HTTP?
- 13. cómo pausar/reanudar un hilo
- 14. cómo reanudar una descarga interrumpida
- 15. colisión del teléfono en "reanudar"
- 16. ¿Puedo optimizar un clon Mercurial?
- 17. git-svn clon | ramas espurias
- 18. ¿Explicar el clon Mercurial lento?
- 19. fila de la tabla clon
- 20. clon bajo con el JGIT
- 21. C++ Virtual Constructor, sin clon()
- 22. jQuery: elementos y eventos clon
- 23. ¿Es posible reanudar la compresión de 7zip?
- 24. ¿Evitar "reanudar" para mi aplicación Cocoa?
- 25. Web Audio API reanudar desde la pausa
- 26. Java ExecutorService pausa/reanudar un hilo específico
- 27. Reanudar Descargar no funciona en android
- 28. Java: reanudar la descarga en URLConnection
- 29. Cocos2D: detener/reanudar CCAction en CCSprite
- 30. Reanudar un svn mover/cambiar el nombre
Creo que algunas de las opciones de línea de comandos proporcionadas a 'git svn clone' también deben proporcionarse (según corresponda) a' git svn fetch'. Por ejemplo, he establecido '-r HEAD' para' git svn clone' para obtener solo la revisión HEAD SVN. Para reanudar, ejecuté 'git svn fetch', que comenzó a importar todas las revisiones. – amolbk
Esto comenzó todo desde la primera revisión ... ¡Tengo 10.000 compromisos! ¿Alguna idea sobre cómo * reanudar * desde donde quedó? –
@ NathanJ.Brauer no en la cima de mi cabeza. Podrías hacer una nueva pregunta (con el sistema operativo, la versión de git y la versión svn utilizada, y un enlace a esta respuesta para el contexto) – VonC