磁力推/拉演出进度


14

我缺少有关推/拉进度的视觉指示。执行适当的命令后,magit打印

推送到domain.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 KiB | 28.00 KiB / s,已完成。
总计15(增量10),重用0(增量0)
到domain.tld:repo.git
5436bd0..d9ec32a master-> master
更新本地跟踪参考'refs / remotes / origin / master'

[显然,这是动态输出的快照]。我希望从emacs中显示该进度。

Edit2:github上打开功能请求


Answers:


7

该功能一直存在。但是我不得不承认,我也从未注意到过,只是因为我偶然发现了实现才知道这一点:-)

当异步进程正在运行时,您将看到例如,Magit git update而不仅仅是Magit模式行。


我发现我没有清楚地表达自己的期望。请阅读我添加到帖子中的编辑内容。
elemakil

我知道了。请问为什么需要知道命令处于哪个阶段?
tarsius

3
请打开功能请求。
tarsius

4
请注意,我已决定不实施所请求的功能。
tarsius

0

虽然仍然不是进度指示器,但Magit 2.12中的以下增强功能是相关的:

  • 运行Git产生副作用时,模式行过程指示器显示在模式行中,现在比以前更明显,并且还用于突出显示过程错误。

    新面magit-mode-line-process被应用到模式行过程指示器,以改善待处理的异步过程(特别是)的可见性,因为Magit在启动此类命令(例如,获取或重新设置基准)后仍保持响应,但在过程完成之前不会更新其缓冲区,这可能需要比预期更长的时间。如果希望使该指示符更多(或更小)可见,请自定义此脸部。#3284

    如果Git进程返回错误,则不再删除模式行进程指示符,magit-mode-line-process-error 而是应用新面孔来突出显示错误状态。来自过程缓冲区的错误的详细信息也作为工具提示提供。错误指示器将在模式行中保持可见,直到刷新magit缓冲区为止。如果您不希望在模式行中指示错误,请自定义magit-process-display-mode-line-error用户选项。#3297

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

如果您给此脸部添加高对比度的前景色,则一定会在git过程需要很长时间才能完成时注意到这一点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.