2010-01-31 5 views
60

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

वर्तमान में, मैंने देखा है कि फ़ाइल के संशोधन का डेटाटाइम उस क्षण से है जब मैंने मूल मूल्य के बजाय सिंक्रनाइज़ेशन किया था।

मेरे लिए, यह समझने में कोई समझ नहीं आता कि फ़ाइलों को सिंक्रनाइज़ किया गया था - मैं बस अंतिम प्रतिबद्ध समय देखना चाहता हूं।

यह समस्या टाइमज़ोन से संबंधित नहीं है।

+0

मैं यह दूसरा - यदि यह संभव नहीं है, तो शायद यह एक सुविधा अनुरोध होना चाहिए। –

+0

यह मूल्यवान क्यों है? – thekbb

+6

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

उत्तर

57

आप में सेट कर सकते हैं:

[miscellany] 
use-commit-times = yes 

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

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

+10

यह चेक आउट कॉपी का संशोधित समय उस समय के बराबर होता है जब इसमें परिवर्तन अंतिम रूप से भंडार के लिए प्रतिबद्ध थे। यह * नहीं * वही है जिसकी फाइल मूल रूप से भंडार में आयात की गई थी, उस संशोधन तिथि को संरक्षित करने के समान थी। – bendin

+3

मेरा मानना ​​है कि यह ओपी का मतलब है - जैसा कि सवाल में कहा गया है - "मैं सिर्फ अंतिम प्रतिबद्ध समय देखना चाहता हूं।" – silk

+0

लगता है कि स्पष्ट समाधान लागू नहीं किया गया है: जो मैं चाहता हूं वह संशोधन समय (प्रतिबद्ध या चेकआउट समय नहीं) को स्थानांतरित कर रहा है और जब नए समय चेकआउट के दौरान विलय हो रहा है। – Jochen

22

यदि आप TortoiseSVN का उपयोग कर रहे हैं, तो एक विकल्प है। TortoiseSVN -> सेटिंग्स -> सामान्य -> ​​"फ़ाइल की तारीख को 'अंतिम प्रतिबद्ध समय' पर सेट करें"।

+6

यह मूल टाइमस्टैम्प नहीं है। – oefe

+0

यह विकल्प एक अच्छा समाधान की तरह लगता है लेकिन जब मैं कमांड लाइन svn क्लाइंट (जैसे SlickSVN और TortoiseSVN) का उपयोग करता हूं, तो मैं इसे कैसे नियंत्रित कर सकता हूं? एक क्रॉस प्लेटफार्म समाधान बेहतर होगा। – sorin

+1

ओपी राज्य: "मेरे लिए, यह समझने में कोई समझ नहीं आता कि फ़ाइलों को सिंक्रनाइज़ किया गया था - मैं सिर्फ ** अंतिम प्रतिबद्ध समय ** देखना चाहता हूं।" –

10

सबवर्जन फ़ाइल के मूल टाइमस्टैम्प को सुरक्षित नहीं करता है।

यदि आपको टाइमस्टैम्प को पूरी तरह से संरक्षित करने की आवश्यकता है, तो आपको इसे स्वयं करना होगा। उदाहरण के लिए, आप मूल टाइमस्टैम्प को सबवर्सन प्रॉपर्टी के रूप में स्टोर कर सकते हैं।

+0

यह सच नहीं है, आप इसे कॉन्फ़िगरेशन सेटिंग के साथ लागू कर सकते हैं, आपको इसे स्वयं करने की ज़रूरत नहीं है। – silk

+8

एजिंग, नो-यूज-प्रतिबद्ध-टाइम्स = हाँ वह समय है जब फ़ाइल प्रतिबद्ध थी, मूल टाइमस्टैम्प नहीं। – oefe

+0

आह, ठीक है, मैंने आपको गलत समझा, क्षमा करें। – silk

0

ऐसा लगता है कि 'stat -c% y $ FILE' को पूर्व-पुनरुत्थान-परिवर्तन हुक के हिस्से के रूप में उपयोग किया जाएगा जो svn: date पर संचालित होता है। केवल समस्या जो मैं देख सकता हूं वह दिनांक प्रारूप है।

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

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