2010-06-29 17 views
6

ile nasıl yeniden alabilirim SVN'den revizyon 15000'den tüm bir depoyu getirdim. Farklı bir yerde başka bir yerde saklandığımı fark ettim. .git/config dosyasını bu yeni şubenin konumuyla güncellemenin ve yalnızca o şubeye ait revizyonları yeniden almanın bir yolu var mı?Yeni belirtilen bir dalın revizyonlarını git-svn

cevap

0

Bunun, aynı depoda başka bir yer olduğunu varsayarak, --branch parametresini kullanarak kolayca belirtebilirsiniz. Zaten getirilmiş olan her şeyi görmezden gelir.

Başka bir SVN deposu ise, başka bir SVN uzaktan kumandası kurabilir ve oradan getirebilirsiniz.

+0

Doğru, ama git svn getirmeyi çağırırken geçmiş düzeltmeleri (* 15000 öncesi) dikkate alacaktır? Bu eski bir daldır. – Bradley

+1

'--branches' yalnızca ilk klon/init komutu için kullanılır. – jamessan

11

dosyanızın svn-remote bölümüne başka bir branches girdisi ekleyebilirsiniz. Bundan sonra, git svn fetch koşusu ek revizyonları indirmelidir. Doğru anladıysam,


, Kaldırmakta (veya değiştirme) max-branchesRev hattını .git/svn/.metadata gelen ve yine git svn fetch çalıştırarak şube Eski düzeltmeleri yeniden taramak için git-svn zorlayabilir. Çizgiyi kaldırmak yerine değiştirirseniz, bunu, şubenizin oluşturulduğu zamandan önceki bir revizyona ayarlamak isteyeceksiniz. Bundan sonra tüm revizyonlar için dalları yeniden tarar.


muhtemelen ilk yerine .git/svn/.metadata karıştırmasını git svn reset ile gitmeliydim. Aşağıdaki işe yaramazsa, o zaman fikirlerim tükendi. :)

# Find the svn revision git knows about that's just previous (or close to) 
# the revision which created the branch 
$ git svn reset -r $foundSvnRev 
$ git svn fetch 
$ git reset --hard $remoteBranch 

Sonra normal başına git svn kullanmak gerekir.

+0

Bu çalıştı, ancak düzeltmeleri çektim * sonra * 15000'i aldım. Bu şubeye yapılan taahhütler için önceden alınmış revizyonları taramazdı. – Bradley

+0

En fazla branchRev satırını .git/svn/.metadata dosyasında, şube oluşturulmadan hemen önce düzeltmeye ayarlamayı denedim. Sonra git svn getirme ile yeniden getirildi. Ne yazık ki, şubeye baktığımda, gördüğüm tek olay, ilk olarak getirdiğim 15000'den sonra * .git/config dosyasını değiştirdikten sonra getirdiğim. Git svn rebase'i dalda mı çalıştırmalıyım? Uzak şubeyi silebilir, mülkünü tekrar ayarlayabilir ve yeniden getirebilir miyim? – Bradley

+0

Bir 'git svn rebase''i deneyebilirsiniz, ancak bunun işe yaramayacağını düşünmüyorum. – jamessan

İlgili konular