जिस प्लगइन को आप करना चाहते हैं उसे क्लाइंट साइड पर होना होगा (जाहिर है अगर आप होस्टेड रिपोजिटरी तक पहुंच रखने वाले लोगों पर भरोसा नहीं करते हैं)। कोई भी मजबूत क्रिप्टोग्राफिक एल्गोरिदम आउटपुट में बहुत ही समान इनपुट (उनके उच्च एन्ट्रॉपी के कारण) से बड़ी विविधता उत्पन्न करता है।
इसका मतलब है कि भले ही आप एक समाधान होगा:
- यह प्रदर्शन के मामले में एक आपदा है, दोनों गणना समय और भंडारण स्थान की आवश्यकताओं और नेटवर्क बैंडविड्थ उपयोग होगा, और
- सुविधा में एक आपदा हानि: उदाहरण के लिए सर्वर साइड डिफ को तोड़ा जाएगा, आपको क्लाइंट साइड पर पूरी तरह से डिक्रिप्ट की गई फ़ाइलों पर सभी परिचालन करना होगा।
कमज़ोर एन्क्रिप्शन (उदाहरण के लिए चारसेट, कि diffs फिर से प्रयोग करने योग्य बनाना होगा mangling) विशेष रूप से स्रोत कोड, साथ सुरक्षित नहीं है जहां ब्रेसिज़ और कोष्ठक और वहाँ लूप और किसी भी अन्य पत्र बहुत जल्दी डीकोड किया जा सकता से।
मुझे उम्मीद है कि यह साबित करता है कि इस तरह से चलना किसी भी संभावित व्यावहारिक समाधान की ओर अग्रसर नहीं है। हो सकता है कि मुझसे कुछ छूट रहा हो। मैं अपने जवाब पर दिलचस्प टिप्पणियां पढ़ने की उम्मीद कर रहा हूं! :-)
यह संभव (कैसे वे आंतरिक रूप से काम के आधार पर, कुछ संशोधन नियंत्रण सिस्टम पर) होना चाहिए: संशोधन हैं नियंत्रण प्रणाली डेलटास (संशोधन नहीं) स्टोर करती है, और आपको यह नहीं लगता कि कितने संशोधन हैं। फिर आप डेल्टा एन्क्रिप्ट कर सकते हैं, और फिर उन्हें एक और भंडार में जांच सकते हैं। अब मैं कुंजी के बिना इतिहास (नीति के आधार पर चेकइन टिप्पणियां) देख सकता हूं। लेकिन आपको और कुछ देखने की कुंजी चाहिए। डिफ ठीक काम करेंगे, और रिपोजिटरी आकार पर प्रतिकूल प्रभाव नहीं पड़ेगा, क्योंकि रिपोजिटरी संपीड़न अभी भी काम करता है क्योंकि इसे एन्क्रिप्शन से पहले स्थानीय रूप से किया जाता है। –