Magit pchanie / ciągnięcie pokazuje postęp

14

Brakuje mi jakiegoś wizualnego wskazania postępu push / pull. Po wykonaniu odpowiedniej komendy magitdrukuje

Przekazywanie do domain.tld: repo.git

nie podano jednak żadnych dalszych informacji o postępach. W przypadku powolnego połączenia sieciowego lub jeśli dane, które mają być przesyłane, są duże, proces ten może zająć trochę czasu, dlatego byłoby dobrze, gdyby magitmożna było wskazać postęp.

Oczywiście *magit-process*bufor zawiera gitwłasne wskazanie postępu, ale w jaki sposób magitprzekazać odpowiednią część do obszaru echa?

Jeszcze lepiej byłoby, gdyby wskaźnik postępu został dodany do linii trybu, umożliwiając w ten sposób zamknięcie magit-statusbufora i kontynuowanie pracy podczas gitciężkiego podnoszenia.

Edycja: Nie szukam wskazań, które magitpchają / ciągną, wiem to, ponieważ właśnie uderzyłem P/ F. Chcę zobaczyć, na którym etapie pchania / ciągnięcia to (tj. (Rozpakowywanie), przesyłanie) i jak wiele tego działania już wykonało.

Pamiętaj, że jeśli przejdziesz gitprzez terminal, wydrukuje coś podobnego

Przekazywanie do domain.tld: repo.git
Liczenie obiektów: 29, gotowe.
Pisanie przedmiotów: 100% (15/15), 249,80 KiB | 28,00 KiB / s, gotowe.
Razem 15 (delta 10), ponownie wykorzystane 0 (delta 0)
Do domain.tld: repo.git
5436bd0..d9ec32a master -> master
aktualizuje lokalne śledzenie ref 'refs / remotes / origin / master'

[oczywiście jest to migawka wyniku dynamicznego]. Chciałbym, aby ten postęp był wyświetlany z poziomu emacsa.

Edycja2: Otwarte żądanie funkcji w github

elemakil
źródło

Odpowiedzi:

7

Ta funkcja istnieje od zawsze. Ale muszę przyznać, że też tego nie zauważyłem i wiem o tym tylko dlatego, że natknąłem się na implementację :-)

Gdy uruchomiony jest proces asynchroniczny, zobaczysz np. Magit git updateZamiast tylko Magitw wierszu trybu.

Tarsjusz
źródło
Widzę, że nie wyraziłem wystarczająco jasno, czego szukam. Proszę przeczytać edycję, którą dodałem do mojego postu.
elemakil
Widzę. Czy mogę zapytać, dlaczego musisz wiedzieć, na jakim etapie jest to polecenie?
tarsjusz
3
Otwórz prośbę o dodanie funkcji.
tarsius
4
Pamiętaj, że zdecydowałem się nie wdrażać żądanej funkcji.
tarsjusz
0

Chociaż nadal nie jest wskaźnikiem postępu, istotne są następujące ulepszenia w Magit 2.12:

  • Wskaźnik procesu linii trybu, wyświetlany w linii trybu, gdy Git jest uruchamiany z powodu efektów ubocznych, jest teraz bardziej widoczny niż wcześniej i jest dodatkowo używany do podkreślania błędów procesu.

    Nowa twarz magit-mode-line-processjest stosowana do wskaźnika procesu linii trybu, aby poprawić widoczność oczekujących procesów asynchronicznych (w szczególności), ponieważ Magit pozostaje responsywny po zainicjowaniu takich poleceń (na przykład pobierania lub zmiany bazy), ale nie zaktualizuje swoich buforów, dopóki proces się nie zakończy , co może potrwać dłużej niż oczekiwano. Dostosuj tę twarz, jeśli chcesz, aby ten wskaźnik był bardziej (lub mniej) widoczny. # 3284

    Jeśli proces Git zwraca błąd, wskaźnik procesu linii trybu nie jest już usuwany, a nowa twarz magit-mode-line-process-error jest stosowana w celu podświetlenia statusu błędu. Szczegóły błędu z bufora procesu podano również jako podpowiedź. Wskaźnik błędu pozostanie widoczny w wierszu trybu do momentu odświeżenia bufora magit. Jeśli nie chcesz, aby błędy były wyświetlane w wierszu trybu, dostosuj magit-process-display-mode-line-erroropcję użytkownika. # 3297

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

Jeśli nadasz tej twarzy kontrastowy kolor pierwszego planu, z pewnością zauważysz, gdy proces git zajmuje dużo czasu.

phils
źródło