Terminal pogryzł człowieka: grv
Cóż może być bardziej fascynującego niż przeglądanie w terminalu zawartości repozytorium Git. Doznania jednak są wprost proporcjonalne do poziomi opanowania przez nas komendy git. A co by było, gdyby tak owo przeglądanie przenieść poziom wyżej? Za pomocą grv?
Grv to prawdziwy majsterszyk. To pozornie niepozorne polecenie tekstowe zapewnia wyśmienite standardy przeglądania, poszukiwania i porównywania tego co tkwi w lokalnym (sklonowanym) repozytorium Git. Tekstowy interfejs zbudowany z wykorzystaniem ncursesw nie dość, że efektownie prezentuje nam gałęzie, tagi i zgłoszenia, to pozwala się niemal dowolnie modyfikować. Standardowo ekran jest podzielony na trzy okna – z gałęziami i tagami, kolejne ze zmianami i trzecie z różnicami (co poprawia zmiana). Ale jak przeczytamy sobie w dokumentacji to nie jest kres ustawień wyglądu. Okna można przemieszczać, zmieniać wymiary, tematy graficzne (sic!) i tak dalej – wszystko za sprawą kilku poleceń które można wydawać po znaku : (Znamy? Znamy).
W natłoku wszystkich tych skrótów klawiszowych, opcji i komend rodzi się jedno i podstawowe pytanie. Co tak naprawdę potrafi grv? Odpowiedź jest prosta. Program jest przeglądarką zmian i historii zmian w repozytorium i gałęziach. Zatem w atrakcyjny sposób podejrzymy i tylko podejrzymy co się zmieniało na przestrzeni rozwoju kodu w repozytorium. Pewnym mankamentem jest też praca tylko na lokalnych repozytoriach (a zatem wcześniej sklonowanych i zaktualizowanych). Niemniej, grv potrafi dostarczyć wiele radości a jego umiejętności filtrowania i wyszukiwania zaspokoi najbardziej wysublimowane potrzeby.
Jak zainstalować grv? To dość podchwytliwa kwestia, gdyż na Githubie – i owszem – znajdziemy źródła. Ale ponieważ program jest popełniony w Go nikt nie zdobył się na to, aby go skompilować i umieścić w ogólnym repozytorium. Z opcji „na szybko” mamy pobranie przygotowanej przez autora binarki i uruchamianie jej lokalnie. Po wcześniejszym nadaniu praw do wykonywania.
Aby program wyświetlił nam cokolwiek, musimy się znajdować albo w katalogu z repozytorium i stamtąd wywoływać grv, albo podając mu parametr -repoFilePath /ścieżka/do/repozytorium.