2010-05-26 7 views
5

ClearCase में, अगर मैं कुछ फ़ाइल एक्स पर काम कर रहा हूं और अपने पिछले संस्करण (संस्करण 5 कहूं) भी देखना चाहता हूं, तो यह [email protected]@/main/5 के रूप में उपलब्ध है। क्या कुछ अन्य (अधिमानतः मुफ्त) संस्करण नियंत्रण प्रणाली के साथ कुछ समान है?क्या एक और संस्करण नियंत्रण प्रणाली में फ़ाइल संस्करणों के लिए एक ClearCase- जैसी फाइल सिस्टम पहुंच है?

Mercurial hg cat और hg co है, लेकिन वे अभी भी ऊपर ClearCase की सुविधा के करीब नहीं आते हैं।

उत्तर

3

एक त्वरित गूगल खोज पाया gitfs:

gitfs Git संग्रह में संग्रहीत स्रोत के पेड़ के साथ काम करने के लिए एक फ्यूज आधारित फाइल सिस्टम है। अंतिम लक्ष्य को कई शाखाओं और पैच के साथ काम करने का सुविधाजनक तरीका प्रदान करना है। वर्तमान में केवल बहुत ही बुनियादी कार्यक्षमता लागू की गई है - मौजूदा टैग और ऑब्जेक्ट्स को केवल पढ़ने के लिए उपयोग करें।

अन्य (अधिक सक्रिय) परियोजनाएं इसी तरह की विशेषताओं (गिट और अन्य वीसीएस दोनों के लिए) की पेशकश कर रही हैं। बस clearcase में हर समय @@ का उपयोग कर की तरह का उपयोग कर hg में -r है -

1

मूल रूप से हर hg आदेश आप कर सकते हैं एक मनमाना संशोधन को संभालने के लिए चाहते हैं। hg "केवल" को -r की आवश्यकता है क्योंकि फ़ाइलों को भंडार से स्वतंत्र रूप से संस्करणित नहीं किया गया है, इसलिए फ़ाइल और एक रेपो संस्करण दिया गया है, -r स्पष्ट है।

आप किसी फ़ाइल को संपादित करने के लिए चाहते हैं, hg cat पाइप बिल्कुल [email protected]@/branch/ver पढ़ने की तरह है - वे वास्तव में डेटा के लिए एक ही (केवल पढ़ने के लिए) का उपयोग कर सकते हैं।

यदि आप मर्कुरियल में एमवीएफएस पर गतिशील विचारों की सुविधा चाहते हैं, तो यह एक पूरी तरह से अलग समस्या है और आप वास्तव में ऐसा नहीं कर सकते हैं (आप इसे केवल एनएफएस पर पढ़ सकते हैं, लेकिन स्पष्ट रूप से वहां कोई संस्करण नहीं है)।

5

पहले, [email protected]@/main/5 एक extended pathname जो आप वास्तव में केवल dynamic views में पता लगाने कर सकते हैं।

दूसरे, आप जल्दी से access an older version of a file in Git कर सकते हैं:

git show REVISION:path/to/file 


और आप उदाहरण के लिए अन्य उपयोग (see the file as it is in another branch के लिए Git शो का उपयोग कर सकते (फ़ाइल का रास्ता हमेशा Git भंडार की जड़ से बताते हैं))

अधिक के लिए "How to retrieve a single file from specific revision in Git?" देखें।


एक संशोधन के आधार पर फाइल सिस्टम के गतिशील अन्वेषण की अवधि में, Git के लिए hgfs के बराबर होगा:

  • gitfs फ्यूज आधारित फाइल सिस्टम Git में संग्रहीत स्रोत के पेड़ के साथ काम करने के लिए खजाने।

figfs (फ़ाइल इंटरफ़ेस Git FileSystem करने के लिए) है, जो gitfs पर फैलता है।

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

आदेश में एक इंटरनेट lesystem सेवा प्रदान करने के लिए फाई gfs work of Reilly Grant

fuse

एक फ्यूज आवेदन एक फाई lesystem एक उपयोगकर्ता के अंतरिक्ष प्रक्रिया के रूप में लागू करने की अनुमति देता से Filesystem in User space (FUSE)

उपयोग करता है।
एक आवेदन का अनुरोध VFS परत के माध्यम से और FUSE ड्राइवर में पारित किया गया है जो उपयोगकर्ता स्पेस Fi lesystem डिमन को अनुरोध भेजता है।
फिग्स फिर सामान्य फाई सिस्टम के माध्यम से गिट भंडार तक पहुंचता है और परिणामी डेटा को एप्लिकेशन में देता है।

+1

ग्रेग की टिप्पणी के आधार पर मैं http://www.ueber.net/code/man/hgfs/tip/man/4/hgfs.html ढूंढने में सक्षम था। जो Mercurial के लिए कुछ समान करता है। 'hg cat' और इसी तरह के कमांड पर फाइल सिस्टम इंटरफ़ेस को छेड़छाड़ करने का मेरा कारण यह है कि इन आदेशों को संशोधित करने के अतिरिक्त चरण की आवश्यकता होती है जो आईडीई के बाहर किया जाना है। जैसे अगर मैं xfig के साथ एक योजनाबद्ध चित्रण कर रहा हूं और 5 वें संशोधन को लोड करना चाहता हूं जिसमें एक फाइल सिस्टम इंटरफ़ेस है, तो मुझे प्रत्यक्ष फ़ाइल-> ओपन ऑपरेशन करने की अनुमति मिलती है जबकि 'एचजी बिल्ली' को उपयोग से पहले संशोधन को डंप करने के लिए एक अतिरिक्त चरण की आवश्यकता होती है। – Vijay

+0

@ विजय: समझा। मैंने अपना जवाब पूरा कर लिया है और गिट के लिए hgfs के बराबर जोड़ा है: figfs। – VonC

+0

ओपी ने ओएस निर्दिष्ट नहीं किया है, और आप यह उल्लेख करना भूल गए हैं कि FUSE (और इसलिए hgfs, gitfs और figfs) केवल लिनक्स है। हर कोई लिनक्स नहीं चलाता :) –

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

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