4.1 KiB
title, intro, redirect_from, versions, type, topics, shortTitle
| title | intro | redirect_from | versions | type | topics | shortTitle | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Importing data from third-party version control systems | Using the git-import suite of tools, you can import from Subversion, Mercurial and Team Foundation Version Control to Git repositories on {% data variables.product.prodname_ghe_server %}. |
|
|
how_to |
|
Import from another VCS |
Importing projects from Mercurial
{% data reusables.enterprise_installation.ssh-into-instance %} 2. Make a raw clone of the project using the command below, specifying the URL of the source project, and a path to a temporary repository:
$ git-import-hg-raw <em>HG-CLONE-URL</em> /<em>PATH</em>/<em>REPO-NAME</em>.git
# Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
{% data reusables.enterprise_migrations.review-the-import-csv %} 4. Rewrite the authors and branches using the CSV file:
$ git-import-rewrite --flavor hg --authors /<em>PATH</em>/<em>AUTHORS-MAP-FILE</em>.csv /<em>PATH</em>/<em>REPO-NAME</em>.git
- If you haven't yet, [create a new empty repository on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/user/articles/creating-a-new-repository). {% data reusables.command_line.switching_directories_procedural %}
- Push the imported repository to {% data variables.product.prodname_ghe_server %}:
$ git push --mirror <em>PUSH-URL-ON-GITHUB-ENTERPRISE</em>
Importing projects from Subversion
{% data reusables.enterprise_installation.ssh-into-instance %} 2. Make a raw clone of the project using the command below, specifying the URL of the source project, and a path to a temporary repository:
$ git-import-svn-raw <em>SVN-CLONE-URL</em> /<em>PATH</em>/<em>REPO-NAME</em>.git
# Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
{% data reusables.enterprise_migrations.review-the-import-csv %} 4. Rewrite the authors and branches using the CSV file:
$ git-import-rewrite --flavor svn --authors /<em>PATH</em>/<em>AUTHORS-MAP-FILE</em>.csv /<em>PATH</em>/<em>REPO-NAME</em>.git
- If you haven't yet, [create a new empty repository on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/user/articles/creating-a-new-repository). {% data reusables.command_line.switching_directories_procedural %}
- Push the imported repository to {% data variables.product.prodname_ghe_server %}:
$ git push --mirror <em>PUSH-URL-ON-GITHUB-ENTERPRISE</em>
Importing projects from Team Foundation Version Control
{% data reusables.enterprise_installation.ssh-into-instance %} 2. Make a raw clone of the project using the command below, specifying the URL of the source project, and a path to a temporary repository:
$ git-import-tfs-raw <em>TEAM-FOUNDATION-CLONE-URL</em> /<em>PATH</em>/<em>REPO-NAME</em>.git
# Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
{% data reusables.enterprise_migrations.review-the-import-csv %} 4. Rewrite the authors and branches using the CSV file:
$ git-import-rewrite --flavor tfs --authors /<em>PATH</em>/<em>AUTHORS-MAP-FILE</em>.csv /<em>PATH</em>/<em>REPO-NAME</em>.git
- If you haven't yet, [create a new empty repository on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/user/articles/creating-a-new-repository). {% data reusables.command_line.switching_directories_procedural %}
- Push the imported repository to {% data variables.product.prodname_ghe_server %}:
$ git push --mirror <em>PUSH-URL-ON-GITHUB-ENTERPRISE</em>
Further reading
- "[Command-line-utilities](/enterprise/{{ currentVersion }}/admin/guides/installation/command-line-utilities/#import-and-export)"