Pré-requisitos
Para seguir estas etapas, você precisa usar um sistema macOS ou Linux e ter as seguintes ferramentas instaladas:
- Subversion
- Git, incluindo git-svn
- Git Large File Storage (Git LFS) (confira "Instalar o Git Large File Storage")
Como importar um repositório do Subversion
- 
Crie um repositório no sua instância do GitHub Enterprise Server. Para evitar erros, não inicialize o novo repositório com arquivos LEIAME, de licença ou gitignore. É possível adicionar esses arquivos após push do projeto no GitHub Enterprise Server. Para obter mais informações, confira "Criar um repositório". 
- 
Para confirmar se o Git está instalado no computador, execute git --version.A saída será parecida com git version 2.40.0.
- 
Para confirmar se o git svnestá disponível no computador, executegit svn --version.A saída será semelhante a git-svn version 2.40.0 (svn 1.14.2).Se você puder executar gitcom sucesso, mas encontrar um erro ao executargit svn, talvez seja necessário instalargit svnseparadamente. Recomendamos usar o Homebrew ou o registro de pacote do Ubuntu, que incluem pacotesgit-svn.
- 
Para confirmar se o Git LFS está instalado no computador, execute git lfs --version.A saída será parecida com git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1).
- 
Faça check-out do repositório do Subversion. Por exemplo, para fazer check-out do projeto de código aberto do Logisim, execute svn checkout https://svn.code.sf.net/p/circuit/code/trunkno Sourceforge.
- 
Acesse o diretório do repositório do Subversion. 
- 
Para ver uma lista de autores no seu projeto do Subversion e armazená-la em authors.txt, execute o seguinte script:Shell svn log -q | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2" = "$2 }' | sed 's/^[ \t]*//' | sort | uniq > authors.txtsvn log -q | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2" = "$2 }' | sed 's/^[ \t]*//' | sort | uniq > authors.txt
- 
Atualize o arquivo authors.txt, mapeando o nome do autor usado no repositório do Subversion para o nome que você deseja usar no repositório Git, com o seguinte formato:octocat = The Octocat <octocat@github.com>
- 
Para converter o repositório do Subversion em um repositório Git, use git svn.- 
Se o repositório do Subversion tiver um formato padrão, com pastas “tronco”, “branches” e “tags”, execute git svn clone -s URL PATH/TO/DESTINATION --authors-file PATH/TO/AUTHORS.TXT, substituindoURLpela URL do repositório do Subversion,PATH/TO/DESTINATIONpelo caminho para o diretório no qual você deseja clonar o repositório ePATH/TO/AUTHORS.TXTpelo caminho para o arquivoauthors.txt.Por exemplo, para clonar o projeto do Logisim do Sourceforge para um diretório chamado logisim, execute git svn clone -s https://svn.code.sf.net/p/circuit/code logisim --authors-file path/to/authors.txt.
- 
Se o repositório do Subversion não for padrão, personalize git svnpara administrar o repositório. Para obter mais informações, confira git-svn na documentação do Git.
 
- 
- 
O Git fará check-out de cada revisão do SVN e transformará a revisão em um Git commit. Se o seu repositório tiver muitos arquivos ou um histórico grande, esse processo levará muito tempo. Para repositórios grandes, o comando poderá congelar. Nesse caso, você pode começar onde terminou encerrando o comando com CTRL+C, acessando o novo diretório e executando git svn fetch.
- 
Acesse o diretório do repositório Git recém-criado. 
- 
Para adicionar o repositório GitHub como um repositório remoto, execute git remote add origin URL, substituindoURLpela URL do repositório GitHub criado anteriormente, comohttps://github.com/octocat/example-repository.git.
- 
Para efetuar push do repositório para o GitHub, execute git push --mirror origin.Se o repositório contiver arquivos maiores que o limite de tamanho do arquivo do GitHub Enterprise Server, poderá ocorrer uma falha no push. Mova os arquivos grandes para o Git LFS executando git lfs importe tente novamente.