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