== Co jest co == SVN = Subversion = narzędzie do przechowywania plików wraz z historią zmian. Trac = aplikacja przeglądarkowa, stanowiąca połączenie Wiki, widoku na SVN i ticketów. Ticket = zgłoszony błąd lub pomysł, np. jhusak zgłosił [ticket:1 tutaj] pomysł wrzucenia ASMA, a ja to zrobiłem. == Język == Zaczynamy od wyłączenia polskich komunikatów Traca. Po prostu te tłumaczenia są niepełne, więc zamiast operować pokracznymi terminami wolę operować angielskimi. Klikamy na górze Ustawienia, Język i np. English (United States), Zapisz zmiany. == Nawigacja w Tracu == Na górnej belce: * Wiki - wiadomo * Timeline - historia Traca + SVNa, np. * edycja strony wiki - wiadomo * Ticket - błędy i pomysły * Changeset to zmiana w SVN (np. w changeset 4 wrzuciłem ASMA) * Roadmap - na razie nie używamy * Browse Source - widok na SVN tylko do odczytu * View Tickets - tickety * New Ticket - tworzenie ticketa * Search - wiadomo == Podstawy SVN == SVN (oryg: subversion) to system kontroli wersji. W takich systemach nic nie ginie, historia zmian zawsze jest dostępna wraz z autorem, zawsze można wrócić do poprzedniej wersji, zawsze można naprawić błąd (patrz niżej). Ponadto nie ma możliwości zatwierdzenia (commit) pliku, który ktoś wcześniej zatwierdził w nowszej wersji (patrz niżej). Jak widać na zakładce Browse Source, mamy trzy katalogi w SVN: * branches - to dla bardziej zaawansowanych, na razie nie będziemy używać * tags - tutaj są oznaczone wersje, np. wrzuciłem tutaj ASMA 3.4, można tu wrzucić wszystkie releasy i bety, po wrzuceniu nic tu nie zmieniamy * trunk - to jest główne miejsce pracy, możemy je przeglądać z Traca, ale znacznie wygodniej mieć jego kopię u siebie, o czym niżej Każdy zapis do SVN jest rejestrowany w historii - widać to w Timeline. Zapis to changeset. Changeset ma: * kolejny numerek * login autora * datę wykonania zmiany * opis zmiany - krótki tekst wpisany przez autora, jak w wiki * zmiany (dodane/zmienione/usunięte pliki lub katalogi) Przeglądać SVN możemy z Traca. Aby wprowadzać zmiany, potrzebujemy zainstalować u siebie klienta SVN. Pod Windows najpopularniejszy jest TortoiseSVN. == Instalacja TortoiseSVN == http://tortoisesvn.net/downloads.html Wybieramy 32-bit lub 64-bit zgodnie z naszymi Windowsami. Każda instalacja będzie dobra, jak kto woli można powyłączać wszystkie pierdoły typu dodatkowe ikony, narzędzia command-line i słowniki. Od teraz pod prawo-klikiem w Windows Explorer mamy dodatkowe menu TortoiseSVN. == Pobranie lokalnej kopii == Tworzymy na swoim dysku zwykły pusty katalog, gdzie będzie nasza kopia SVN. Dla ustalenia uwagi nazwę go asma-trunk (nazwa i położenie mogą być dowolne). Wchodzimy do tego katalogu, klikamy puste miejsce i TortoiseSVN / Checkout. W URL of repository wklejamy: {{{svn://84.201.216.109/test/trunk}}} Upewniamy się, że Checkout directory to dokładnie nasz pusty katalog. OK. Czekamy, aż się ściągnie. Możemy normalnie używać ściągniętych plików - otwierać w playerach i edytować. Z kasowaniem, zmianą nazwy i przenoszeniem trzeba ostrożnie (patrz niżej). == Podstawowe operacje SVN == Prawo-klik na naszym katalogu daje następujące operacje: * SVN Update - ściągnięcie nowych zmian, jeśli jakieś były * SVN Show Log - historia (to samo co w Tracu, tylko tutaj same zmiany w SVN) * SVN Commit - wrzucenie naszych zmian na serwer; w przypadku problemów zrobić najpierw SVN Update (inni wykonali zmianę na tym samym pliku co my. W przypadku konfliktów, bo 2 osoby zmieniły ten sam plik w tym samym miejscu, rozwiązujemy je samodzielnie lub przy udziale kolegów). * SVN Revert - odzyskanie przypadkowo skasowanego lub przeniesionego pliku zgodnie ze strukturą repozytorium SVN Jest jeszcze mnóstwo innych poleceń, ale są one używane dużo rzadziej. == Wprowadzanie zmian == Potraktujcie to, co jest, jako piaskownicę. Po oswojeniu się wszystkich zrobimy porządek i będziemy wprowadzać zmiany na poważnie. jhusak: proponuję robić brancha z piaskownicą i tam się bawić, a w trunku niech siedzą rzeczy "już na poważnie". Najprościej jest zmienić plik, który jest już w SVN. Zmieniamy pliki normalnie - np. możecie przeedytować pliki tekstowe w notatniku. Następnie wybieramy SVN Commit - wyświetli się lista zmienionych plików. Wpisujemy na górze opis i zatwierdzamy (opis jest ważny bo wtedy wiadomo, co było zmienione). Wpisujemy swój login i hasło. Po chwili zmiany są widoczne dla wszystkich (muszą oni zrobić SVN Update). Aby dodać plik, normalnie umieszczamy go w katalogu, prawo-klik na nim i TortoiseSVN / Add. Następnie, aby wysłać dodane pliki, używamy SVN Commit jak wyżej. Aby usunąć plik, '''nie usuwamy go normalnie'''. Zamiast tego TortoiseSVN / Delete, potem SVN Commit. Aby zmienić nazwę pliku, TortoiseSVN / Rename, potem SVN Commit. Aby skopiować/przenieść plik, przesuwamy go '''prawym klawiszem''' - pojawi się menu z możliwością kopiowania, przenoszenia i ew. zmiany nazwy przy tej okazji. Potem SVN Commit. Tylko SVN Commit powoduje wysłanie naszych zmian na serwer. Inne operacje działają lokalnie na naszym komputerze. Na początek to wystarczy. Są pytania?