2009-05-12 19 views
32

के लिए बोर्ड वर्कफ़्लो की समीक्षा करें मेरी कंपनी में हम अपनी विकास प्रक्रिया में कोड समीक्षा प्रथाओं को जोड़ने की कोशिश कर रहे हैं और उस उद्देश्य के लिए हमने Review Board का उपयोग करने का निर्णय लिया है।Mercurial भंडार

जबकि समीक्षा बोर्ड को सबवर्जन के लिए बॉक्स से बाहर काम करना चाहिए Mercurial के लिए वर्कफ़्लो थोड़ा सा शामिल दिखता है। सबसे पहले ऐसा लगता है कि केवल समीक्षा पोस्ट (पोस्ट-समीक्षा स्क्रिप्ट के माध्यम से) इस प्रकार के रेपो के लिए समर्थित है। दूसरा दस्तावेज अस्पष्ट है कि पोस्ट-समीक्षा वास्तव में Mercurial का समर्थन करता है (यह केवल गिट का उल्लेख करता है)।

क्या आप लोग अपने वर्कफ़्लो को विस्तार से बता सकते हैं?

हूँ मैं अपने सोच में सही यह कुछ इस तरह होना चाहिए:

डेवलपर:

  1. क्लोन मास्टर रेपो
  2. स्थानीय मास्टर रेपो से
  3. क्लोन सुविधा रेपो
  4. सुविधा में हैक-हैक रेपो
  5. फीचर रेपो
  6. में फीचर रेपो से किसी भी तरह से पोस्ट-समीक्षा ईएनटी मास्टर रेपो

समीक्षक:

  1. समीक्षा diff
  2. अगर ठीक तो सुविधा रेपो

उत्तर

11

हमने अभी अपनी कंपनी में Mercurial और Reviewboard दोनों का उपयोग करना शुरू कर दिया है। हम आपके सुझाए गए वर्कफ़्लो के समान कुछ करते हैं, सिवाय इसके कि हम आमतौर पर फीचर रेपो से परेशान नहीं होते हैं, और हम हमेशा मास्टर से खींचने के बजाए मास्टर को धक्का देते हैं।

एक मुख्य समस्या जो आप समीक्षा करते हैं, एक डीवीसीएस के साथ समीक्षा बोर्ड का उपयोग करते हुए, जहां आप चाहते हैं कि किसी संशोधन में संशोधन 2, संशोधन 2 में संशोधन 2, दोनों जो आपके स्थानीय रेपो में हैं, लेकिन उस मास्टर में नहीं जो समीक्षा बोर्ड के पास है उदाहरण के लिए, क्योंकि आप अभी भी संशोधन 1 से संशोधन 2 में किए गए परिवर्तनों की समीक्षा की प्रतीक्षा कर रहे हैं।

समीक्षा बोर्ड का समाधान यह है कि यह "पैरेंट diffs" कहता है; इसका मतलब यह है कि केवल पैच को अपलोड करने की बजाय आप समीक्षा करना चाहते हैं, आपको मास्टर रेपो में नवीनतम संस्करण और अपने पैच के अभिभावक संशोधन के बीच अंतर को भी अपलोड करना होगा। यह समीक्षा बोर्ड को साइड डिफ दर्शक द्वारा अपनी तरफ के बाईं ओर मूल फ़ाइलों को पुनर्निर्माण करने की अनुमति देता है।

समीक्षा बोर्ड का वर्तमान संस्करण Mercurial के लिए पैरेंट diffs का समर्थन नहीं करता है, लेकिन मैंने एक पैच सबमिट किया है जो उन्हें काम करता है; मेरा मानना ​​है कि यह आरसी 3 के लिए होना चाहिए।

मैंने पिछले पोस्ट में उल्लिखित समीक्षा बोर्ड एक्सटेंशन को भी पैरेंट डिफ को समर्थन देने की अनुमति देने के लिए पैच किया है। आरसी 3 जारी होने के बाद मैं इन्हें उपलब्ध कराऊंगा।

