Tout dépend si tu veux perdre l'historique ou pas, mais si j'étais
toi, même si "ça grouille" dans ton dépôt rien ne t'empêche de faire
un commit avec ton état actuel et d'importer l'historique, ce sera
plus propre de tout point de vue.

Maintenant, comment faire un git à partir d'un projet sous svn, c'est
très simple :

$ cp -R /la/ou/est/ton/projet /la/ou/on/va/faire/le/depot/git
$ cd /la/ou/on/va/faire/le/depot/git
$ find ./ -name .svn -exec rm -Rf {} \;
$ git init
$ touch .gitignore

Ici, si j'étais toi, j'éditerais le .gitignore pour préciser quels
fichiers git ne doit jamais versionner, genre les fichiers de
configuration où il y a des passwords, etc. La façon "propre" de
fournir des fichiers de configuration par défaut c'est comme sous svn,
on donne un fichier d'exemple (par exemple au lieu de
config/database.yml je versionne un config/database.exemple.yml et
j'ignore le config/database.yml, et quand je clone le dépôt je cherche
tous les fichiers *.exemple.*, je les duplique en enlevant le .exemple
au milieu et je les édite avec les bonnes valeurs locales).

$ git add .
$ git commit -m "Migration de svn vers git."

Et hop, tu as un dépôt git tout fonctionnel avec tout dedans, et en
supposant que tu as un dépôt github :

$ git remote add origin [email protected]:WhoeverYouAre/WhateverProject
$ git push origin master

Voilà, ton master est sur le dépôt gihub.

Michel Belleville



2009/12/29 Tranquiliste <[email protected]>:
> Merci Michel,
>
> Mon problème est que c'est la grouille dans mon repository et que seul
> ce que j'ai en local est bon.
> Je vais lire un ou 2 doc git pour comprendre comment ça marche et
> comment alimenter un repository distant à partir de mon ordi.
>
> Nicolas
>
> On 28 déc, 11:09, Michel Belleville <[email protected]>
> wrote:
>> Du moment que tu as un repository svn tu peux importer tout son
>> contenu (historique compris) dans un repository git.
>>
>> Pour ça, le mieux est déjà de faire un fichier qui va "mapper" les
>> utilisateurs svn vers des utilisateurs git, la syntaxe est simplissime
>> :
>> login_sous_svn = Nom Sous Git <[email protected]>
>>
>> Puis d'importer le repository :
>> git svn --authors-file=/la/ou/tu/as/mis/ta/liste_des_utilisateurs.txt
>> clone svn://ou_est_range.net/ton/projet/sous/svn
>> nom_a_donner_a_ton_nouveau_projet_git
>>
>> Michel Belleville
>>
>> 2009/12/27 Tranquiliste <[email protected]>
>>
>>
>>
>>
>>
>> > Bonjour,
>>
>> > Je sais que ça n'a pas de rapport avec Rails, mais j'ai un projet pour
>> > lequel j'utilise SVN  mais j'ai plein de problème et je n'arrive pas à
>> > m'en sortir. Ca fait quelque temps que je songe à passer à Git qui
>> > semble plus simple (surtout que de ce que j'ai compris, il ne génère
>> > pas un répertoire .svn dans chaque dossier mais uniquement à la racine
>> > du projet).
>>
>> > Ayant dit ça mon problème est de savoir quel est le meilleur moyen de
>> > passez à Git, sachant que mon repository SVN distant n'est plus à jour
>> > (et je n'arrive pas à le recaler) et que seul ce que j'ai en local sur
>> > mon ordi est bon (mais avec tous les dossiers .svn).
>>
>> > Merci d'avance
>> > Nicolas
>>
>> > --
>> > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
>> > Google Groups.
>> > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
>> > [email protected]
>> > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
>> > [email protected]
>
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> [email protected]

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]

Répondre à