PL:Instrukcja posługiwania się Darcs

From PsiWiki

Contents

Wstęp

Logo Darcs

W maju 2005 roku Psi zmieniło system zarządzania wersjami kodu z CVS na Darcs (w listopadzie 2006 ponownie uległ on zmianie na Subversion, do wydania finalnej wersji Psi-0.11, czyli do października 2007, można było nadal korzystać z repozytoriów Darcs). Ten artykuł opisuje jak korzystać z Darcsa na potrzeby Psi.

Więcej informacji o Darcsie można znaleźć w podręczniku Darcsa lub Darcs Wiki.

Przeglądanie repozytorium

Repozytoria Psi (czasami jest więcej niż jedno) są dostępne do przeglądania poprzez interfejs web.

Pobieranie źródeł z repozytorium

Aby pobrać główną gałąź rozwojową Psi, wystarczy ściągnąć źródła Psi przy użyciu polecenia

darcs get --partial --set-scripts-executable http://dev.psi-im.org/darcs/psi
  • Przełącznik --partial mówi Darcsowi, aby pobrać wyłącznie łatki od ostatniego wydania. Jeśli chcesz pobrać wszystkie łatki, pomiń ten przełącznik.
  • Przełącznik --set-scripts-executable mówi Darcsowi, by skrypty configure, configure-jingle oraz qcextra zostały oznaczone jako pliki wykonywalne (jest to wymagane wyłącznie w systemach uniksowych). Dla łatwości użycia, można zapisać ten parametr w pliku konfiguracyjnym ~/.darcs/defaults:
get set-scripts-executable

Teraz masz swoją własną (lokalną) gałąź Psi, którą możesz swobodnie modyfikować. Wszystkie zmiany możesz zapamiętać przy użyciu polecenia:

darcs record

Jeśli jesteś znawcą lub maniakiem CVS, to najbliższym odpowiednikiem tego polecenia jest:

cvs commit

Pobieranie łatek

Gdy już masz własną (lokalną) gałąź Psi i chcesz ją uaktualnić łatkami z głównej gałęzi rozwojowej Psi, wystarczy pobrać je z głównego repozytorium:

darcs pull http://dev.psi-im.org/darcs/psi

To polecenie będzie pytać Cię o potwierdzenie pobrania każdej z łatek i uaktualnienia nią lokalnej gałęzi Psi. Jeśli ostatnia operacja pull lub get była wykonana z tego repozytorium, można pominąć adres repozytorium:

darcs pull

To polecenie pobierze łatki z ostatnio użytego repozytorium.

Kontynuując porównania z CVSem, to jest to zbliżone do:

cvs up

Oczywiście możesz pobrać również łatki z innych repozytoriów, po prostu zmieniając adres repozytorium. Dzięki temu możesz łączyć łatki z wielu różnych źródeł, co nie jest możliwe przy korzystaniu z CVSa, w którym jesteś przywiązany do pojedynczego repozytorium.

Wysyłanie łatek

Jeśli chcesz wysłać łatki zapisane na podstawie zmian w Twoim lokalnej gałęzi Psi, skorzystaj z polecenia send aby zrobić paczkę z łatką (ang. patch bundle) i wysłać ją do Programistów Psi:

darcs send http://dev.psi-im.org/darcs/psi

Polecenie to pozwoli Ci przejrzeć zmiany dokonane na lokalnym drzewie, dołączyć je do łatki, którą chcesz stworzyć a potem wysłać emailem pod właściwy adres. Warto tu zauważyć, że dzięki temu, w przeciwieństwie do CVSa, nie potrzebne jest prawo wykonania polecenia

cvs commit

na zdalnym serwerze by móc nadsyłać własne łatki. Programiści Psi mają specjalną listę mailingową, na którą docierają wszystkie tak nadesłane łatki. Każdy z programistów może przejrzeć łatkę i zadecydować o włączeniu jej do głównej gałęzi rozwojowej Psi.

Zobacz również:

Jeśli z jakichkolwiek powodów Darcs nie będzie w stanie samodzielnie wysłać maila z łatką, możesz stworzyć plik z łatką i wysłać ją ręcznie:

darcs send -o moja_łatka http://dev.psi-im.org/darcs/psi

Polecenie to utworzy plik o nazwie moja_łatka, który należy dołączyć do takiego maila.

Kev przedstawia przykład z życia wzięty

Pewnego dnia szukałem jakiegoś błędu w Psi. Oto historia opisująca jak wykorzystałem Darcsa by sobie ułatwić życie.

Jakiś czas temu pobrałem całą gałąź rozwojową Psi przy użyciu polecenia:

darcs pull http://dev.psi-im.org/darcs/psi

Ponieważ nie zmieniałem swojej lokalnej gałęzi, uaktualniłem ją najnowszymi łatkami z gałęzi rozwojowej:

darcs pull

Mając bieżącą wersję na dysku, dodałem mnóstwo kodu debugowego, zapisując stan źródeł przy użyciu polecenia:

darcs record

Po kolejnych zmianach, udało mi się zlokalizować błąd. Po poprawieniu błędu, ponownie wykonałem polecenie:

darcs record

Teraz potrzebowałem nanieść poprawkę błędu do gałęzi rozwojowej. Dzięki stosowaniu Darcsa, a nie CVSa, mogłem stworzyć łatkę wyłącznie z poprawką, bez kodu debugowego. Polecenie:

darcs push nazwa_katalogu_w_którym_można_pisać

zapytało mnie o każdą zmianę kodu i czy chcę ją umieścić w tworzonej łatce. Powiedziałem nie całemu kodowi debugowemu, natomiast tak samej poprawce.

Mam nadzieję, że ten przykład przekonał Was do faktu, że Darcs jest milszy w użyciu niż CVS. Tak przy okazji powstało małe, pięciolinijkowe HowTo.