svn to git
Posted by admin | Filed under Uncategorized
Krótko o tym jak przenieść repozytorium svn’a do git’a. Repozytorium gita będzie znajdować się na zewnętrznym serwerze, do ktorego bedziemy laczyć się przez ssh.
Na serwerze repo_serv tworzymy nowego usera git:
root@repo_serv# useradd git -m root@repo_serv# passwd git git@repo_serv$ mkdir test.git git@repo_serv$ cd test.git git@repo_serv$ git --bare init Initialized empty Git repository in /home/git/test.git/
Na lokalnym komputerze, checkoutujemy repozytorium svnowe:
oki@localhost@$ git-svn clone svn://svn_server/test/trunk test Initialized empty Git repository in .git/ r1 = 356f9f14174ffa6848a958f9077044ff42ad0330 (git-svn) A plik.rb A plik2.rb r2 = 7c236c87146787156a9b13be258ac1bf19d2a4e1 (git-svn) A .htaccess r3 = cbc6d6347a960379804937ceabb4601cf82a63e9 (git-svn) M .htaccess r4 = e47b697bf3d658a9da4201c59797a31fef203c70 (git-svn) M request.xml A README r5 = 9ab46e1a0217eb83210514969b84a95d6a8a1b8e (git-svn) M request.xml r6 = c6a9552257e02276605be32b9f57e09e3f4b80c6 (git-svn) M xml-tester.rb r7 = 81aba1c49bd8ca7f23477e4f65023163ffa1ae6e (git-svn) M xml-tester.rb r8 = 896ebb06ff96fe5e25275fa0b19338ddc594324d (git-svn) M request.xml M xml-tester.pl r9 = 0f3448ae600d26ec51ffee6c3e5d233c7043d8c0 (git-svn) Checked out HEAD: svn://svn_server/test/trunk r9
Dodajemy zewnętrzne źrodło, nasze nowe nowe repozytorium git’a:
$ git remote add origin git@repo_serv:test.git
Następnie nasze zmiamy wysyłamy w świat:
oki@localhost$ git push origin master git@repo_serv's password: Counting objects: 39, done. Compressing objects: 100% (38/38), done. Writing objects: 100% (39/39), 9.41 KiB, done. Total 39 (delta 20), reused 0 (delta 0) To git@repo_serv:test.git * [new branch] master -> master
Testujemy git-clone:
oki@localhost$ git clone git@repo_serv:test.git Initialized empty Git repository in /home/oki/tmp/test/.git/ git@repo_serv's password: remote: Counting objects: 39, done. remote: Compressing objects: 100% (38/38), done. remote: Total 39 (delta 20), reused 0 (delta 0) Receiving objects: 100% (39/39), 9.05 KiB, done. Resolving deltas: 100% (20/20), done.
Dodatkowo możemy wygenerować klucze ssh dla uzytkownika git,
dzięki temu nie będziemy za każdym razem przy połączeniu do serwera pytani o hasło.