2010-10-21 6 views
7

naszym serwerze svn ma bagażnik o nazwie Dev i gałęzie żyć wjak używać zagnieżdżonych oddziałów poprzez git-svn

 
/Branches/Release/1.0/ 
       /2.0/ 
       /2.3.4/ 

i klonuje się z czymś jak git svn clone -T Dev ... -b Branches ...
kiedy biegnę git branch 2.1 remotes/Release/2.1 uzyskać:
fatal: Not a valid object name: 'remotes/Release/2.1'.

  • Jak odnosić się do oddziału zdalnego?
  • Czy muszę ponownie klonować z różnymi argumentami?
+0

Myślę, że jesteś SOL bud:/Zaimportowałeś jeden Oddział: Release z folderami w nim. – Aren

+0

Jak powinienem to naprawić, kiedy następnym razem sklonuję? –

+0

Możliwy duplikat do http://stackoverflow.com/questions/258590/how-do-i-import-svn-branches-rooted-in-different-directories-into-git-using-git – fmuecke

Odpowiedz

11

Jak wspomniano w „How do I import svn branches rooted in different directories into git using git-svn?”, trzeba chwycić cały oddział zagnieżdżonych podczas początkowego importu:

[svn-remote "svn"] 
    url = svn://svnserver/repo 
    fetch = trunk:refs/remotes/trunk 
    branches = branches/*/*:refs/remotes/* 
    tags = tags/*:refs/remotes/tags/* 

To jest także opisana w this thread.
Dla jeszcze bardziej złożonego układu gałęzi SVN (takiego jak branches within trunk!), modyfikacja repozytorium SVN może być w pierwszej kolejności przed wprowadzeniem integracji git-svn.

Od Git1.6, "1.6.x oferuje głębokie klonowanie, dzięki czemu można używać wielu symboli wieloznacznych z opcją --branches", jak wspomniano w "Cloning a Non-Standard Svn Repository with Git-Svn".