2010-02-18 5 views
5

मैं एक व्यक्तिगत डिजिटल संग्रह बनाना चाहता हूं।कौन सा ओपन सोर्स रिपोजिटरी या वर्जन कंट्रोल सिस्टम फाइलों का मूल माटा, सीटा और एटिम स्टोर करता है?

मैं उस संग्रह में डिजिटल फाइलों (कुछ साल पुराने, कुछ हाल ही में, कुछ अभी तक नहीं बनाए गए) की जांच करने में सक्षम होना चाहता हूं और उन्हें अपने मेटाडेटा जैसे सीटाइम, एटिम और एमटाइम के साथ संरक्षित करना चाहता हूं।

मैं इन फ़ाइलों को उस संग्रह से बाहर करने, उनकी सामग्री को संशोधित करने और संग्रह में परिवर्तन को वापस करने में सक्षम होना चाहता हूं, जबकि पहले की प्रतिबद्धताओं और उनके मेटाडेटा को बरकरार रखते हुए।

मैं संग्रह बहुत विश्वसनीय और सुरक्षित, और दूरस्थ रूप से बैक अप लेने में सक्षम होना चाहता हूं।

मैं लिनक्स, मैक ओएस एक्स 10.5+ या विन XP + चलाने वाले पीसी से संग्रह में फ़ाइलों को चेक और इन करने में सक्षम होना चाहता हूं।

मैं फ़ाइलों के आकार से कम रैम क्षमताओं वाले पीसी से संग्रह में फ़ाइलों के अंदर और बाहर फ़ाइलों को जांचने में सक्षम होना चाहता हूं। जैसे मैं एक पीसी का उपयोग कर 2 जीबी रैम के साथ एक 13 जीबी फ़ाइल में चेक/आउट करने में सक्षम होना चाहता हूं।

मैंने सोचा कि सबवर्जन यह सब कर सकता है, लेकिन स्पष्ट रूप से it can't। (कम से कम, यह दो साल पहले नहीं हो सका और जहां तक ​​मुझे पता है कि यह अभी भी नहीं कर सकता है; अगर मैं गलत हूं तो मुझे सही करें।)

क्या इन सभी चीजों में एक बड़ी वीसीएस या समान सक्षम है ?

आपकी मदद के लिए धन्यवाद।

+0

लगता है कि svn के मामले में, यह एक ऐसा मुद्दा है जो 7 साल या उससे अधिक के लिए विचाराधीन है और जो अभी भी (अभी भी!) विचाराधीन है लेकिन अभी तक लागू नहीं हुआ है। अच्छी खबर यह है कि आरएफसी सक्रिय प्रतीत होता है। Http://subversion.tigris.org/issues/show_bug.cgi?id=1256 और http://permalink.gmane.org/gmane.comp.version-control.subversion.devel/117879 देखें। तो, विकल्पों के बारे में क्या? – sampablokuper

उत्तर

0

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

1

जो आप चाहते हैं वह rsync और स्नैपशॉट्स के साथ बेहतर तरीके से हासिल किया जा रहा है। आप यहां इसके बारे में जान सकते हैं: http://rsnapshot.org/

वैसे भी, यह सर्वरफॉल्ट या सुपरसियर के लिए उपयुक्त एक प्रश्न की तरह लगता है।

0

गिट वास्तव में ऐसा नहीं कर सकता है, और न ही Mercurial, और जहां तक ​​मैं किसी अन्य आधुनिक एससीएम प्रणाली को जानता हूँ। कारण यह है कि 1) उन्हें स्रोत कोड के लिए डिज़ाइन किया गया था और 2) शाखाओं, विलय, और अन्य एससीएम गतिविधियों के चेहरे में समझदारी से उन फ़ाइल मेटाडेटा टाइमस्टैम्प को संरक्षित और अद्यतन करना बहुत असंभव है। इसके अलावा वे सभी फ़ाइलों को समय पर प्रतिबद्ध समय पर सेट कर सकते हैं, जो उपयोग के अधिकांश मामलों के लिए mtime के रूप में उपयोगी है। एमटीआईम्स का उपयोग करने से एससीएम सिस्टम में बहुत सारे अनावश्यक मंथन भी होते हैं (क्या आप कल्पना कर सकते हैं कि वे एनीम को भी संग्रहीत करते हैं?) पुराने फ़ाइल-आधारित एससीएम जैसे सीवीएस और यहां तक ​​कि विजुअल सोर्ससेफ स्टोर स्टोर करते हैं, लेकिन आपके उपयोग के मामले में उनके पास कई अन्य कमजोरियां हैं वे विचार करने लायक नहीं हैं।

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

यदि आप एक पोर्टेबल संग्रह चाहते हैं, तो सबसे आसान काम करने के लिए केवल "चेन" चीजों को टैर + xdelta + SHA1SUM/gpg हस्ताक्षर हो सकते हैं।

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