4239 shaares
575 liens privés
575 liens privés
Après pas mal de galère, voici les différentes étapes pour
- passer d'un dépôt fossil local,
- l'exporter sous un format importable dans Git,
- transformer le nom de la branche principale ainsi que le nom de l'utilisateur
- et ensuite pousser tout cela dans un dépôt GitLab.
Hypothèse : un seul utilisateur et une seule branche initiaux.
git config --global user.name "Toto Tata"
git config --global user.email "toto.tata@example.fr"
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa -C toto.tata@example.fr
cat - <<EOF > ~/.ssh/config
Host git.example-serveur.lan
Port 2294
User git
EOF
Ajouter la clef SSH (partie publique) dans l'interface Gitlab (http://git.example-serveur.lan/profile/keys
cat ~/.ssh/id_rsa.pub
mkdir repo-example
cd repo-example
git init
fossil export --git ../alstom-repo | git fast-import
git branch -m trunk master
git checkout master
git filter-branch --commit-filter 'GIT_AUTHOR_NAME="Toto Tata" GIT_AUTHOR_EMAIL="toto.tata@example.fr" GIT_COMMITTER_NAME="Toto Tata" GIT_COMMITTER_EMAIL="toto.tata@example.fr" git commit-tree "$@"'
git remote add origin git@git.example-serveur.lan:Projet-example/repo-example.git
git push -u origin master