Czy Git-svn może być używany w dużych, rozgałęzionych repozytoriach?
Próbuję użyć Git jako frontendu do repozytorium SVN, aby móc korzystać z ładnych funkcji Gita, takich jak proste rozgałęzianie, składowanie itp.
Problem polega na tym, że repozytorium SVN jest dość duże (8000 obrotów) i zawiera wiele gałęzi i znaczników (starych i nowych).
Jest to niemal standardowy układ z konfiguracją zawierającą dyrektywy pobierania, gałęzi i znaczników.
Ponieważ najstarsza gałąź i znacznik odnoszą się do wersji 10, oznacza to, że każdysvn fetch
odczytuje całą historię repozytorium z wersji 10 i do przodu, co na wolnym połączeniu może trwać godzinami.
Jeśli śledzę tylko bagaż, to jest w porządku, ale nadal chcę, aby git wiedział o nowych gałęziach i tagach.
Zwykle patrzęgit log -1
na gałęzi jestem i otrzymuję wersję SVN z komentarza, więc mogę to zrobićgit svn fetch -r7915:HEAD
lub podobne. Myślę, że to jest togit svn fetch --parent
robi. Ale dlaczego muszę to zrobić?
Jestem w systemie Windows i używam TortoiseGit, który ma całkiem niezłe wsparciegit-svn
, ale ponieważ TortoiseGit działa tylkogit svn fetch
Jestem trochę utknięty.
czy robię coś źle? oczekujęsvn fetch
szybka operacja po pierwszymsvn clone -s
jest gotowy.