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.
Neste artigo
- Importar projetos do Mercurial
- Importar projetos do Subversion
- Importar projetos do Team Foundation
- Leia mais
Importar projetos do Mercurial
-
SSH into sua instância do GitHub Enterprise Server.
$ ssh -p 122 admin@HOSTNAME
-
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.
-
Review the comma-separated (CSV) file in
/PATH/REPO-NAME.git/git-import/raw-authors.csv
. It should contain these columns:ID
: The author as stored in the original repository, followed by a unique identifierNAME
: The author as stored in the original repository
To map authors from the original repository to an email address and name, create a new CSV file with the columns
ID,(ignored),GIT_EMAIL,GIT_NAME
, which replaces the author information for anything by "ID" with "GIT_EMAIL" and "GIT_NAME".Exemplo:
-
Original author ID:
octocat@111111-2222-3333-4444-55555555555
-
New email address:
octocat@github.com
-
New name:
The Octocat
To map the original author to the new Git user, the CSV file should include the line:
octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat
-
Rescreva os autores e branches usando o arquivo CSV:
$ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
-
Caso ainda não tenha feito isso, crie um repositório vazio no GitHub Enterprise Server.
-
Mude o diretório de trabalho atual para o seu repositório local.
-
Faça push do repositório importado para o GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
Importar projetos do Subversion
-
SSH into sua instância do GitHub Enterprise Server.
$ ssh -p 122 admin@HOSTNAME
-
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.
-
Review the comma-separated (CSV) file in
/PATH/REPO-NAME.git/git-import/raw-authors.csv
. It should contain these columns:ID
: The author as stored in the original repository, followed by a unique identifierNAME
: The author as stored in the original repository
To map authors from the original repository to an email address and name, create a new CSV file with the columns
ID,(ignored),GIT_EMAIL,GIT_NAME
, which replaces the author information for anything by "ID" with "GIT_EMAIL" and "GIT_NAME".Exemplo:
-
Original author ID:
octocat@111111-2222-3333-4444-55555555555
-
New email address:
octocat@github.com
-
New name:
The Octocat
To map the original author to the new Git user, the CSV file should include the line:
octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat
-
Rescreva os autores e branches usando o arquivo CSV:
$ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
-
Caso ainda não tenha feito isso, crie um repositório vazio no GitHub Enterprise Server.
-
Mude o diretório de trabalho atual para o seu repositório local.
-
Faça push do repositório importado para o GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
Importar projetos do Team Foundation
-
SSH into sua instância do GitHub Enterprise Server.
$ ssh -p 122 admin@HOSTNAME
-
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.
-
Review the comma-separated (CSV) file in
/PATH/REPO-NAME.git/git-import/raw-authors.csv
. It should contain these columns:ID
: The author as stored in the original repository, followed by a unique identifierNAME
: The author as stored in the original repository
To map authors from the original repository to an email address and name, create a new CSV file with the columns
ID,(ignored),GIT_EMAIL,GIT_NAME
, which replaces the author information for anything by "ID" with "GIT_EMAIL" and "GIT_NAME".Exemplo:
-
Original author ID:
octocat@111111-2222-3333-4444-55555555555
-
New email address:
octocat@github.com
-
New name:
The Octocat
To map the original author to the new Git user, the CSV file should include the line:
octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat
-
Rescreva os autores e branches usando o arquivo CSV:
$ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
-
Caso ainda não tenha feito isso, crie um repositório vazio no GitHub Enterprise Server.
-
Mude o diretório de trabalho atual para o seu repositório local.
-
Faça push do repositório importado para o GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE