2010-01-05 28 views
17

पर कोड फ़ाइल में संशोधन डेटा जोड़ें, फ़ाइल के प्रतिबद्ध होने पर, स्वचालित रूप से कोड फ़ाइल में जानकारी डालने का कोई आसान तरीका है (जैसे लेखक, टिप्पणी करें, प्रतिबद्धता दिनांक आदि)? मैं चाहता हूं कि यह जानकारी प्रत्येक प्रतिबद्ध फ़ाइल के शीर्ष पर एक ब्लॉक में संलग्न हो। अनिवार्य रूप से संपूर्ण संशोधन इतिहास प्रत्येक कोड फ़ाइल में दस्तावेज किया जाना चाहिए ...सबवर्सन:

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

मुझे व्यक्तिगत रूप से नहीं लगता कि यह एक अच्छा विचार है क्योंकि कोड फ़ाइल में केवल कोड होना चाहिए, लेकिन दुर्भाग्य से यह मेरी वर्तमान परियोजना के लिए एक आवश्यकता है।

उत्तर

5

मुझे पता है कि यह वह जवाब नहीं है जिसे आप ढूंढ रहे हैं, लेकिन मैं उन्हें ऐसा करने से बात करने की कोशिश करता हूं।

सबसे अच्छा शर्त कीवर्ड प्रतिस्थापन का उपयोग करना होगा, लेकिन एसवीएन अच्छे कारणों से $Log$ कीवर्ड प्रदान नहीं करता है (http://subversion.tigris.org/faq.html#log-in-source देखें), यही कारण है कि मैं कोड में लॉग इन करने के खिलाफ बहस करने के लिए उपयोग करता हूं।

+0

ये कोड फ़ाइलें हैं जिन्हें कभी विलय नहीं करना पड़ेगा। अन्य डेवलपर्स फ़ाइल में चेंजलॉग देखना चाहते हैं, जबकि वे इस पर काम कर रहे हैं। मैंने समझाया कि वे चेंजलॉग को 2 क्लिक के भीतर आसानी से देख सकते हैं लेकिन जवाब था "ठीक है, यह 2 क्लिक बहुत अधिक है!" –

1

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

आप अपनी फ़ाइल में प्रतिबद्ध टिप्पणी नहीं चाहते हैं। क्या है svn log सब के बाद है।

+0

मुझे यह एक बुरा विचार पता है, लेकिन जैसा कि मैंने अपने प्रश्न में उल्लेख किया है, मुझे यह करना है! –

2

मैं इसके बजाय CVS का उपयोग करने का सुझाव दूंगा। इसमें यह क्षमता है। सीवीएस लगभग 24 वर्ष पुराना है। आपके जैसे लगता है कि प्रलेखन आवश्यकताएं उस युग से हो सकती हैं जहां संस्करण नियंत्रण सामान्य नहीं था, इसलिए आप उस युग में बनाए गए टूल का उपयोग करने के लिए शायद सबसे अच्छे हैं।

+1

वह एसवीएन के बारे में पूछता है और आप उसे सीवीएस का उपयोग करने के लिए कहते हैं। बू। – dlchambers

0

इसके अलावा, जैसा कि आप स्वयं कहते हैं, एक बेवकूफ विचार होने के नाते, मैं एसवीएन ऑन-बोर्ड विधियों का उपयोग करके ऐसा करने का एक आसान तरीका नहीं सोच सकता। आपको स्क्रिप्ट द्वारा चेकआउट (या अपडेट) के बाद प्रत्येक फ़ाइल में जाना होगा, उस फ़ाइल के भीतर "चेंज लॉग" ब्लॉक की पहचान करें, और svn log के आउटपुट के साथ उस ब्लॉक को अपडेट करें। किया जा सकता है लेकिन बहुत काम होने जा रहा है, आपको बदलावों के लिए हर कामकाजी प्रति की निगरानी करनी होगी, और यह बहुत संसाधन गहन है।

इसके अलावा, एक पोस्ट-प्रतिबद्ध हुक काम करने के लिए सबसे अच्छी बात हो सकती है, लेकिन एक संशोधन संदर्भ के बाहर भंडार के अंदर फ़ाइलों को जोड़ना, अगर संभव हो तो भयानक लगता है।

0

हम अपनी कुछ स्रोत फ़ाइलों में $Revision: 9584 $ का उपयोग करते हैं और उस विशेष फ़ाइल में संशोधन के हर बार संशोधन को अद्यतन किया जाता है। लेकिन मुझे पूरा यकीन है कि आपका मतलब कुछ अलग है।

+0

हाय, मुझे इसके साथ कोई समस्या है, क्या आप कृपया मेरे प्रश्न पर एक नज़र डालें: https://stackoverflow.com/questions/48767046/netbeans-svn-commit-keywoards-not-updating – Patrick

16

सबवर्जन $Id$, $Author$, $Revision$ और इसी तरह के विभिन्न कीवर्ड का समर्थन करता है। उन लोगों का उपयोग करने के लिए आपको तदनुसार set the svn:keywords property की आवश्यकता है। हालांकि, आप $Log$ की तरह प्रतिबद्ध टिप्पणी सम्मिलित नहीं कर सकते हैं। इसके कारणों के लिए subversion FAQ देखें, और मैं केवल वहां दिए गए कारणों से सहमत हूं।फ़ाइल में प्रतिबद्ध टिप्पणियां डालने से बस डिज़ाइन द्वारा तोड़ दिया जाता है, और ऐसी कोई टिप्पणी गलत है जिस क्षण आप इसे रिपोजिटरी के खिलाफ नहीं देख सकते हैं।

अन्य संस्करण नियंत्रण प्रणाली भी इसका समर्थन नहीं करते हैं, और उनमें से अधिकतर एक समान तर्क के साथ (उदाहरण के लिए, git)।

कृपया "परियोजना के लिए आवश्यकता" जैसी किसी चीज़ के साथ बहस न करें। यदि जारी किए गए कोड में एक परिवर्तन इतिहास शामिल करना है, तो आप आसानी से कुछ सहायक स्क्रिप्ट के साथ रिलीज बनाते समय यह इतिहास जोड़ सकते हैं। कम से कम, विचलन बस इसका समर्थन नहीं करता है। और मैं दृढ़ता से प्री-प्रतिबद्ध हुक के साथ इसे प्राप्त करने की कोशिश करने से हतोत्साहित करता हूं। कमिट हुक कभी किए गए डेटा को बदलना चाहिए।

+3

क्या आप विस्तार से बता सकते हैं? –