2012-08-10 26 views
6

निम्नलिखित रेपो पर विचार करें गुरु शाखा पर निर्देशिका के लिए अनुमति नहीं देतीं:gitolite लेकिन उपयोगकर्ता शाखा पर नहीं

रेपो/src/ए/

रेपो/src/बी/

यह होने से संभव है निम्नलिखित प्रतिबंधों को लागू करने के लिए केवल 1 रेपो?

  1. मास्टर शाखा पर, मास्टर शाखा पर देखरेख भूमिका
  2. के लिए पूरा उपयोग की अनुमति देते हैं, एक के लिए अनुमति नहीं देतीं लेकिन योगदानकर्ताओं भूमिका करने के लिए बी के लिए अनुमति देते हैं।
  3. व्यक्तिगत शाखाओं पर, ए और बी को रचनाकारों तक पूर्ण पहुंच की अनुमति दें।
+0

नोट : द नाम से VREF आपके मामले में हो सकता है: 'VREF/NAME/src/A' के बजाय 'VREF/NAME/src/A'। – VonC

उत्तर

4

गिटोलाइट वी 3 or 'g3' और इसके VREF के साथ, उन प्रतिबंधों को लागू करना संभव होना चाहिए।

लेकिन आप जिस एक्सेस का प्रबंधन कर सकते हैं वह केवल लेखन-पहुंच के लिए है।
यदि कोई उपयोगकर्ता रेपो क्लोन कर सकता है, तो उसे रीड-एक्सेस सभी रेपो (जैसा कि "gitolite: allow to change only selelected files" में उल्लिखित है)।
यदि आप वास्तव में पढ़ने-पहुंच को सीमित करना चाहते हैं, तो आप gitolite 'partial-copy' आज़मा सकते हैं।

कुछ नोट:

  • VREF restricting pushes by dir/file name के लिए इस्तेमाल किया जा सकता है।
  • मैं यहां role की धारणा का उपयोग करता हूं, उपयोगकर्ताओं के समूह नहीं: आपको उपयोगकर्ताओं के लिए set the permission separately की आवश्यकता है।
  • व्यक्तिगत शाखाएं described here हैं।

एक access rule की तरह है:

<permission> <zero or more refexes> = <one or more users/user groups> 

<zero or more refexes> मतलब है refexes

को जोड़ती है अपने कर सकते हैं कि जैसे कुछ (परीक्षण नहीं) देना होगा:

repo REPO 
     RW+ master      = MAINTAINER 
     - master   VREF/NAME/A = CONTRIBUTOR 
     RW master   VREF/NAME/B = CONTRIBUTOR 
     RW personal/USER/ VREF/NAME/A = CREATOR 
     RW personal/USER/ VREF/NAME/B = CREATOR 
+0

अरे, मुझे पढ़ने की पहुंच की परवाह नहीं है। मैं आपके सुझाए गए सेटअप के साथ जाऊंगा और फीडबैक के साथ वापस आऊंगा। – Konstantinos

+1

@ कॉन्स्टेंटिनो उत्कृष्ट। सुनिश्चित करें कि आपके गिटलाब सेटअप में आपके पास गिटोलाइट वी 3 स्थापित है। और ssh के माध्यम से प्रत्यक्ष गिट कमांड के साथ, gitlab के बाहर इसे आज़माएं। – VonC

+0

@VonC, लेकिन संयुक्त रूप से रेफेक्स संयुक्त नहीं हैं और एंडेड नहीं हैं? –

0
repo REPO 
    - master VREF/NAME/src/A = @contributors 
    RW+ master = @maintainers @contributors 
    RW+ personal/ = @creators