Testujemy używając git jako systemu repozytoryjnego zamiast naszego normalnego svn. Istnieje jedno repozytorium svn, którego zawsze potrzebujemy. W svn łączymy to repozytorium z svn propset jako svn: externals. Gwarantuje to, że istnieje naprawdę tylko jedna globalna kopia tego szczególnego, mocno używanego repozytorium.Próba ustawienia repozytorium SVN w Git
Teraz, gdy mamy repozytoria git, chciałbym połączyć repozytorium SVN w taki sam sposób, jak można z svn: externals. W pewnym stopniu mi się to udało. Jestem nowy w git, proszę wybaczyć każdą ignorancję.
W czystej git repo (co klonować poprzez git clone [email protected]:mygitrepo
) użyłem:
git svn clone svn+ssh://[email protected]/path/to/mysvnrepo mysvnrepo
dostać kopię innego repozytorium SVN. Działa to świetnie, mogę uzyskać nowe wersje repozytorium SVN poprzez git svn rebase
w katalogu mysvnrepo i zatwierdzać zmiany przez git svn dcommit
.
Aby połączyć to do głównego repozytorium git użyłem:
git add mysvnrepo
git commit mysvnrepo
git push
Problem Mam to gdybym teraz sklonować repo git gdzieś indziej (znów z git clone [email protected]:mygitrepo
), podczas gdy uzyskać katalogu mysvnrepo z wszystkie pliki, nie mogę wchodzić w interakcje z repozytorium SVN. Pojawia się błąd: "Nie można ustalić informacji SVN w górę strumienia z historii drzewa roboczego" po Git Svn rebase. Prawdopodobnie jest powiązany, nie ma katalogu .git w katalogu mysvnrepo, kiedy sklonuję go gdzie indziej (tutaj jest informacja o svn przechowywana w oryginalnym repozytorium).
Przeszukałem ten problem nieco, ale wszystkie odniesienia do niego wydają się mieć problemy z uruchomieniem repozytorium SVN, podczas gdy moim problemem jest sprawdzenie, czy działa on dla innego użytkownika.
Być może mój problem polega na tym, jak skutecznie dodać/zatwierdzić/przekazać repozytorium svn do repozytorium git? tj. jest: git add mysvnrepo; git commit mysvnrepot; git push
; poprawny sposób to zrobić?
Edycja: ulepszone, aby dać więcej kontekstu
Jak klonować repozytorium? Używając 'git clone' lub sprawdzając go z SVN lub ...? – siegi
masz na myśli repozytorium git, w którym pracuję? zarówno dla oryginalnego repozytorium git, jak i dla innego użytkownika, używam 'git clone [email protected]: mygitrepo' –