Daten aus Drittanbieter-Quellcodeverwaltungssystemen importieren
Mit der Reihe an „git-import“-Tools können Sie in Git-Repositorys auf GitHub Enterprise Server Elemente von Subversion, Mercurial und der Team Foundation-Versionskontrolle importieren.
Inhalt dieses Artikels
- Projekte aus Mercurial importieren
- Projekte aus Subversion importieren
- Projekte aus der Team Foundation-Versionskontrolle importieren
- Weiterführende Informationen
Projekte aus Mercurial importieren
-
Stellen Sie eine SSH-Verbindung zu Ihre GitHub Enterprise Server-Instanz her.
$ ssh -p 122 admin@HOSTNAME
-
Erstellen Sie einen Klon im Rohdatenformat des Projekts. Führen Sie dazu den folgenden Befehl aus. Geben Sie dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:
$ git-import-hg-raw HG-CLONE-URL /PATH/REPO-NAME.git # Erstellt ein neues Repository mit mindestens einem Git-Ref in „refs/import/“ am angegebenen Pfad.
-
Überprüfen Sie die kommagetrennte Datei (CSV) 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 KennzeichnerNAME
: Der im ursprünglichen Repository gespeicherte Autor
Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstellen Sie 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
-
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
-
Erstellen Sie ein leeres Repository auf GitHub Enterprise Server, falls Sie dies nicht bereits erledigt haben.
-
Ändern Sie das aktuelle Arbeitsverzeichnis in Ihr lokales Repository.
-
Übertragen Sie das importierte Repository per Push-Vorgang an GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
Projekte aus Subversion importieren
-
Stellen Sie eine SSH-Verbindung zu Ihre GitHub Enterprise Server-Instanz her.
$ ssh -p 122 admin@HOSTNAME
-
Erstellen Sie einen Klon im Rohdatenformat des Projekts. Führen Sie dazu den folgenden Befehl aus. Geben Sie dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:
$ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git # Erstellt ein neues Repository mit mindestens einem Git-Ref in „refs/import/“ am angegebenen Pfad.
-
Überprüfen Sie die kommagetrennte Datei (CSV) 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 KennzeichnerNAME
: Der im ursprünglichen Repository gespeicherte Autor
Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstellen Sie 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
-
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
-
Erstellen Sie ein leeres Repository auf GitHub Enterprise Server, falls Sie dies nicht bereits erledigt haben.
-
Ändern Sie das aktuelle Arbeitsverzeichnis in Ihr lokales Repository.
-
Übertragen Sie 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
-
Stellen Sie eine SSH-Verbindung zu Ihre GitHub Enterprise Server-Instanz her.
$ ssh -p 122 admin@HOSTNAME
-
Erstellen Sie einen Klon im Rohdatenformat des Projekts. Führen Sie dazu den folgenden Befehl aus. Geben Sie 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 # Erstellt ein neues Repository mit mindestens einem Git-Ref in „refs/import/“ am angegebenen Pfad.
-
Überprüfen Sie die kommagetrennte Datei (CSV) 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 KennzeichnerNAME
: Der im ursprünglichen Repository gespeicherte Autor
Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstellen Sie 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
-
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
-
Erstellen Sie ein leeres Repository auf GitHub Enterprise Server, falls Sie dies nicht bereits erledigt haben.
-
Ändern Sie das aktuelle Arbeitsverzeichnis in Ihr lokales Repository.
-
Übertragen Sie das importierte Repository per Push-Vorgang an GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE