Magit empujando / tirando muestra el progreso

14

Me falta alguna indicación visual del progreso de empujar / tirar. Después de ejecutar el comando apropiado, magitimprime

Empujando a domain.tld: repo.git

sin embargo, no se dan más indicaciones del progreso. En una conexión de red lenta o si los datos a transmitir son grandes, el proceso puede llevar bastante tiempo, por lo tanto, sería bueno si magitpudiera dar alguna indicación de progreso.

Naturalmente, el *magit-process*búfer contiene gitla propia indicación de progreso, pero ¿cómo le dice magitque pase la parte relevante al área de eco?

Aún mejor sería si el indicador de progreso se agrega a la línea de modo, lo que permite al usuario cerrar el magit-statusbúfer y continuar trabajando mientras gitrealiza el trabajo pesado.

Editar: no estoy buscando indicación de que magitesté empujando / tirando, lo sé porque solo golpeé P/ F. Quiero ver en qué etapa de empujar / tirar está (es decir, (des) empacar, transmitir) y cuánto de esa acción ya lo hizo.

Recuerde, si gitpasa por la terminal, imprimirá algo como

Empujando a domain.tld: repo.git
Contando objetos: 29, hecho.
Escribir objetos: 100% (15/15), 249.80 KiB | 28.00 KiB / s, hecho.
Total 15 (delta 10), reutilizado 0 (delta 0)
Al dominio.tld: repo.git
5436bd0..d9ec32a maestro -> maestro que
actualiza la referencia de seguimiento local 'refs / remotes / origin / master'

[Obviamente, esta es una instantánea de la salida dinámica]. Me gustaría que ese progreso se muestre desde emacs.

Edit2: solicitud de función abierta en github

elemakil
fuente

Respuestas:

7

Esa característica ha existido para siempre. Pero tengo que admitir que nunca me di cuenta de eso tampoco, y solo lo sé porque me topé con la implementación :-)

Cuando se ejecuta un proceso asincrónico, verá, por ejemplo, en Magit git updatelugar de solo Magiten la línea de modo.

tarsius
fuente
Veo que no expresé lo suficientemente claro lo que estoy buscando. Lea la edición que agregué a mi publicación.
elemakil
Veo. ¿Puedo preguntar por qué necesita saber en qué etapa se encuentra el comando?
tarsius
3
Abra una solicitud de función.
tarsius
44
Tenga en cuenta que he decidido no implementar la función solicitada.
tarsius
0

Aunque todavía no es un indicador de progreso, las siguientes mejoras en Magit 2.12 son relevantes:

  • El indicador de proceso de la línea de modo, que se muestra en la línea de modo cuando se ejecuta Git para efectos secundarios, ahora es más visible que antes, y se usa adicionalmente para resaltar los errores del proceso.

    magit-mode-line-processSe aplica una nueva cara al indicador de proceso de línea de modo para mejorar la visibilidad de los procesos asincrónicos pendientes (en particular), ya que Magit sigue respondiendo después de iniciar dichos comandos (por ejemplo, buscar o rebasar), pero no actualizará sus memorias intermedias hasta que el proceso se haya completado , que puede llevar más tiempo de lo previsto. Personalice esta cara si desea que este indicador sea más (o menos) visible. # 3284

    Si el proceso Git devuelve un error, el indicador de proceso de línea de modo ya no se elimina y magit-mode-line-process-error se aplica una nueva cara para resaltar el estado del error. Los detalles del error del búfer de proceso también se proporcionan como información sobre herramientas. El indicador de error permanecerá visible en la línea de modo hasta que se actualice un búfer magit. Si no desea que se indiquen errores en la línea de modo, personalice la magit-process-display-mode-line-erroropción de usuario. # 3297

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

Si le da a esta cara un color de primer plano de alto contraste, seguramente notará cada vez que un proceso de git tarda mucho en completarse.

phils
fuente