2009-12-26 5 views
62

मेरे पास एक निजी प्रोजेक्ट के लिए एक मर्कुरियल रिपोजिटरी है, और मैं कुछ हफ्तों के लिए अपने ड्रॉपबॉक्स में मास्टर रिपोजिटरी संग्रहीत कर रहा हूं (this line के साथ कुछ; और मुझे लगता है कि यह possible with git भी है)।ड्रॉपबॉक्स के साथ Mercurial (और, मुझे गिट लगता है): कोई कमी?

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

क्या आप समर्पण होस्टिंग (मर्कुरियल के मामले में बिटबकेट) का उपयोग करने की तुलना में इस विचार में किसी भी कमी के बारे में सोच सकते हैं? मुझे पता है कि बिटबकेट के पास एकल उपयोगकर्ताओं के लिए मुफ्त खाते हैं, जो कि बहुत अच्छा है, लेकिन वे 150 एम तक सीमित हैं, जो नहीं है।

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

संपादित करें: मैंने प्रश्नों में कुछ स्पष्टीकरण जोड़े हैं। वे इटालिक्स में हैं।

+2

आप बिटबकेट का उपयोग क्यों नहीं करेंगे? :/ –

+0

ड्रॉपबॉक्स पर धक्का देने से पहले, ड्रॉपबॉक्स को * रोकें * को रोकें *। फिर धक्का। * सिंक्रनाइज़ेशन फिर से शुरू करें *, सटीक समय को नोट करें ताकि आप कुछ खराब होने पर ड्रॉपबॉक्स वेबसाइट में परिवर्तनों का बैच पा सकें और आप परिवर्तनों को वापस करना चाहते हैं। कई धक्का देने के बाद, रिपो न्यूनतम में फ़ाइलों की संख्या रखने के लिए 'git gc' करें। –

+5

यहां एक नोट के रूप में बिटबकेट के पास अपने निजी प्रतिनिधि पर 150 एमबी सीमा नहीं है। सीमा अब 5 डेवलपर्स है जो रेपो तक पहुंच सकते हैं। –

उत्तर

73

मैं ऊपर बताए गए कारणों के लिए इसके खिलाफ सलाह दूंगा, लेकिन अधिक दृढ़ता से कहा गया है। भंडारों के बीच परिवर्तनों को स्थानांतरित करने के लिए दोनों Mercurial और गिट के अपने प्रोटोकॉल हैं। इन प्रोटोकॉल अनुकूलित/के लिए निर्माण कर रहे हैं:

  • दक्षता
  • स्थिरता (कभी आप एक आधा अद्यतन राज्य में एक रेपो से खींच सकते हैं)
  • हुक/चलाता है - धक्का पर काम करने/गुणवत्ता सहित खींच (कोई टैब, अनुमति आदि) फिल्टर

जब आप सिर्फ एक निर्देशिका सिंक .hg की कीपिंग संभालने दें (या .git) सिंक में निर्देशिका तो है कि सिंक के दौरान आप किसी दूरस्थ दुकान में है कि मिल गया है एक असंगत राज्य और यह नहीं जानता है।

इसके अतिरिक्त दोनों एचजी और गिट में स्थानीय-केवल क्या है और उनकी डिस्क स्थिति में रिमोट-ठीक क्या है, इसका अलगाव है। वे जानते हैं कि कौन सी जानकारी साझा करना है (उदाहरण: परिवर्तनित परिवर्तन) और क्या नहीं (उदाहरण: वर्तमान, स्थानीय कार्य निर्देशिका अभिभावक संशोधन)।

अन्य उत्तरों में लोग कह रहे हैं "आप शायद ठीक हो जाएंगे" या "मुझे कोई समस्या नहीं है" और यह संभव है, लेकिन यह सच नहीं है, और संशोधन नियंत्रण खेलने के लिए एक जगह नहीं है बाधाओं। अपने स्रोत नियंत्रण प्रणाली के लिए उचित, बेहतर, सुरक्षित, अधिक कुशल, अधिक पूर्ण विशेषीकृत सिंक्रनाइज़ेशन प्रोटोकॉल का उपयोग करें।

