गैर- / आदि फाइल सिस्टम के नियंत्रण के लिए एटकीपर के मेटाडेटा इंजन का पुन: उपयोग / विस्तार कैसे करें, या उक्त क्षमता के साथ देशी रूप से विस्तार करें?


16

अवलोकन + प्रश्न

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

क्या कोई भी निम्नलिखित में से किसी भी या दोनों को प्रदान करने के लिए कोई सुझाव / चाल / कार्य समाधान सुझा सकता है:

  1. etckeeper इंजन को लागू करें (केवल ध्यान दें कि etiteeper की git-specific क्षमता के बारे में) non-/ etc, git-नियंत्रित डायरेक्टरीज़। (मान सकते हैं कम से कम Debian / Ubuntu लिनक्स पर; MacOSX / चाहते हैं homebrew यदि संभव हो तो समर्थन करते हैं।)
  2. मेटाडेटा समर्थन ( गिट-कैश-मेटा जैसी अति-सरलीकृत चीज़ों से परे) के साथ गिट का विस्तार करें, एक एटकीपर जैसी क्षमता या बेहतर का समर्थन करने के लिए?

अधिक जानकारी, पृष्ठभूमि

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

जाहिर है, इसमें ओएस / फाइलसिस्टम-विशिष्ट निर्भरताएं हैं। (उदाहरण के लिए, विंडोज पर ऑटो-तैनाती की कोशिश नहीं कर रहा है।) एक वैकल्पिक सुझाव देंएक्सटेंशन (यदि यह "मूल एक्सटेंशन") है, तो उपयोगकर्ता द्वारा ऑन-डिमांड को क्रॉस-प्लेटफॉर्म के टूटने के संभावित परिणामों के साथ सक्षम किया जाता है, जैसे कि मूल व्यवहार जीआईटी के "डिफ़ॉल्ट रूप से" क्रॉस-प्लेटफॉर्म मित्रता को नहीं तोड़ता है। इसके अलावा, असाधारण यूनिक्स / डार्विन / आदि मेटाडेटा (जैसे एसीएल) को बचाने की आवश्यकता नहीं है; बुनियादी उपयोगकर्ता / समूह / अन्य परमिट और उपयोगकर्ता / समूह स्वामित्व ठीक होगा। (ये वही चीजें हैं जो वर्तमान में मेरी "सुरक्षा / भेद्यता नियंत्रण / नीतियों में चीजों को तोड़ रही हैं।") विशिष्ट ओएस मैं सामने लक्ष्य कर रहा हूं: डेबियन, उबंटू, मैकओएस 10.6+। बाद में: रेडहैट (CentOS, Fedora, RHEL), SUSE, शायद अन्य लिनक्स, और * BSD (FreeBSD, NetBSD, OpenBSD)। विंडोज / वीएमएस (भले ही वीएमएस पॉजिक्स-फ्रेंडली हो सकता है) या अन्य गैर-यूनिक्स जैसे ओएस के लिए किसी भी जरूरतमंद के लिए आवेदन / आवेदन नहीं देखा जा सकता है।

यह भी देखें: इस स्टैकओवरफ्लो प्रश्न मैं पोस्ट किए गए पहले से मौजूद git, फ़ाइल-मेटाडेटा / फ़ाइल-प्रकार ट्रैकिंग क्षमताओं पर पृष्ठभूमि ।

एक नई परियोजना के लिए आवश्यकताओं का विकास?

इसके अतिरिक्त: यदि किसी को इस तरह की क्षमता के लिए आवश्यकताओं को विकसित करने की परवाह है, तो मुझे यकीन है कि यह उपयोगी साबित हो सकता है, विशेष रूप से ऊपर संबोधित करने के लिए एक नई / अपूर्ण परियोजना के लिए।



आप संभवतः कुछ (संभावित परिष्कृत) गिट हुक का उपयोग करके इसे पूरा कर सकते हैं
जस्टिन ᚅᚔᚈᚄᚒᚔ

कस्टम हुक: सही, जैसा कि ऊपर उल्लेखित गिट-कैश-मेटा के साथ है; उपयोगी है, लेकिन एक oversimplified समाधान। काश, बेहतर कार्यक्षमता / विश्वसनीयता / सुविधाओं / कोडरेव्यू / आदि के लिए कुछ "सामुदायिक स्वामित्व" में उपयोगकर्ता-कस्टम हुक से परे इस कार्यक्षमता को "धक्का" करना। इसके अलावा, इसे खरोंच से नहीं लिखना चाहिए, कम से कम अपने आप से नहीं।
जॉनी उटाह


यहाँ कोई अपडेट?
क्रेगॉक्स

जवाबों:


4

इस सर्वरफॉल्ट उत्तर के अनुसार , आप बस यह करें:

यह मैन पेज में वहीं है ।

  • एक निर्देशिका बनाएँ /foo
  • एटकीपर के साथ आरंभ करें: etckeeper -d /foo init
  • निर्देशिका के लिए प्रतिबद्ध लागू होते हैं: etckeeper -d /foo commit 'message'

काफी दिलचस्प। मुझे मैक ओएस एक्स पर चलने वाले किसी भी एटकीपर पोर्ट / टेस्ट नहीं मिल सकते हैं। न ही होमब्रे में और न ही कहीं और पर्याप्त। किसी को भी कुछ भी पता है?
जॉनी उटाह

मैं मैक ओएस एक्स के लिए एटकेटर
जॉनी यूटा

@ जॉननीतह: लगता नहीं है कि जॉय या किसी और की ओर से कोई प्रतिक्रिया दी गई है ... क्या आपने ओएस ओएस पोर्ट पर कोई प्रगति की है?
आइकोनोब्लास्ट

@ जॉनीउत्साह: वैसे, मैंने यह पाया: github.com/myint/etckeeper
iconoclast

@iconoclast मैंने OS X पोर्ट की ओर कोई काम नहीं किया है, या इस परियोजना पर कोई काम नहीं किया है। github.com/myint/etckeeper उपयोगी लगता है - धन्यवाद!
जॉनी उटाह

4

मैंने इस समस्या में खुदाई की और मैंने इसके लिए एक प्रोजेक्ट गिट-स्टोर-मेटा बनाने का फैसला किया ।

git-store-meta एक perl स्क्रिप्ट है जो git-cache-meta, metastore, setgitperms और mtimestore की अच्छी विशेषताओं को एकीकृत करती है। यह लचीलापन, कार्यक्षमता, प्रदर्शन और क्रॉस-प्लेटफॉर्म पोर्टेबिलिटी और स्थिरता का एक अच्छा समझौता करना चाहिए।


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

@ 'डैनी लिन', मैंने अपने संबंधित, स्टैक्वेटफ्लो प्रश्न पर गिट-स्टोर-मेटा का संदर्भ दिया है ।
जॉनी उटाह

मेरा नज़रिया: यह समाधान (गिट-स्टोर-मेटा) दुरुपयोग करने वाले एटिट्यूड से बेहतर है।
गुएटली

अपडेट: मैंने अभी गिट-स्टोर-मेटा पर README.md को देखा , और यह बहुत अच्छा लग रहा है । मैं मुझे या मेरी टीम में से एक के लिए fwd लग रहा है यह अगले मौका हम कोशिश करते हैं।
जॉनी उटाह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.