2010-12-13 11 views
6

मुझे आश्चर्य है कि क्या Mercurial डिफ़ॉल्ट रूप से $ Id $ को सबवर्जन के बराबर परिवर्तित करता है जो इस तरह कुछ है: test.php 110 2009-04-28 05: 20: 41Z डॉर्डल $। क्या कोई जानता है?

+0

एक डीवीसीएस के साथ कीवर्ड रूपांतरण का उपयोग करना वास्तव में एक बुरा विचार है। यह svn और cvs के साथ एक अच्छा विचार है क्योंकि आपके रेपो में विभिन्न फ़ाइलों के लिए अलग-अलग संशोधनों में अपडेट किया जा सकता है, लेकिन Mercurial या git में सभी फाइलें एक ही बिंदु पर हैं, इसलिए आप उस मान को प्राप्त करने के लिए केवल 'hg id' का उपयोग कर सकते हैं या एक निर्माण स्क्रिप्ट में '$ (hg id --id) 'जैसे कुछ का उपयोग करें। –

उत्तर

5

नहीं, यह नहीं होगा, लेकिन आप इसे सक्षम कर सकते हैं।

https://web.archive.org/web/20121007024058/
https://www.mercurial-scm.org/wiki/KeywordPlan

क्यों आपको आवश्यकता नहीं है यह

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

एक सामान्य उपयोग जो स्वचालित रूप से एक सॉफ्टवेयर निर्माण में संस्करण जानकारी को एकीकृत कर रहा है। यह सुंदर आसानी से अपने Makefile में निम्नलिखित की तरह कुछ कर रही द्वारा कीवर्ड प्रतिस्थापन के बिना पूरा किया है:

...

बेसिक अनुकरण

है कि आप के लिए पर्याप्त नहीं है, यह इस का अनुकरण करने के लिए संभव है एक विस्तार के साथ व्यवहार।

...

एक उदाहरण विस्तार $ लेखक $ और $ तिथि $ कीवर्ड जुड़ा हुआ है (keyword.py)

भी देखें KeywordExtension प्रदान करता है।


https://www.mercurial-scm.org/wiki/KeywordExtension

कीवर्ड एक्सटेंशन

इस विस्तार मर्क्युरियल

अवलोकन

इस विस्तार allo के साथ वितरित किया जाता है आरसीएस/सीवीएस-जैसे और उपयोगकर्ता परिभाषित कुंजी का विस्तार Mercurial द्वारा ट्रैक की गई पाठ फ़ाइलों में विस्तारित करता है। कार्यशील निर्देशिका में विस्तार होता है या/और "एचजी संग्रह" का उपयोग करके वितरण बनाते समय।

कीवर्ड प्रत्येक फ़ाइल के कार्यशील निर्देशिका माता-पिता के सापेक्ष नवीनतम परिवर्तन से संबंधित परिवर्तन डेटा में विस्तार करते हैं।

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

,,,

की गति और सुरक्षा कारणों से (अनजाने विस्तार कीवर्ड से बचाव) के लिए यह केवल रेपो/.hg में रेपो प्रति एक्सटेंशन को सक्षम करने की सिफारिश की है/एचजीआरसी, वैश्विक स्तर पर नहीं, और [देखभाल] फ़ाइल नाम पैटर्न को अच्छी देखभाल के साथ ठीक से ट्यून करने के लिए।

+1

धन्यवाद, मुझे बेहतर खोज करने की कोशिश करनी चाहिए थी कि मेरे प्रश्न का काफी जवाब दें। – Darren

+1

@ डेरेन - मदद करने के लिए खुशी हुई। मैं यह सुनिश्चित करना चाहता था कि आपको कीवर्ड विस्तार पर पूरी कहानी मिल गई है (Mercurial तरीका यह नहीं करना है, या नहीं, बस इसे जितना संभव हो उतना सक्षम करें)। मुझे यह भी पता है कि एक अपरिचित सॉफ़्टवेयर पैकेज ("कीवर्ड प्रतिस्थापन" ?, "आईडी प्रतिस्थापन"? "कीवर्ड विस्तार"?) में खोज करने के लिए सटीक शब्द का पता लगाना मुश्किल हो सकता है, खासकर जब शर्तों में से एक सामान्य के रूप में सामान्य है "कीवर्ड" या "आईडी"। –

+1

अब मैं समझता हूं कि ऐसा क्यों नहीं करना है, इसलिए एक मौका है कि मैं नहीं करूँगा और मुझे पूरा यकीन है कि इसे Mercurial के साथ-साथ गिट के साथ वर्जनिंग कार्यों के तरीके से निपटना होगा, क्योंकि इसका बुरा विचार क्यों है, विशेष रूप से स्थानीय भंडार के साथ ही रिमोट। – Darren

1

आप एक ऐसी ही Keyword Extension साथ सुविधा (मर्क्युरियल के साथ वितरित)

इस विस्तार के पाठ फ़ाइलों में आरसीएस/सीवीएस की तरह और उपयोगकर्ता परिभाषित कुंजी मर्क्युरियल द्वारा पता लगाया के विस्तार की अनुमति देता है। कार्यशील निर्देशिका में विस्तार होता है या/और "hg archive" का उपयोग करके वितरण बनाते समय।

कीवर्ड प्रत्येक फ़ाइल के कार्यशील निर्देशिका माता-पिता के सापेक्ष नवीनतम परिवर्तन से संबंधित परिवर्तन डेटा में विस्तार करते हैं।

उदाहरण के लिए:

$Id: demo.txt,v 2ad3dcb8d811 2007/07/17 12:00:47 blacktrash $ 

नोट::

की गति और सुरक्षा कारणों से (अनजाने विस्तार कीवर्ड से बचाव) यह है

Id = {file|basename},v {node|short} {date|utcdate} {author|user} 

के रूप में विस्तारित किया जाएगा अनुशंसित:

  • , केवल repo/.hg/hgrc में रेपो प्रति एक्सटेंशन सक्षम करने के लिए नहीं विश्व स्तर पर बड़ी सावधानी से
  • और ठीक धुन पर [keyword] फ़ाइल नाम पैटर्न।
संबंधित मुद्दे