PL:Instrukcja posługiwania się Darcs
From PsiWiki
Contents |
Wstęp
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.


