Skip to content

Extraer y convertir wikis de Chiliproject a formato wiki de Github

Notifications You must be signed in to change notification settings

cdrfiuba/fried_chili

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Fried Chili

Logo

¿De qué se trata este proyecto?

El objetivo de este proyecto es automatizar la conversión de un proyecto en formato Chiliproject a un proyecto capaz de ser importado en Github. Esto involucra los siguientes pasos:

  • Extraer la mayor cantidad de información posible de los wikis del chiliproject y transformarla en forma automática a wikis de Github.
  • Recolectar los archivos adjuntos asociados a un proyecto e incluirlos en un repositorio de Git.
  • Importar y convertir los repositorios de código Mercurial asociados al proyecto a respositorios en formato Git.

Al finalizar este proceso se tendrá un proyecto que puede ser importado a Github con mínimo esfuerzo.

¿Cómo haremos esto?

En primer lugar se necesita realizar un análisis extensivo de la estructura de un proyecto en Chiliproject y luego elegir las herramientas a usar para realizar la conversión:

Herramientas

¿Cómo se usa?

Requisitos previos

Antes que nada es necesario asegurarse de tener instaladas las dependencias mencionadas arriba en la sección Herramientas:

  • Instalar SQL Alquemy y el motor para mysql:
    $ sudo apt-get install python-sqlalchemy python-mysqldb

  • Instalar Pandoc: $ sudo apt-get install pandoc

Tener una copia local de las cosas del Chiliproject:

  • Tener montado un servidor Mysql con la base de datos del Chiliproject importada. (ver sobre la base de datos
  • Una copia de la carpeta chiliproject/files
  • Una copia de los repositorios Mercurial

Bajar y descomprimir el Fried Chili: https://github.com/cdrfiuba/fried_chili/archive/master.zip

Configuración

Usuario y contraseña

Para acceder a la base de datos se debe especificar las cedenciales de acceso en un archivo de texto plano llamado mysql-credentials.txt con sólo dos líneas. En la primer línea va el nombre de usuario y en la segunda la contraseña:

nombre_usuario
contraseña

Origen de los archivos

Editando el archivo de script importer.py se especifica la ruta completa de destino para los proyectos convertidos, para obtener los archivos adjuntos al proyecto y el repositorio de Mercurial:

  base_dir = "/ruta_destino"
  
  src_repo_dir = "/ruta_al_repositorio_hg"
  
  doc_dir = "/ruta_a_los_documentos_"

Ejecución

El script se lanza usando python:
$ python importer.py

Resultado

Tras correr el script se creará una estructura de carpetas para alojar a todos los proyectos que se encontraron en la base de datos:

raiz/
  \
   ---- proyecto_padre_1/
            \
             ---- private/
                     \
                      ---- ...
            \
             ---- public/
                     \
                      ---- proyecto_1/
                               \
                                ---- README.md
                               \
                                ---- wiki/
                               \
                                ---- src_hg/
                               \
                                ---- src_git/
  • El proyecto padre se divide en proyectos privados y públicos según como estaban especificados en Chiliproject.
  • Cada subproyecto tiene un archivo REAME.md generado con la portada del proyecto, la fecha de creación y los integrantes del mismo como referencia. NOTA: este archivo está suelto y no se incluye por defecto en ningún repositorio de Git. Se recomienda copiarlo al repositorio src_git para tener como portada en Github.
  • La carpeta wiki contiene las wikis del proyecto convertidas a formato Markdown. Hay un archivo por cada página del wiki. También contiene todos los archivos adjuntos del proyecto. Esta carpeta es un repositorio de Git ya inicializado y listo para ser subido al repositorio de wiki del proyecto de Github
  • La carpeta src_hg contiene una copia del repositorio de Mecurial original correspondiente a este proyecto y es sólo para referencia.
  • La carpeta src_git contiene el repositorio de Mercurial convertido a Git y listo para ser subido a Github.

¿Y ahora qué?

Si todo anduvo bien sólo queda crear un repositorio nuevo en Github y subir todo el contenido generado. Las wikis se deben crear y subir aparte ya que son otro repositorio vinculado.

Nota: es probable que se deban editar y corregir los links dentro del wiki, especialmente los referidos a archivos adjuntos.

About

Extraer y convertir wikis de Chiliproject a formato wiki de Github

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published