2012-02-16 14 views
8

में लगातार संस्करणिंग मेरे पास एक पायथन परियोजना है जिसमें स्पिनक्स प्रलेखन और पिप को प्रकाशित करने के लिए distutils है।पायथन परियोजना

इन कार्यों के

दोनों एक संस्करण है (जैसे, 0.4b3) की आवश्यकता होती है

वहाँ स्वचालित रूप से विभिन्न उपयोगिताओं जो संस्करण संख्या की आवश्यकता होती है में एकरूप संस्करण संख्या को बनाए रखने के लिए एक सबसे अच्छा अभ्यास है?

बोनस के रूप में, क्या कुछ भी है जो गिट (उदा। टैग के माध्यम से) के साथ एकीकृत करता है?

+1

आप इस विषय को programmers.stackexchange.com पर माइग्रेट कर सकते हैं, यह उस साइट के लिए अधिक उपयुक्त लगता है। –

उत्तर

0

यह एक अनचाहे उत्तर है, लेकिन मुझे लगता है कि यह conf.py स्क्रिप्ट में स्फिंक्स के साथ करना बहुत आसान होगा। के रूप में इस स्क्रिप्ट सिर्फ अजगर है, तो आप कुछ इस तरह कर सकता है:

import subprocess 

... 

path_to_source = "../src" 
release = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=path_to_source) 
version = subprocess.check_output(["git", "describe", "--tags", "HEAD"], cwd=path_to_source) 

स्वाभाविक रूप से, आप के रूप में आप चाहते हैं उन्हें उन्हें प्राप्त करने के लिए आदेशों की उत्पादन पर कुछ स्ट्रिंग प्रसंस्करण करना चाह सकते हैं, और कुछ त्रुटि जाँच, लेकिन बुनियादी विचार पकड़ना चाहिए।

जैसा कि मैंने कहा है, मैंने इसका परीक्षण नहीं किया है, इसलिए मैं पूरी तरह गलत हो सकता हूं, इसलिए मुझे बताएं कि आपको इस विचार में कोई समस्या है या नहीं।

+0

स्निपेट के लिए धन्यवाद, लेकिन स्पष्ट होने के लिए, मैं अपने आप को रोल करने की कोशिश करने के बजाय पहले से उपयोग में आने वाली किसी भी प्रथा की तलाश में था। – muckabout

1

यह पायथन डिस्ट्यूट मेलिंग सूचियों पर एक पसंदीदा प्रश्न है। आप setup.py के साथ-साथ conf.py से मॉड्यूल प्राप्त कर सकते हैं और मॉड्यूल प्राप्त कर सकते हैं। संस्करण। यह आपके आयात, 2to3 या अन्य कारकों के उपयोग के आधार पर काम नहीं कर सकता है, इस मामले में आप अपना संस्करण किसी टेक्स्ट फ़ाइल में ले जा सकते हैं और इसे अपने मॉड्यूल से खोल सकते हैं, setup.py और conf.py.

मेरा व्यक्तिगत लेना यह है कि तीन स्थानों में संस्करण संख्या को अपडेट करने का कोई बड़ा बोझ नहीं है। यह रिलीज प्रक्रिया में एक मामूली कदम है।

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