2

यदि आप सिंक के बीच में भंडार तक पहुंचने का प्रयास करते हैं तो मैं समस्याओं की अपेक्षा करता हूं। यह ओवरहेड का थोड़ा सा प्रतीत होता है। आपको सिंक की गई सामग्री को सिंक करने की ज़रूरत नहीं है। मुझे नहीं पता कि ड्रॉपबॉक्स कैसे संघर्ष करता है, लेकिन मुझे संदेह है कि यह इसे एक स्किम-जागरूक तरीके से कर सकता है।

10

मुझे लगता है कि शायद एक या दो मशीनों पर निजी परियोजनाओं के लिए ठीक काम करेगा, लेकिन वास्तव में आप बहु सदस्य परियोजनाओं के लिए पेशेवर होस्टिंग का उपयोग करना चाहते हैं।

मैंने व्यक्तिगत रूप से कुछ समय के लिए बिटबकेट का उपयोग किया है और बहुत खुश हूं ... आप भी मुफ्त खाते पर एक निजी परियोजना कर सकते हैं।

+4

2012-01-13 तक आप Bitbucket.org पर असीमित निजी परियोजनाएं कर सकते हैं लेकिन आपके पूरे खाते के लिए केवल 5 कम्यूटर्स हैं। तो जब तक आपकी टीम 6 लोगों से बड़ी न हो, तब तक आप जाने के लिए अच्छे हैं। – sholsinger

2

बिटबकेट के लिए +1। यह मुफ़्त है, और आपको उस मुफ्त खाते (जिथब के विपरीत) के साथ एक निजी रिपो मिलता है।

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

आप उन परिवर्तनों को प्रकाशित करने के साथ अपने भंडार में परिवर्तन करने को रद्द करने की क्षमता खो देते हैं।

मैं अपने घर और काम मशीनों दोनों पर उपयोग की जाने वाली कुछ रिपॉजिटरीज़ होस्ट करने के लिए ड्रॉपबॉक्स का उपयोग करता हूं, लेकिन वे उन रिपॉजिटरीज़ की एकमात्र प्रतियां नहीं हैं। एक बिटबकेट रेपो भी है (साथ ही साथ अन्य लोगों के जिनके क्लोन हैं)।

+1

विचार ड्रॉपबॉक्स कॉपी को "मास्टर" के रूप में उपयोग करना और वास्तव में स्थानीय क्लोन के साथ काम करना है। तो ड्रॉपबॉक्स एकमात्र प्रति नहीं है। शायद मुझे इसे प्रश्न में संपादित करना चाहिए। – daphshez

+0

यदि ड्रॉपबॉक्स के बाहर कम से कम एक क्लोन/प्रतिलिपि है, तो इसे ठीक काम करना चाहिए। मैं कुछ व्यक्तिगत नोट्स रिपोज़ के साथ यह सटीक चीज करता हूं जो ड्रॉपबॉक्स के बाहर रात में बैक अप लेता है। –

1

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

मध्य-सिंक को धक्का देने/खींचने के लिए, यह संभवतः समस्याएं पैदा करेगा, और यह आपके रेपो को भी दूषित कर सकता है, लेकिन यदि आप प्रोजेक्ट पर काम करने वाले अकेले हैं, तो आपको पता है कि ड्रॉपबॉक्स कब सिंक होगा।

+0

मुझे लगता है कि आप केवल अपने स्थानीय भंडार को किस गिट को समझते हैं और खींचते हैं, कि ड्रॉपबॉक्स का उपयोग करते समय "रिमोट" सही की धारणा की आवश्यकता नहीं है? – johnbakers

+0

यह अच्छा लग रहा है। मैं यह देखने की कोशिश करूंगा कि क्या ड्रॉपबॉक्स को प्रोग्रामेटिक रूप से रोकना/शुरू करना संभव होगा, फिर पूरी चीज़ को दैनिक क्रोंटैब स्क्रिप्ट में लपेटें। –

