Git
लाइब्रेरी सभी आदेशों के लिए 2>&1
जोड़ती है। तो आपके क्लोन कमांड को निष्पादित किया जा रहा है जैसे:
git clone ... 2>&1
जो सभी आउटपुट को दबाकर समाप्त होता है। आपको केवल Git::Lib
में run_command
नामक एक विधि को ओवरराइड करना है, और 2>&1
को हटा दें। आप irb
में यह कोशिश कर सकते हैं:
class Git::Lib
class << self
attr_accessor :verbose
end
def run_command(git_cmd, &block)
git_cmd = git_cmd.gsub("2>&1", "").chomp if self.class.verbose
if block_given?
IO.popen(git_cmd, &block)
else
`#{git_cmd}`.chomp
end
end
end
मैं एक अतिरिक्त verbose
विशेषता परिभाषित किया है। इसलिए जब भी आपको वास्तविक गिट आउटपुट की आवश्यकता होती है, तो बस Git::Lib.verbose = true
सेट करें और Git.clone
या कोई अन्य आदेश चलाएं, और वास्तविक आउटपुट मुद्रित किए जाएंगे।
Cloning into 'rapidftr-addon-cpims'...
remote: Counting objects: 207, done.
remote: Compressing objects: 100% (108/108), done.
remote: Total 207 (delta 95), reused 201 (delta 90)
Receiving objects: 50% (105/207), 83.10 KiB | 112 KiB/s...
# ^^ The above line is git's progress bar, it will keep updating
यह विशिष्ट प्रारूप है कि आप की उम्मीद में प्रगति बार नहीं दिखा सकता है: एक बार आप Git::Lib.verbose = true
सेट और फिर Git.clone
फोन
, क्या यह कर देगा है, तो वह ऐसा Git प्रगति बार प्रदर्शित करेगा , लेकिन यह अभी भी गतिशील अपडेट दिखाएगा क्योंकि डाउनलोड होता है।
संपादित करें: जोड़ा गया नमूना आउटपुट
हम्म, ठीक है तो अगर मैं माणिक Git मणि का उपयोग करें और मैं सामान्य 'Git क्लोन Git का उपयोग के बारे में भूल: // github.com/ankit8898/rubymotion-inspect.git'। मैं अभी भी क्लोन की प्रगति पट्टी कैसे पा सकता हूं। रूबी-गिट मणि या सरल गिट क्लोन का उपयोग कर प्रगति पट्टी को पकड़ने का मेरा मुख्य उद्देश्य। – AnkitG
इस शेल कमांड के आउटपुट को पढ़ने और व्याख्या करने का प्रयास करें। शायद आप भाग्यशाली हो जाएगा। –
अच्छी तरह से, यह एक बैकअप योजना है। :) लेकिन अभी भी प्रगति पट्टी के साथ गिट क्लोन का उपयोग करने का कोई और तरीका नहीं है। चूंकि मुझे गिट क्लोन के साथ वास्तव में प्रगति पट्टी देखने में दिलचस्पी है। – AnkitG