मैं एक गिट भंडार के एक डार्क्स दर्पण स्थापित करने की कोशिश कर रहा हूँ। मेरे पास कुछ ऐसा है जो ठीक काम करता है, लेकिन एक महत्वपूर्ण समस्या है: यदि मैं गिट रेपो में काम करने का पूरा समूह दबाता हूं, तो वे एक ही डार्क्स पैचसेट में विलय हो जाते हैं। मैं वास्तव में यह सुनिश्चित करना चाहता हूं कि प्रत्येक गिट प्रतिबद्ध एक एकल डार्क्स पैचसेट के रूप में स्थापित हो जाए। मैं शर्त लगाता हूं कि किसी प्रकार का git fetch
कर रिमोट शाखा की स्थानीय प्रति पूछताछ के बाद संभव है, लेकिन मेरा गिट फू नौकरी पर नहीं है।दूरस्थ गिट भंडार से एक समय में एक प्रतिबद्धता को कैसे खींचें?
यहाँ मैं अब उपयोग कर रहा हूँ (ksh) कोड है, और अधिक या कम:
git pull -v # pulls all the commits from remote --- bad!
# gets information about only the last commit pulled -- bad!
author="$(git log HEAD^..HEAD --pretty=format:"%an <%ae>")"
logfile=$(mktemp)
git log HEAD^..HEAD --pretty=format:"%s%n%b%n" > $logfile
# add all new files to darcs and record a patchset. this part is OK
darcs add -q --umask=0002 -r .
darcs record -a -A "$author" --logfile="$logfile"
darcs push -a
rm -f $logfile
मेरा विचार
- है
git fetch
प्रयास करें दूरस्थ शाखा के स्थानीय प्रतिलिपि प्राप्त करने के लिए (यकीन है कि वास्तव में नहीं क्या तर्क की आवश्यकता है) - किसी भी तरह से स्थानीय प्रतिलिपि को अंतिम मिररिंग ऑपरेशन के बाद से प्रत्येक प्रतिबद्धता के लिए हैश प्राप्त करने के लिए पूछताछ करें (मुझे नहीं पता कि यह कैसे करना है)
- सभी हैश, खींच सिर्फ इतना है कि प्रतिबद्ध और संबद्ध पेचसेट रिकॉर्डिंग के माध्यम से लूप (मैं यकीन है कि मैं जानता हूँ कि यह कैसे करना है अगर मैं हैश पर मेरे हाथ पाने हूँ)
मैं या तो मदद Fleshing का स्वागत करता हूँ से ऊपर के परिदृश्य को बाहर या के बारे में सुझाव कुछ और मुझे कोशिश करनी चाहिए।
विचार?
बस एक अनुस्मारक के रूप में, नीचे कुछ नए उत्तर दिए गए हैं जिन पर आपने टिप्पणी नहीं की है। (जाहिर है उनमें से एक मुझे लगता है कि वास्तव में आपके प्रश्न का विशेष रूप से अच्छा जवाब है;)) –