+0

आपके उत्तर के लिए धन्यवाद, मैं निकटतम समय में आरसी 3 का प्रयास करने जा रहा हूं। वैसे, कुछ समय पहले मैंने कुछ ओपनसोर्स प्रोजेक्ट पर ठोकर खाई थी (नाम याद नहीं कर सकता) जहां लोग जटिल पैच की चर्चा के लिए केवल पूर्व-समीक्षा उपकरण के रूप में Mercurial के साथ समीक्षा बोर्ड का उपयोग करते हैं। एक बार पैच को मंजूरी मिलने के बाद इसे रेपो में खींच लिया जाता है। सामान्य रूप से किसी भी नौकरशाही के बिना खींचे जाते हैं। – pachanga

+2

एफवाईआई मैंने http://bitbucket.org/ccaughie/mercurial-reviewboard/ पर समीक्षा बोर्ड एक्सटेंशन (अब तक परियोजना के मालिक से संपर्क करने में असमर्थ रहा है) को फोर्क किया है। इसमें मेरे सभी परिवर्तन हैं, जिनमें पैरेंट डिफ समर्थन शामिल है। – ccaughie

+0

Mercurial ReviewBoard एक्सटेंशन अब यहां है http://code.google.com/p/mercurial-reviewboard/ – yanjost

6

आप क्या चाहते हैं के लिए तेज के लिए एक विस्तार है से मास्टर रेपो को खींच करने के लिए:

http://blogma.de/projects/mercurial-reviewboard.html
https://www.mercurial-scm.org/wiki/ReviewboardExtension

आपके द्वारा पेश किए जाने वाले कार्य-प्रवाह का पालन करना आसान लगता है, इसलिए मुझे लगता है कि आप सही रास्ते पर हैं। जिस तरह से DVCS सेवाओं (यानी bitbucket या GitHub) इस संभाल वास्तव में एक ही है:

commiter:
कदम 1 ... 4 एक ही
5. मेंटेनर के लिए एक पुल अनुरोध भेजें (यह थे अपने कोड की समीक्षा में फिट बैठता है)

समीक्षक:
1. समीक्षा पुल अनुरोध
2. चूंकि ऐसा करने aforementioned सेवाओं मुझे नहीं लगता है कि यह आपको कोई समस्या पेश करना चाहिए है के लिए पूरी तरह से काम करता है खींचती

0

अब एक एक्सटेंशन नाम FileReview है जो TortoiseHg (TortoiseHg> = 0.9 के रूप में) के साथ एकीकृत है। समीक्षा को भंडार में एकीकृत किया प्रतीत होता है।

यह विंडोज़ पर काम करने में कामयाब नहीं रहा, लेकिन मुझे उम्मीद है कि यह बेहतर होगा!

3

मुझे आपकी टीम के आकार के बारे में पता नहीं है, लेकिन समीक्षा पोस्ट जल्द ही अप्रबंधनीय हो जाती है, खासकर बड़ी टीमों, सुरक्षा-महत्वपूर्ण परियोजनाओं और समीक्षाकर्ता व्यस्त होने पर।

GitHub और Bitbucket एक दृष्टिकोण है कि पूर्व DVCS युग में व्यवहार्य नहीं था, तथाकथित पुल का उपयोग कर का अनुरोध करता है के साथ इस समस्या का समाधान।

संक्षेप में अवधारणा: डेवलपर अपने स्वयं के क्लोन में आता है, फिर मास्टर रेपो को सामान को खींचने के लिए मास्टर रेपो के मालिक से अनुरोध करता है। मालिक इसकी समीक्षा करता है, और इसे मास्टर को खींचने या अस्वीकार कर सकता है। यह इत्ना आसान है।

आप YouTube पर Git Workflows Demo: What is the Integrator Workflow? वीडियो देखना चाह सकते हैं। यह Mercurial पर भी लागू होता है।

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