15

मुझे अपने ड्रॉपबॉक्स के भंडार दूषित होने में समस्याएं आई हैं। यह हर समय नहीं होता है, लेकिन तथ्य यह है कि यह एक से अधिक बार हुआ है इसका मतलब है कि मैं इस उद्देश्य के लिए ड्रॉपबॉक्स का उपयोग करना बंद कर रहा हूं।

यह कहा गया है कि ड्रॉपबॉक्स निश्चित रूप से वास्तविक होस्टिंग प्राप्त करने से सस्ता है, इसलिए जब तक आप बैकअप रखते हैं, तो आप इसे निजी परियोजनाओं के लिए स्वीकार्य पाते हैं।

+3

+1 ड्रॉपबॉक्स को उलझन में लग रहा है जब बहुत सी फाइलें थोड़ी देर में बनाई जाती हैं और हटा दी जाती हैं, उदाहरण के लिए लॉक फाइलें। –

1

मैं Mercurial के साथ ड्रॉपबॉक्स का उपयोग करने की अनुशंसा नहीं करता, क्योंकि मैं अक्सर अपने मैक और विंडोज क्लाइंट के बीच विवादित फ़ाइलों को देखता हूं। विशेष रूप से पूर्ववत प्रभावित होता है, लेकिन मैंने अन्य फ़ाइलों के साथ संघर्ष का अनुभव भी किया।

सादर मिरको

0

मैं 3 मशीनों के लिए इस समय यह उपयोग कर रहा हूँ बाज़ार के साथ। हालांकि, मैं किसी भी शाखा में अकेला डेवलपर हूं।

मैंने भंडार बनाने के लिए init-repo --no-trees कमांड का उपयोग किया।

2

मैं अभी तक समस्या का सामना किए बिना एचजी के साथ ड्रॉपबॉक्स का उपयोग कर रहा हूं। बहुत देर हो चुकी है मुझे एहसास हुआ कि एचजी नियमित जांच के दौरान भ्रष्टाचार की रिपोर्ट नहीं करता है, केवल तभी जब आप वास्तविक के लिए रेपो का उपयोग करने का प्रयास करते हैं (सभी परिस्थितियों में सबसे खराब, क्योंकि जब तक आपको वास्तव में इसकी आवश्यकता नहीं होती है तब तक आप कुछ तोड़ नहीं पाते हैं)।

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

यदि आप खतरनाक रूप से रहने का फैसला करते हैं, तो "एचजी सत्यापित करें" (या "गिट सत्यापित करें" नियमित रूप से किसी भी गंदगी को चालू करने के लिए चलाएं।

मेरे स्थानीय कोड फ़ोल्डर c:\code & बैकअप फ़ोल्डर c:\Dropbox है:

0

जो लोग bitbucket/GitHub से अधिक ड्रॉपबॉक्स का उपयोग करना पसंद के लिए, यहाँ है कि मैं क्या बादल बैकअप सेवाओं के 2-तरफा सिंक प्रक्रिया से भ्रष्टाचार से बचने के लिए करते हैं । ड्रॉपबॉक्स फ़ोल्डर के अंदर, मेरे पास truecrypt एन्क्रिप्टेड फ़ाइल कंटेनर है (यह आकार मेरे कोड फ़ोल्डर से काफी बड़ा है)। दिन के दौरान मैं नियमित रूप से अपने स्थानीय गिट/मर्कुरियल भंडार में परिवर्तन करता हूं। हालांकि दिन के अंत में, मैंने ड्रॉपबॉक्स & को सत्यक्रिप्ट फ़ाइल कंटेनर माउंट छोड़ दिया। मैं फ़ाइल कंटेनर में एक नंगे भंडार में परिवर्तन को धक्का देता हूं, इसे & पुन: प्रारंभ करें ड्रॉपबॉक्स को अनमाउंट करें।

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

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