2010-06-29 31 views
13

VCS'yi git veya subversion'a geçirmeyi düşünüyoruz. Git'e geçmeyi tercih ediyorum, ancak subversion git dizininde göremediğim hoş bir özellik var: dizin erişim kontrolü başına.Git dizin içi izinler için izin ver

Şu anda proje1, project2 depoları, farklı izinlerle birlikte, cvs'de var. Farklı izinlere sahip iki dizin project1 & project2 ile tek bir depoya sahip olmak isteriz. Svn ile olduğu gibi git ile yapılabilir mi?

Muhtemelen bunu başarabilen alt modüllerin farkındayım, ancak bizim için hedefimiz, proje1 & projesinde2 değişikliklerle tek bir taahhütte bulunabilmektir.

Temel olarak IP sorunları yaşıyoruz ve bazı kişilerin bazı dizinleri okuyamayacağından (yalnızca itmemenizden) emin olmak istiyoruz. Yani, meydan okuma için yukarı gitmek veya git-svn kullanmak zorunda mıyım?

Teşekkür

cevap

5

O gitolite tarafından yönetilen erişimli bir merkezi repo (itme/çekme) ile yapılabilir olduğunu.
Bkz. its features.

sen (siz farkında) submodules ile, sadece repo başına veya şube erişim başına ve hala project1 ve Project2 hem taahhüt yönetmek edeceğini birleştirirseniz (a subrepo durumunda iki kaydedilmesini ile: this question bakınız)

bir repo (eğer modülleri için onları iyi adaylar yapmalıdır ki, kendi yaşam döngüsü ile gelişebilir veri ayarlamak zorunda olsa bile) ile çalışan ısrar, o zaman gitolite özellikleri şunlardır yapın:

dosya/dir NAME tabanlı kısıtlamalar

Ayrıca

bazlı kısıtlamalar-name şube, gitolite ayrıca dosyaları veya dizinleri

dpk

yorumlardaki bahisler itiliyor değişiklikler dahil edilebilir kısıtlamak olanak sağlar, bu son özellik (dosya/dizin adı kısıtlama) Gitolite'nin conf/example.conf dosyasında ayrıntılı olarak açıklanmıştır.

+0

Evet, bunu gördü, ama bana buradaki izinlerin, klonlamada okunmayan itme engelleme ile ilgili olduğu görülüyor. Klonlama malzemelerinin bu tür bir okuma reddi ile nasıl ilerleyeceğini neredeyse hiç anlamadım. – Wam

+0

@Wam: okuma için, * alt modülü kullanmak için * * seçeneğiniz vardır: gitolite, herhangi bir klonlamayı ve doğru ACL'leri olan bir repodan (ve bir alt modülden kendi Git repo'dur) çekmeyi engeller. Diğer bir deyişle, repo veya şube seviyesinde çekmeyi engelleyecektir. – VonC

+0

evet, ancak daha sonra – Wam

İlgili konular