2016-10-11 7 views
13

मैं समझता हूं कि गेरिट को गिट कमेट्स मिलती है (update हुक का उपयोग करके), और पीयर समीक्षा पूरी होने तक उन्हें नकली रेफरी पर कहीं लिखें, लेकिन तकनीकी प्रक्रिया के संदर्भ में यह प्रक्रिया वास्तव में कैसे काम करती है? और क्या गिट कमांड शामिल हैं?गेरिट सर्वर अवरोध कैसे करता है। तकनीकी विवरण की तलाश

+1

गेरिट सिस्टम डिज़ाइन प्रलेखन आपके लिए ब्याज का हो सकता है - https://gerrit-review.googlesource.com/Documentation/dev-design.html - स्रोत यहां भी उपलब्ध है https://gerrit.googlesource.com/ Gerrit / – Robbie

उत्तर

2

आप जादू संदर्भ refs/for/<branch ref> का संदर्भ दे सकते हैं जिसका उपयोग उपयोगकर्ता when pushing new commits द्वारा किया जाता है।

git push ssh://[email protected]:29418/projectname HEAD:refs/for/branch 

जैसे:

समीक्षा के लिए नए परिवर्तन बनाने के लिए, बस परियोजना की जादुई refs/for/'branch' किसी भी Git ग्राहक उपकरण का उपयोग करने के लिए धक्का रेफरी john.doe परियोजना kernel/common की experimental शाखा के लिए नए परिवर्तन, git.example.com Gerrit सर्वर पर होस्ट अपलोड करने के लिए Git धक्का उपयोग कर सकते हैं:

git push ssh://[email protected]:29418/kernel/common HEAD:refs/for/experimental 

प्रत्येक नया Git धक्का ग्राहक द्वारा अपलोड की गई एक परिवर्तन में बदल दिया जाएगा प्रतिबद्ध सर्वर पर रिकॉर्ड करें।
रिमोट रेफ refs/for/experimental वास्तव में गेरिट द्वारा नहीं बनाया गया है, भले ही ग्राहक के स्टेटस संदेश अन्यथा कहें।


तकनीकी तौर पर, इस cmd-receive-pack द्वारा किया जाता है।

'गिट पुश' द्वारा आमंत्रित किया गया और 'गिट पुश' अंत से प्राप्त जानकारी के साथ प्रोजेक्ट के भंडार को अद्यतन करता है।

यह gerrit/sshd/commands/Receive.java द्वारा कार्यान्वित किया जाता है, जो Git receive-pack protocol का उपयोग कर SSH पर अपलोड बदलने प्राप्त करता है।

संबंधित मुद्दे