Hace unos días en la organización donde trabajo, nos tocó migrar de Bitbucket a Github y principalmente nuestra necesidad era migrar el código (obviamente) y la lista de issues junto con los datos asociados a ellos.
El código fuente fue sencillo pues Github tiene un asistente que permite clonar cualquier repositorio GIT y almacenarlo en el proyecto seleccionado, luego el siguiente paso fue ejecutar los siguientes comandos para cambiar el repositorio origen:
git remote set-url origin git@github.com:USUARIO/REPOSITORIO.git
Para migrar los issues, encontré un script de python para migrar los issues desde Bitbucket a Github y su uso es sencillo, sin embargo tuve problemas al ejecutarlo y me salió el error:
EOF occurred in violation of protocol
Luego de encontrar una solución en StackOverflow agregué el siguiente código luego de importar la librería SSL:
import ssl
from functools import wraps
def sslwrap(func):
@wraps(func)
def bar(*args, **kw):
kw['ssl_version'] = ssl.PROTOCOL_TLSv1
return func(*args, **kw)
return bar
ssl.wrap_socket = sslwrap(ssl.wrap_socket)
Finalmente pude ejecutar el programa tal como lo dice su archivo README.md y en pocos segundos tuve todos los issues recreados en Github junto con los milestones y etiquetas utilizadas.
Nota: El repositorio debe ponerse temporalmente público para poder realizar la migración.
Hola Miguel, aunque no esta claro y creo que no hay ningún nota anterior (en tu blog) que explique por que estas migrando a GitHub. También se puede hacer una análisis de los pro y de los contra entre ambos, GitHub y Bitbucket.
Salu2,
Jose Texier