Skip to main content

Daten aus Drittanbieter-Quellcodeverwaltungssystemen importieren

Mit der Sammlung von git-import-Tools kannst du Elemente aus Subversion, Mercurial und der Team Foundation-Versionskontrolle in Git-Repositorys in GitHub Enterprise Server importieren.

Projekte aus Mercurial importieren

  1. Melde dich über SSH bei your GitHub Enterprise Server instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Weitere Informationen findest du unter Zugreifen auf die Verwaltungsshell (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Erstelle einen Klon im Rohdatenformat des Projekts. Führe dazu den folgenden Befehl aus. Gib dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:

    $ 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. Überprüfe die CSV-Datei in /PATH/REPO-NAME.git/git-import/raw-authors.csv. Sie sollte die folgenden Spalten enthalten:

    • ID: der im ursprünglichen Repository gespeicherte Autor, gefolgt von einem eindeutigen Kennzeichner
    • NAME: der im ursprünglichen Repository gespeicherte Autor

    Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstelle eine neue CSV-Datei mit den Spalten ID,(ignored),GIT_EMAIL,GIT_NAME, wodurch die Autorinformationen für alles durch „ID“ mit „GIT_EMAIL“ und „GIT_NAME“ ersetzt werden.

    Beispiel:

    • Ursprüngliche Autor-ID: octocat@111111-2222-3333-4444-55555555555

    • Neue E-Mail-Adresse: octocat@github.com

    • Neuer Name: The Octocat

      Um den ursprünglichen Autor dem neuen Git-Benutzer zuzuordnen, sollte in der CSV-Datei die folgende Zeile enthalten sein:

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

  4. Schreibt die Autoren und Branches mit der CSV-Datei um:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Wenn dies noch nicht erfolgt ist, erstelle ein neues leeres Repository auf GitHub Enterprise Server.

  6. Ändere das aktuelle Arbeitsverzeichnis in Dein lokales Repository.

  7. Übertrage das importierte Repository per Push-Vorgang an GitHub Enterprise Server:

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

Projekte aus Subversion importieren

  1. Melde dich über SSH bei your GitHub Enterprise Server instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Weitere Informationen findest du unter Zugreifen auf die Verwaltungsshell (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Erstelle einen Klon im Rohdatenformat des Projekts. Führe dazu den folgenden Befehl aus. Gib dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:

    $ 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. Überprüfe die CSV-Datei in /PATH/REPO-NAME.git/git-import/raw-authors.csv. Sie sollte die folgenden Spalten enthalten:

    • ID: der im ursprünglichen Repository gespeicherte Autor, gefolgt von einem eindeutigen Kennzeichner
    • NAME: der im ursprünglichen Repository gespeicherte Autor

    Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstelle eine neue CSV-Datei mit den Spalten ID,(ignored),GIT_EMAIL,GIT_NAME, wodurch die Autorinformationen für alles durch „ID“ mit „GIT_EMAIL“ und „GIT_NAME“ ersetzt werden.

    Beispiel:

    • Ursprüngliche Autor-ID: octocat@111111-2222-3333-4444-55555555555

    • Neue E-Mail-Adresse: octocat@github.com

    • Neuer Name: The Octocat

      Um den ursprünglichen Autor dem neuen Git-Benutzer zuzuordnen, sollte in der CSV-Datei die folgende Zeile enthalten sein:

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

  4. Schreibt die Autoren und Branches mit der CSV-Datei um:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Wenn dies noch nicht erfolgt ist, erstelle ein neues leeres Repository auf GitHub Enterprise Server.

  6. Ändere das aktuelle Arbeitsverzeichnis in Dein lokales Repository.

  7. Übertrage das importierte Repository per Push-Vorgang an GitHub Enterprise Server:

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

Projekte aus der Team Foundation-Versionskontrolle importieren

  1. Melde dich über SSH bei your GitHub Enterprise Server instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Weitere Informationen findest du unter Zugreifen auf die Verwaltungsshell (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Erstelle einen Klon im Rohdatenformat des Projekts. Führe dazu den folgenden Befehl aus. Gib dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:

    $ 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. Überprüfe die CSV-Datei in /PATH/REPO-NAME.git/git-import/raw-authors.csv. Sie sollte die folgenden Spalten enthalten:

    • ID: der im ursprünglichen Repository gespeicherte Autor, gefolgt von einem eindeutigen Kennzeichner
    • NAME: der im ursprünglichen Repository gespeicherte Autor

    Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstelle eine neue CSV-Datei mit den Spalten ID,(ignored),GIT_EMAIL,GIT_NAME, wodurch die Autorinformationen für alles durch „ID“ mit „GIT_EMAIL“ und „GIT_NAME“ ersetzt werden.

    Beispiel:

    • Ursprüngliche Autor-ID: octocat@111111-2222-3333-4444-55555555555

    • Neue E-Mail-Adresse: octocat@github.com

    • Neuer Name: The Octocat

      Um den ursprünglichen Autor dem neuen Git-Benutzer zuzuordnen, sollte in der CSV-Datei die folgende Zeile enthalten sein:

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

  4. Schreibt die Autoren und Branches mit der CSV-Datei um:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Wenn dies noch nicht erfolgt ist, erstelle ein neues leeres Repository auf GitHub Enterprise Server.

  6. Ändere das aktuelle Arbeitsverzeichnis in Dein lokales Repository.

  7. Übertrage das importierte Repository per Push-Vorgang an GitHub Enterprise Server:

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

Weiterführende Themen