2009-10-07 14 views
6

का अंतिम संदेश प्राप्त करें मुझे आश्चर्य है कि सीवीएस मॉड्यूल में अंतिम परिवर्तन कैसे प्राप्त करें।अंतिम संदेश या अंतिम सीवीएस प्रतिबद्ध

+0

आप विशेष रूप से क्या देख रहे हैं? क्या आप अंतिम परिवर्तन के लिए सीवीएस लॉग आउटपुट चाहते हैं, या खुद को बदल सकते हैं, या कुछ और? –

उत्तर

0

cvs log उन सभी को वापस कर देगा। जब से तुम यह नहीं कह सकते "पिछले एन संशोधन" (यहाँ, मैं भी यह नहीं कह सकते cvs log HEAD), वहाँ दो विकल्प हैं:

  1. उपयोग head -N एन सर्वोच्च लाइनों मिल (यूनिक्स या Cygwin केवल)

  2. प्रत्येक फ़ाइल व्यक्तिगत रूप से एक तारीख और cvs log -d DATE

0

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

जैसा कि आपने शायद अनुमान लगाया है, इनमें से कोई भी चुनने का विशेष रूप से देने वाला मार्ग नहीं है। मैं दृढ़ता से सुझाव देता हूं कि मॉड्यूल-स्तर पर आप हमेशा टैग के विरुद्ध तुलना करते हैं। एक सॉफ्टवेयर प्रक्रिया स्थापित करें जिसमें एक महत्वपूर्ण पर्याप्त सुधार किए जाने पर मॉड्यूल टैगिंग शामिल है (जैसे दैनिक निर्माण, पर्यावरण का परीक्षण करने के लिए तैनाती, आदि ..) और फिर बनाए गए टैग को तुलना बेसलाइन के रूप में उपयोग करें।

आप एक काम की नकल के बिना

  • cvs rdiff कमांड का उपयोग करके एक टैग के खिलाफ नवीनतम परिवर्तनों diffing पूरा कर सकते हैं, या एक काम की नकल के शीर्ष स्तर पर
  • cvs diff आदेश

पूर्ण संदर्भ के लिए सीवीएस दस्तावेज देखें।

8

मुझे लगता है कि शायद आप इतिहास कमांड का उपयोग कर सकते हैं। कुछ ऐसा प्रयास करें:

cvs history -c -D 2012-04-01 -a 

उपर्युक्त उदाहरण दिखाता है कि तारीख निर्दिष्ट होने के बाद से सभी काम करता है (निर्दिष्ट है कि सूची लंबाई में सीमित है ...)।

-c का मतलब है, -a सभी उपयोगकर्ताओं का मतलब है।

उसी टाइमस्टैम्प और उपयोगकर्ता के साथ प्रतिबद्धता स्पष्ट रूप से एक ही प्रतिबद्धता से होती है। इसके बाद आप

cvs log -r <version> <file> 

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

cvs diff -D "<date 1>" -D "<date 2>" 

यहाँ का प्रयोग करेंगे, "तिथि 1" और "तिथि 2" एक टाइमस्टैम्प बस से पहले और बस के लिए प्रतिबद्ध के बाद होना चाहिए। ध्यान दें कि (जहां तक ​​मुझे पता है), यदि आप किसी शाखा (??) पर काम कर रहे हैं तो यह काम नहीं कर रहा है। मुझे लगता है कि एक और सवाल के लिए यह विषय होगा।

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