2010-07-20 14 views
5

kilka miesięcy temu skonfigurowałem git z repozytorium svn. Do tej pory korzystałem tylko z repozytorium svn, aby być na bieżąco z dostarczoną aplikacją. Ale teraz też chcę coś oddać. Aby to zrobić, każda funkcja, którą zamierzam zatwierdzić, musi znajdować się w osobnej gałęzi. Czytałem o tym, jak powinieneś utworzyć nową gałąź itp. Ale myślę, że źle skonfigurowałem mój git, nie mam żadnych informacji o gałęziach itp. Myślę, że mam tylko informacje o pniu. W ten sposób mój repozytorium svn został ustanowiony w moim git config:rozgałęzienie git-svn: jak skonfigurować git config

[remote "origin"] 
    url = url-of-git-repository 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[svn-remote "svn"] 
    url = url-of-svn-repository/trunk 
    fetch = :refs/remotes/git-svn 
[branch "master"] 
    merge = refs/heads/master 
    remote = origin 
... other branch information below (these are git branches) 

Teraz jak widać mój svn-remote url idzie bezpośrednio do pnia. Czytałem o dodanie tego:

branches = branches/*:refs/remotes/* 

ale gdy tworzę nowy oddział wtedy będzie dodanie go do trunk/oddziały /. Kiedy nie dodaję linii, to nie wiem, jaki jest cel tego oddziału.

Każdy pomysł, jak rozwiązać ten problem bez naruszania istniejących oddziałów, kodu itp.?

Greets, Daan

Odpowiedz

6

wierzę konfiguracja oddziałów jest w stosunku do URL-svn-remote.

Oto nasza konfiguracja sposób to zostało dokonane przez robi

git svn -s url-of-svn-repository/foo

(wewnątrz foo folderu, mamy normalny tułów/oddziały/strukturę znaczników)

[svn-remote "svn"] 
     url = url-of-svn-repository 
     fetch = foo/trunk:refs/remotes/trunk 
     branches = foo/branches/*:refs/remotes/* 
     tags = foo/tags/*:refs/remotes/tags/* 

można spróbować dostosowując się do tej struktury, lub zrób ponownie swój klon gvów svn za pomocą parametru -s. Wszystko to skonfiguruje dla ciebie (- standard-layout).

0

To był post, który pomógł mi zdobyć git pracujący z svn z projektem, który miał bardzo niekonwencjonalną strukturę gałęzi (która jest par dla kursu dla firm używających SVN z jakiegoś powodu obawiam się).

http://www.dmo.ca/blog/20070608113513/

+0

Byłoby na wiele sposobów lepiej mieć wiele oddziałów svn obsługiwane w ramach tego samego 'svn-remote [xxx]' sekcji. Nie musisz wtedy wykonywać 'git svn fetch' dla każdej gałęzi oddzielnie. Myślę również, że wspólne wersje svn są reprezentowane jako pojedyncze wspólne zatwierdzenia w repozytorium git. Możesz mieć definicję '*' w 'gałęzi' w dowolnym podkatalogowym elemencie ścieżki, ale musisz ręcznie edytować '.git/config', aby to osiągnąć. – FooF

Powiązane problemy