Die Bibliothek Git
fügt allen Befehlen 2>&1
hinzu. So wird Ihr Klonbefehl wie folgt ausgeführt:
Was endet die Unterdrückung aller Ausgabe. Alles, was Sie tun müssen, ist eine einzige Methode namens run_command
in Git::Lib
zu überschreiben, und entfernen Sie diese 2>&1
. Sie können versuchen, diese in 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
I definiert haben ein zusätzliches verbose
Attribut. Wann immer Sie also die tatsächlichen git-Ausgänge benötigen, setzen Sie einfach Git::Lib.verbose = true
und führen Sie Git.clone
oder einen anderen Befehl aus, und die tatsächlichen Ausgaben werden gedruckt.
Was wird dies zu tun ist, wenn Sie Git::Lib.verbose = true
gesetzt und dann Git.clone
nennen, wird es den git Fortschrittsbalken wie folgt angezeigt:
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
Es kann nicht den Fortschrittsbalken im bestimmten Format zeigen, die Sie erwarten , aber es werden immer noch dynamische Updates angezeigt, wenn der Download stattfindet.
Edit: Hinzugefügt Probe Ausgänge
hmm, okay so vergessen, wenn ich rubin git gem verwenden und ich verwende normalen 'git clone git: // github.com/ankit8898/rubymotion-inspect.git'. Wie kann ich immer noch die Fortschrittsleiste von Klon finden. Mein Hauptziel ist es, den Fortschrittsbalken entweder mit dem Ruby-Git-Juwel oder dem einfachen Git-Klon zu erfassen. – AnkitG
Versuchen Sie, die Ausgabe dieses Shell-Befehls zu lesen und zu interpretieren. Vielleicht wirst du Glück haben. –
Nun, das ist ein Backup-Plan. :) Aber noch gibt es keine andere Möglichkeit, Git-Klon mit Progressbar-Juwel zu verwenden. Da bin ich daran interessiert, die tatsächlich progressbar mit git clone zu sehen. – AnkitG