Skip to main content

Importación desde otros sistemas de control de versiones con el shell administrativo

Con el shell administrativo, puedes importar desde Subversion, Mercurial y Control de versiones de Team Foundation a los repositorios de Git en GitHub Enterprise Server.

¿Quién puede utilizar esta característica?

Site administrators can use the administrative shell to import data from other version control systems.

Importar proyectos de Mercurial

  1. SSH en tu instancia de GitHub Enterprise Server Si la instancia consta de varios nodos, por ejemplo, si la alta disponibilidad o la replicación geográfica están configuradas, utiliza SSH en el nodo principal. Si usas un clúster, puedes utilizar SSH en cualquier nodo. Reemplace HOSTNAME por el nombre de host de la instancia, o el nombre de host o la dirección IP de un nodo. Para obtener más información, vea «Acceder al shell administrativo (SSH)».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Haz un clon sin procesar del proyecto mediante el comando a continuación, especificando la URL del proyecto de origen y una ruta a un repositorio temporal:

    $ git-import-hg-raw HG-CLONE-URL/PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
    
  3. Revise el archivo separado por comas (CSV) en /PATH/REPO-NAME.git/git-import/raw-authors.csv. Debería contener estas columnas:

    • ID: el creador, tal y como se almacena en el repositorio original, seguido de un identificador único
    • NAME: el creador, tal y como se almacena en el repositorio original

    Para asignar autores del repositorio original a una dirección de correo electrónico y un nombre, cree un nuevo archivo CSV con las columnas ID,(ignored),GIT_EMAIL,GIT_NAME. Puede usar este archivo CSV para reemplazar la información del autor por “Id.” con “GIT_EMAIL” y “GIT_NAME”.

    Por ejemplo, si desea asignar el Id. de autor original de octocat@111111-2222-3333-4444-55555555555 a un nuevo usuario con la dirección de correo electrónico octocat@github.comy el nombre de The Octocat, el archivo CSV debe incluir la línea:

    octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Reescribe los autores y las ramas utilizando el archivo CSV:

    git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
    
  5. Si aún no lo has hecho, crea un nuevo repositorio vacío en GitHub Enterprise Server.

  6. Cambia el directorio de trabajo actual por tu repositorio local.

  7. Sube el repositorio importado a GitHub Enterprise Server:

    git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
    

Importar proyectos de Subversion

  1. SSH en tu instancia de GitHub Enterprise Server Si la instancia consta de varios nodos, por ejemplo, si la alta disponibilidad o la replicación geográfica están configuradas, utiliza SSH en el nodo principal. Si usas un clúster, puedes utilizar SSH en cualquier nodo. Reemplace HOSTNAME por el nombre de host de la instancia, o el nombre de host o la dirección IP de un nodo. Para obtener más información, vea «Acceder al shell administrativo (SSH)».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Haz un clon sin procesar del proyecto mediante el comando a continuación, especificando la URL del proyecto de origen y una ruta a un repositorio temporal:

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
    
  3. Revise el archivo separado por comas (CSV) en /PATH/REPO-NAME.git/git-import/raw-authors.csv. Debería contener estas columnas:

    • ID: el creador, tal y como se almacena en el repositorio original, seguido de un identificador único
    • NAME: el creador, tal y como se almacena en el repositorio original

    Para asignar autores del repositorio original a una dirección de correo electrónico y un nombre, cree un nuevo archivo CSV con las columnas ID,(ignored),GIT_EMAIL,GIT_NAME. Puede usar este archivo CSV para reemplazar la información del autor por “Id.” con “GIT_EMAIL” y “GIT_NAME”.

    Por ejemplo, si desea asignar el Id. de autor original de octocat@111111-2222-3333-4444-55555555555 a un nuevo usuario con la dirección de correo electrónico octocat@github.comy el nombre de The Octocat, el archivo CSV debe incluir la línea:

    octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Reescribe los autores y las ramas utilizando el archivo CSV:

    git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
    
  5. Si aún no lo has hecho, crea un nuevo repositorio vacío en GitHub Enterprise Server.

  6. Cambia el directorio de trabajo actual por tu repositorio local.

  7. Sube el repositorio importado a GitHub Enterprise Server:

    git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
    

Importar proyectos de Team Foundation Version Control

  1. SSH en tu instancia de GitHub Enterprise Server Si la instancia consta de varios nodos, por ejemplo, si la alta disponibilidad o la replicación geográfica están configuradas, utiliza SSH en el nodo principal. Si usas un clúster, puedes utilizar SSH en cualquier nodo. Reemplace HOSTNAME por el nombre de host de la instancia, o el nombre de host o la dirección IP de un nodo. Para obtener más información, vea «Acceder al shell administrativo (SSH)».

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Haz un clon sin procesar del proyecto mediante el comando a continuación, especificando la URL del proyecto de origen y una ruta a un repositorio temporal:

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
    
  3. Revise el archivo separado por comas (CSV) en /PATH/REPO-NAME.git/git-import/raw-authors.csv. Debería contener estas columnas:

    • ID: el creador, tal y como se almacena en el repositorio original, seguido de un identificador único
    • NAME: el creador, tal y como se almacena en el repositorio original

    Para asignar autores del repositorio original a una dirección de correo electrónico y un nombre, cree un nuevo archivo CSV con las columnas ID,(ignored),GIT_EMAIL,GIT_NAME. Puede usar este archivo CSV para reemplazar la información del autor por “Id.” con “GIT_EMAIL” y “GIT_NAME”.

    Por ejemplo, si desea asignar el Id. de autor original de octocat@111111-2222-3333-4444-55555555555 a un nuevo usuario con la dirección de correo electrónico octocat@github.comy el nombre de The Octocat, el archivo CSV debe incluir la línea:

    octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Reescribe los autores y las ramas utilizando el archivo CSV:

    git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git
    
  5. Si aún no lo has hecho, crea un nuevo repositorio vacío en GitHub Enterprise Server.

  6. Cambia el directorio de trabajo actual por tu repositorio local.

  7. Sube el repositorio importado a GitHub Enterprise Server:

    git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
    

Información adicional