Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 3 : | Ligne 3 : | ||
== Lancement du serveur svn sous windows == | == Lancement du serveur svn sous windows == | ||
* lancer manuellement svnserve | * lancer manuellement svnserve ''(dans une console cmd)'' | ||
:{{syntaxhighlight|lang=winbatch|code= | :{{syntaxhighlight|lang=winbatch|code= | ||
svnserve.exe -d -r g:\svn | svnserve.exe -d -r g:\svn | ||
Ligne 9 : | Ligne 9 : | ||
* lancer svnserve dans un service | * lancer svnserve dans un service ''(dans une console cmd)'' | ||
:{{syntaxhighlight|lang=winbatch|code= | :{{syntaxhighlight|lang=winbatch|code= | ||
sc create svnserve binpath="\"C:\Program Files\TortoiseSVN\bin\svnserve.exe\" --service -r G:\SVN" displayname="Subversion Server" depend=Tcpip start=auto | sc create svnserve binpath="\"C:\Program Files\TortoiseSVN\bin\svnserve.exe\" --service -r G:\SVN" displayname="Subversion Server" depend=Tcpip start=auto | ||
Ligne 16 : | Ligne 16 : | ||
* démarrer le service | * démarrer le service | ||
:{{syntaxhighlight|lang=winbatch|code= | :{{syntaxhighlight|lang=winbatch|code= | ||
sc start | sc start svnserve | ||
sc query svnserve | sc query svnserve | ||
SERVICE_NAME: svnserve | SERVICE_NAME: svnserve | ||
Ligne 29 : | Ligne 29 : | ||
== Migration proprement dite == | == Migration proprement dite == | ||
* aller dans le | Merci à <favorites like="Migrer de subversion vers git" /> | ||
:ouvrir un powershell et récupérer la liste des auteurs des commits | * aller dans le répertoire ou se situe la copie locale du repo svn | ||
:ouvrir un '''powershell''' et récupérer la liste des auteurs des commits | |||
:{{syntaxhighlight|lang=winbatch|code= | :{{syntaxhighlight|lang=winbatch|code= | ||
{{#!: svn.exe log --quiet | ? { $_ -notlike '-*' } | % { "{0} = {0} <{0}>" -f ($_ -split ' \| ')[1] } | Select-Object -Unique | Out-File 'f:\temp\authors-transform.txt' }} | {{#!: svn.exe log --quiet | ? { $_ -notlike '-*' } | % { "{0} = {0} <{0}>" -f ($_ -split ' \| ')[1] } | Select-Object -Unique | Out-File 'f:\temp\authors-transform.txt' }} | ||
}} | }} | ||
:j'ai eu un fichier résultat au mauvais format. Je l'ai converti avec une entête UTF8 sans BOM, avec Notepad++ | |||
* cloner avec git le repo désiré | * cloner avec git le repo désiré (préfixe svn pour les reférences svn) | ||
:{{syntaxhighlight|lang=winbatch|code= | :{{syntaxhighlight|lang=winbatch|code= | ||
git svn clone svn://localhost/wordpress --prefix=svn/ --no-metadata --authors-file "f:\temp\authors-transform.txt" --stdlayout f:\temp\wordpress | git svn clone svn://localhost/wordpress --prefix=svn/ --no-metadata --authors-file "f:\temp\authors-transform.txt" --stdlayout f:\temp\wordpress | ||
}} | }} | ||
* créer le dépot git | |||
:{{syntaxhighlight|lang=bash|code= | |||
cd g:/GIT/drupal | |||
git init --bare . | |||
git symbolic-ref HEAD refs/heads/trunk | |||
}} | |||
* pousser les modifications vers le dépot git | |||
:{{syntaxhighlight|lang=bash|code= | |||
cd /f/temp/wordpress | |||
git remote add bare /g/GIT/wordpress | |||
git config remote.bare.push 'refs/remotes/*:refs/heads/*' | |||
git push bare | |||
}} | |||
* renommer la branche svn/trunk et les tags | |||
:{{syntaxhighlight|lang=bash|code= | |||
cd /g/GIT/wordpress | |||
git branch -m svn/trunk master | |||
git for-each-ref --format='%(refname)' refs/heads/tags | cut -d / -f 4 | while read ref ; do git tag "$ref" "refs/heads/tags/$ref"; git branch -D "tags/$ref"; done | |||
}} | |||
== Liens externes == | == Liens externes == | ||
<div class="blubox-jck"> | <div class="blubox-jck"> |
<keywords content="SVN,Git,subversion"/>
Merci à