2012-06-20 18 views
21

Recientemente, decidimos migrar nuestros proyectos de Github a BitBucket. Por ahora, probé con pocos proyectos ya que BitBucket tiene una función de importación directa. Todo está bien, excepto los problemas de Github y los wikis no se importan. Como la mayoría de los proyectos aún están en desarrollo y algunos en producción, los problemas y los wikis son importantes para nosotros. Hice una búsqueda rápida en Google y no pude encontrar la solución adecuada.Cómo importar problemas y wikis de Github a BitBucket?

¿Ha tenido el mismo problema? ¿Hay alguna solución? Sería realmente útil si hay alguna solución para esto. ¡Gracias por adelantado!

Respuesta

7

Tanto github como bitbucket tienen API REST para problemas (GitHub's, Bitbucket's), por lo que podría escribir un script (bastante) rápido para migrar problemas. Sin embargo, GitHub no tiene API para wikis (Bitbucket sí), así que, desafortunadamente, es probable que tengas que hacerlo a mano.

+7

En cuanto a la API para la wiki, wiki GitHub es también un [repositorio Git] (https://github.com/blog/699-making-github-more-open-git- respaldados-wikis). Puedes 'git clone', procesarlo y enviarlo a Bitbucket a través de la API de Bitbucket. – uzyn

12

También estaba buscando una forma de importar problemas de Github a Bitbucket pero no encontré ninguno, así que escribí un script para hacer eso: https://github.com/sorich87/github-to-bitbucket-issues-migration.

Para la wiki, es un repositorio de Git que simplemente puede clonar. https://github.com/blog/699-making-github-more-open-git-backed-wikis

+1

Parece estar roto: /usr/lib/ruby/vendor_ruby/json/common.rb:155:in 'initialize ': ¡Un texto JSON debe contener al menos dos octetos! (JSON :: ParserError) \t de /usr/lib/ruby/vendor_ruby/json/common.rb:155:in 'new ' \t de/usr/lib/ruby ​​/ vendor_ruby/json/common.rb: 155: in 'parse ' –

19

Hoy hemos agregado la importación y exportación correcta de la edición a Bitbucket. Puede exportar el rastreador de problemas de un repositorio completo como un archivo comprimido y luego volver a importarlo en un repositorio diferente.

También puede crear sus propias cremalleras y así poder escribir secuencias de comandos de migración hacia y desde otros rastreadores de problemas (por ejemplo, GitHub).

Detalles: https://confluence.atlassian.com/display/BITBUCKET/Export+or+Import+Issue+Data

formato de archivo y diseño de datos: https://confluence.atlassian.com/pages/viewpage.action?pageId=330796872

+2

Los enlaces o ejemplos sobre cómo crear dicho archivo a partir de los datos de github serán muy útiles aquí. –

+0

Aquí tienes ... Esta publicación muestra cómo hacerlo de manera muy simple: http://codetheory.in/export-your-issues-and-wikis-from-github-repo-and-import-to-bitbucket- migration/ –

-5

Aquí es la solución más fácil que he encontrado:

cd $HOME/dev/Pipelines 
git remote rename origin bitbucket 
git remote add origin https://github.com/edwardaux/Pipelines.git 
git push origin master 

Y cuando estés satisfecho con Github y no es necesario el viejo control remoto:

git remote rm bitbucket 
+3

Pero esto no migra problemas ni wikis. Por lo general, es un poco más complicado que migrar el código. –

+0

También en cuanto a su script particular: 1) la pregunta era sobre la migración de github a bitbucket, no al revés; 2) no migrará etiquetas y, a veces, ramas (debe tirarlas y presionarlas explícitamente, 'push - all' y 'push - list' son útiles). –

1

Hay otra herramienta, escrita en python, para exportar problemas de github en formato de exportación de problemas de bitbucket.

se puede comprobar en gibiexport

Cuestiones relacionadas