Magit толкает / тянет показывать прогресс

14

Мне не хватает визуальной индикации прогресса push / pull. После выполнения соответствующей команды magitпечатает

Нажав на домен.tld: repo.git

однако, никаких дальнейших указаний на прогресс не дается. При медленном сетевом соединении или если magitобъем передаваемых данных велик, процесс может занять довольно много времени, поэтому было бы неплохо, если бы можно было дать некоторое представление о прогрессе.

Естественно, *magit-process*буфер содержит gitсобственную индикацию хода выполнения, но как вы скажете magitпропустить соответствующую часть в эхо-область?

Еще лучше было бы, если бы индикатор прогресса был добавлен в строку режима, что позволило бы пользователю закрыть magit-statusбуфер и продолжить работу, пока gitон выполняет тяжелую работу.

Изменить: я не ищу индикацию, которая magitтолкает / тянет, я знаю это, потому что я просто нажал P/ F. Я хочу увидеть, на какой стадии «толкать / вытягивать» это (то есть (не) упаковывать, передавать) и сколько из этого действия он уже совершил.

Помните, что если вы запустите gitтерминал, он напечатает что-то вроде

Нажав на domain.tld: repo.git
Подсчет объектов: 29, сделано.
Письменные объекты: 100% (15/15), 249,80 КиБ | 28,00 КиБ / с, готово.
Всего 15 (дельта 10), повторно используется 0 (дельта 0)
Для domain.tld: repo.git
5436bd0..d9ec32a master -> master
обновление локального отслеживания ref 'refs / remotes / origin / master'

[очевидно, это снимок динамического вывода]. Я бы хотел, чтобы этот прогресс отображался в emacs.

Edit2: открыт запрос функции на github

elemakil
источник

Ответы:

7

Эта особенность существует вечно. Но я должен признать, что я никогда не замечал этого, и знаю об этом только потому, что наткнулся на реализацию :-)

Когда асинхронный процесс запущен, вы увидите, например, Magit git updateвместо Magitстроки режима.

Tarsius
источник
Я вижу, что не достаточно ясно выразил, что я ищу. Пожалуйста, прочитайте изменения, которые я добавил к своему сообщению.
elemakil
Понимаю. Могу я спросить, зачем вам знать, на каком этапе находится команда?
Tarsius
3
Пожалуйста, откройте запрос функции.
Tarsius
4
Обратите внимание, что я решил не реализовывать запрошенную функцию.
tarsius
0

Хотя все еще не индикатор прогресса, следующие улучшения в Magit 2.12 актуальны:

  • Индикатор процесса строки режима, отображаемый в строке режима при запуске Git для побочных эффектов, теперь более заметен, чем раньше, и дополнительно используется для выделения ошибок процесса.

    Новая грань magit-mode-line-processприменяется к индикатору процесса строки режима для улучшения видимости ожидающих асинхронных процессов (в частности), поскольку Magit остается отзывчивым после запуска таких команд (например, выборки или перебазировки), но не будет обновлять свои буферы, пока процесс не завершится , что может занять больше времени, чем ожидалось. Настройте это лицо, если вы хотите, чтобы этот индикатор был более (или менее) видимым. # 3284

    Если процесс Git возвращает ошибку, индикатор процесса строки режима больше не удаляется, и magit-mode-line-process-error применяется новое лицо для выделения состояния ошибки. Подробная информация об ошибке из буфера процесса также предоставляется в виде всплывающей подсказки. Индикатор ошибки будет оставаться видимым в строке режима, пока магнитный буфер не будет обновлен. Если вы не хотите, чтобы ошибки отображались в строке режима, настройте параметр magit-process-display-mode-line-errorпользователя. # 3297

M-x customize-face RET magit-mode-line-process RET

Если вы придадите этому лицу высококонтрастный цвет переднего плана, вы обязательно заметите, что процесс мерзавца занимает много времени.

Phils
источник