Diyelim ki 3 git depoları, kök bir lib
ile her ve tests
klasör var diyelim. Her 3 depoları ancak ayrı depoları tutmak benim için önemli, ben tek bir paket olmak istiyorum ne bir parçasıdır.
Ben svn gelen git'e yeni am, bu yüzden submodules
üzerinde okuma ve nasıl svn:externals
farklılık olmuştur. SVN'de Ben bir tek olabilir
lib/vendor/package
dizin ve iç package
Ben kurulum uygun gibi yeniden adlandırarak, benim 3 depoları lib
dizin her işaret 3 Externals olabilir
lib/vendor/package/a -> repo1/lib
lib/vendor/package/b -> repo2/lib
lib/vendor/package/c -> repo3/lib
ama benim anlayış bu git ile mümkün değildir. Ben bir şey eksik?
Gerçekten ben bu iki yoldan biriyle çözülebilir umuyorum.
- Birisi bir
a
,b
olabilir nerede (yukarıda belirttiğim gibi submodüller organize olarak diğer 3 olan 4 git depo oluşturmak için nasıl işaret ve {[(edecek kök içinde 2)]} klasörü) - Birisi her git depo içindeki
lib
dizini (benim anlayış bu imkansız) başvurarak, githubs svn desteği ile birliktesvn:externals
kullanarak bu nasıl kuracağınızı işaret edecek
Update:
Ben aslında altmodüller size bağlı öğretici takip etmeye çalıştı, ama ben şu sorun haline çalıştırın.
Yerine gibi bir eşleme, yukarıda gösterildiği gibi şeyler yapıyor
lib/vendor/package/a -> repo1/lib
lib/vendor/package/b -> repo2/lib
lib/vendor/package/c -> repo3/lib
Ben sol am
lib/vendor/package/a -> repo1
lib/vendor/package/b -> repo2
lib/vendor/package/c -> repo3
Bu erişim ClassA
repo1
's lib
klasör yolu iç şimdi beri ideal değildir
lib/vendor/package/a/lib/ClassA
Gerçekten almak için çalışıyorum (: formaliteler ve bu svn ile mümkündür) olduğunda
lib/vendor/package/a/ClassA
a
Yukarıdaki aslında beri repo1/lib
, ve değil kök dizin repo1
.
Böyle bir şey PHP5.3
, örneğin, (http://gist.github.com/221634), bu gibi bir ad-dizin eşleme gerektiren SplClassLoader
kullanarak, beri önemli
\Package\a\ClassA -> lib/vendor/package/a/ClassA
Bu benim kavramsal yanlış anlaşılma nasıl 4 git depo izin vermek için bu kurulum için, nerede olduğunu yukarıdaki gibi benim dizin dönüşümler.