Skip to main content

Importar dados de sistemas de controle de versão de terceiros

Usando o conjunto de ferramentas git-import, é possível fazer importações dos controles de versão do Subversion, do Mercurial e do Team Foundation para repositórios do Git no GitHub Enterprise Server.

Importar projetos do Mercurial

  1. SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Faça um clone bruto do projeto usando o comando abaixo. Especifique a URL do projeto de origem e um caminho para um repositório temporário:

    $ 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 o arquivo CSV (separado por vírgula) em /PATH/REPO-NAME.git/git-import/raw-authors.csv. Deve conter estas colunas:

    • ID: o autor, conforme armazenado no repositório original, seguido de um identificador exclusivo
    • NAME: o autor, conforme armazenado no repositório original

    Para mapear autores do repositório original para um endereço de email e um nome, crie um arquivo CSV com as colunas ID,(ignored),GIT_EMAIL,GIT_NAME, que substitui as informações do autor sobre qualquer coisa com "ID" por "GIT_EMAIL" e "GIT_NAME".

    Exemplo:

    • ID do autor original: octocat@111111-2222-3333-4444-55555555555

    • Novo endereço de email: octocat@github.com

    • Novo nome: The Octocat

      Para mapear o autor original para o novo usuário Git, o arquivo CSV deve incluir a linha:

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

  4. Rescreva os autores e branches usando o arquivo CSV:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Se ainda não tiver feito isso, crie um repositório vazio no GitHub Enterprise Server.

  6. Mude o diretório de trabalho atual para o seu repositório local.

  7. Faça push do repositório para o GitHub Enterprise Server:

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

Importar projetos do Subversion

  1. SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Faça um clone bruto do projeto usando o comando abaixo. Especifique a URL do projeto de origem e um caminho para um repositório temporário:

    $ 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 o arquivo CSV (separado por vírgula) em /PATH/REPO-NAME.git/git-import/raw-authors.csv. Deve conter estas colunas:

    • ID: o autor, conforme armazenado no repositório original, seguido de um identificador exclusivo
    • NAME: o autor, conforme armazenado no repositório original

    Para mapear autores do repositório original para um endereço de email e um nome, crie um arquivo CSV com as colunas ID,(ignored),GIT_EMAIL,GIT_NAME, que substitui as informações do autor sobre qualquer coisa com "ID" por "GIT_EMAIL" e "GIT_NAME".

    Exemplo:

    • ID do autor original: octocat@111111-2222-3333-4444-55555555555

    • Novo endereço de email: octocat@github.com

    • Novo nome: The Octocat

      Para mapear o autor original para o novo usuário Git, o arquivo CSV deve incluir a linha:

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

  4. Rescreva os autores e branches usando o arquivo CSV:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Se ainda não tiver feito isso, crie um repositório vazio no GitHub Enterprise Server.

  6. Mude o diretório de trabalho atual para o seu repositório local.

  7. Faça push do repositório para o GitHub Enterprise Server:

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

Importar projetos do Team Foundation

  1. SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Faça um clone bruto do projeto usando o comando abaixo. Especifique a URL do projeto de origem e um caminho para um repositório temporário:

    $ 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 o arquivo CSV (separado por vírgula) em /PATH/REPO-NAME.git/git-import/raw-authors.csv. Deve conter estas colunas:

    • ID: o autor, conforme armazenado no repositório original, seguido de um identificador exclusivo
    • NAME: o autor, conforme armazenado no repositório original

    Para mapear autores do repositório original para um endereço de email e um nome, crie um arquivo CSV com as colunas ID,(ignored),GIT_EMAIL,GIT_NAME, que substitui as informações do autor sobre qualquer coisa com "ID" por "GIT_EMAIL" e "GIT_NAME".

    Exemplo:

    • ID do autor original: octocat@111111-2222-3333-4444-55555555555

    • Novo endereço de email: octocat@github.com

    • Novo nome: The Octocat

      Para mapear o autor original para o novo usuário Git, o arquivo CSV deve incluir a linha:

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

  4. Rescreva os autores e branches usando o arquivo CSV:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Se ainda não tiver feito isso, crie um repositório vazio no GitHub Enterprise Server.

  6. Mude o diretório de trabalho atual para o seu repositório local.

  7. Faça push do repositório para o GitHub Enterprise Server:

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

Leitura adicional