2011-01-01 12 views
7

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

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

मैं अब तक अपने सिद्धांत का समर्थन करने के लिए इंटरनेट पर कोई भी महत्वपूर्ण दस्तावेज़ नहीं ढूंढ पाया है।

क्या कोई भी संक्षेप में बता सकता है कि एसवीएन प्रत्येक परिवर्तन के लिए कमिट टाइम कैसे स्टोर करता है? इसका जिक्र करने वाले दस्तावेज़ लिंक बहुत मददगार होंगे।

उत्तर

6

ऐसा लगता है कि सबवर्सन सेट server समय UTC समय क्षेत्र, सबवर्सन डेवलपर की ओर से this ईमेल Ben Collins-Sussman यह इस बात की पुष्टि के प्रयोग पर आधारित समय के लिए प्रतिबद्ध। इसके अलावा, git-svn मैनपेज और, पर्ल SVN::Web मॉड्यूल दस्तावेज़ इस के साथ सहमत हैं।

2
section of the SVN book documenting the unversioned properties से

:

svn:date

UTC समय संशोधन बनाया गया था, आईएसओ 8601 प्रारूप में शामिल हैं। मूल्य सर्वर मशीन की घड़ी से आता है, ग्राहक नहीं।

ISO 8601 अभी भी विभिन्न प्रारूपों की एक बड़ी संख्या के लिए अनुमति देता है, और समय क्षेत्र संकेतक अनिवार्य नहीं हैं। हालांकि, अगर आप इस तरह svn:date का मूल्य पर एक नज़र डालें:

2010-12-23T00:45:41.552600Z 

Z अंत में UTC के लिए संकेत है कि:

svn propget --revprop -r HEAD http://example.com/svn 

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

2

प्रोपेट उपसमूह का आपका आमंत्रण svn: date argument को छोड़ना प्रतीत होता है। वांछित परिणाम प्राप्त करने के लिए मुझे इस तरह से आदेश दर्ज करना पड़ा:

svn propget --revprop -r HEAD svn: दिनांक

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