Paczuj
Z UMP
d (→Jak wykorzystać: powtórzenia) |
(link do Diff) |
||
(Nie pokazano 20 wersji pośrednich.) | |||
Linia 1: | Linia 1: | ||
[[Kategoria:Narzędzia]] | [[Kategoria:Narzędzia]] | ||
- | W ramach usprawnienia codziennej pracy z diffami z FlySpray powstał mały pomocnik: | + | W ramach usprawnienia codziennej pracy z [[Diff|diffami]] z FlySpray powstał mały pomocnik: |
paczuj.bat | paczuj.bat | ||
'''Uwaga!''' | '''Uwaga!''' | ||
- | Narzędzie jest dla tych co | + | Narzędzie jest dla tych, co mają prawa zapisu i mogą wysłać poprawki bezpośrednio na serwer. |
==Czego potrzebuje== | ==Czego potrzebuje== | ||
- | *Działające środowisko UMP | + | *Działające środowisko UMP (Windows) |
*Prawa zapisu do CSV | *Prawa zapisu do CSV | ||
- | *Pliki diff.txt umieszczone w katalogu UMP-OBSZAR (nie w UMP-OBSZAR\src) | + | *Pliki [[diff|diff.txt]] umieszczone w katalogu UMP-OBSZAR (nie w UMP-OBSZAR\src) |
*Połączenie z siecią (aktualizacja) | *Połączenie z siecią (aktualizacja) | ||
==Jak wykorzystać== | ==Jak wykorzystać== | ||
- | [[Grafika:Paczuj_niestyk.png|thumb|Czy bym zauważył szybko ten niestyk, bez paczuj.bat? Pewnie nie. Zbliżenie 3m.]] | + | [[Grafika:Paczuj_niestyk.png|thumb|Czy bym zauważył szybko ten niestyk, bez [[paczuj|paczuj.bat]] lub uniksowego "make dead"? Pewnie nie. Zbliżenie 3m.]] |
- | Wgraj pliki diff i _nowosci do katalogu UMP-Obszar (jeżeli używałeś mont-demont.bat już masz te pliki w odpowiednim miejscu). Uruchom paczuj.bat w tym katalogu. | + | Wgraj pliki [[diff]] i _nowosci do katalogu UMP-Obszar (jeżeli używałeś [[mont-demont|mont-demont.bat]] już masz te pliki w odpowiednim miejscu). Uruchom [[paczuj|paczuj.bat]] w tym katalogu. |
- | Napisy w oknie podpowiedzą co dalej. Twoje działania to czytanie komunikatów i naciskanie np: spacji lub | + | Napisy w oknie podpowiedzą co dalej. Twoje działania to czytanie komunikatów i naciskanie np: spacji lub zamknięcie tego okna [x] w przypadku jakiegoś błędu. |
ME zostanie uruchomiony z kolorowym podświetleniem (znaczenie niżej) i flagami błędów. | ME zostanie uruchomiony z kolorowym podświetleniem (znaczenie niżej) i flagami błędów. | ||
==Znaczenie kolorów== | ==Znaczenie kolorów== | ||
- | *czerwony - rzeczy usunięte, | + | *czerwony - rzeczy usunięte (plik old.plt), |
- | *zielony - dodane, | + | *zielony - dodane (plik new.plt), |
- | *niebieski - i takie, którym nie zmienił się przebieg, a tylko opis, | + | *niebieski - i takie, którym nie zmienił się przebieg, a tylko opis (plik chg.plt), |
*żółty - dane z pliku mp, najczęściej _nowosci.txt. | *żółty - dane z pliku mp, najczęściej _nowosci.txt. | ||
==Co robi (po kolei)== | ==Co robi (po kolei)== | ||
#Uaktualnia narzędzia i OBSZAR | #Uaktualnia narzędzia i OBSZAR | ||
- | #Tworzy jeden plik wszystko. | + | #Tworzy jeden plik wszystko.patch |
- | #Próbuje zaaplikować łaty bez modyfikacji i wypisuje co by robił | + | #Próbuje zaaplikować łaty bez modyfikacji i wypisuje co by robił: poprawnie to patching i fuzzy, jeżeli jest coś źle, zamknij okno lub wciśnij <CTRL+C>, opisz na FS, że diffy są za stare. |
#Aplikuje pliki diff (na tym etapie zmiany są już w UMP-OBSZAR\src) | #Aplikuje pliki diff (na tym etapie zmiany są już w UMP-OBSZAR\src) | ||
#Montuje mapę dla mapedita i sprawdza błędy | #Montuje mapę dla mapedita i sprawdza błędy | ||
- | #Uruchamia mapedita z mapą na której widać zmiany i dodane są flagi z błędami | + | #Uruchamia mapedita z mapą, na której widać zmiany i dodane są flagi z błędami (w tym momencie nie aktualizuj źródeł, bo doprowadzisz do [[Nadpisanie|nadpisania]]) |
+ | #Po zamknięciu Mapedita sprawdza czy są jakieś zmiany i jeżeli nie ma uruchamia cvs commit, jeżeli są zmiany trzeba paczuj uruchomić ponownie. | ||
+ | ## Jeżeli nie ma zmian i uruchamia się '''cvs commit''' to będzie on nieudany gdy w źródłach są [[Konflikt|konflikty]] - wtedy trzeba wyedytować pliki źródłowe i usunąć problem. | ||
+ | ## Jeżeli nie ma zmian i nie ma konfliktów to '''cvs commit''' spowoduje zapisanie danych na serwerze. | ||
+ | ## Jeżeli są zmiany, czyli są pliki [[diff]] to paczuj kończy pracę i musisz go ponownie uruchomić. | ||
#Koniec | #Koniec | ||
- | |||
==Stare diffy== | ==Stare diffy== | ||
- | Po wykryciu ze diffy są za stare (punkt 3) powinieneś przerwać | + | Po wykryciu ze diffy są za stare (punkt 3), powinieneś przerwać pracę paczuja. Masz już wygenerowane podświetlenie. |
- | Możesz zobaczyć co autor diffa miał na myśli montując źródła w standardowy sposób i dodając pliki old.plt, new.plt, chg.plt, nowosc.plt( | + | Możesz zobaczyć co autor diffa miał na myśli, montując źródła w standardowy sposób i dodając pliki old.plt, new.plt, chg.plt, nowosc.plt (niekoniecznie wszystkie one istnieją). |
- | Często przy małych zmianach | + | Często przy małych zmianach można samemu ręcznie wprowadzić poprawki na podstawie podświetlenia. |
+ | |||
+ | ==paczuj-granice.bat== | ||
+ | Na podobnej zasadzie co paczuj.bat, działa inny ułatwiacz do wprowadzania granic '''paczuj-granice.bat'''. | ||
+ | Wymaga przeniesienia pliku granice-wspolne.diff.txt do katalogu narzedzia/ | ||
+ | i uruchomienia, dalej czytanie komunikatów i naciskanie spacji (tym razem nie uruchamia się ME) i wpisanie opisu dla zmian w cvs | ||
+ | |||
+ | ==paczuj.bat w UMP-radary== | ||
+ | wymaga przekopiowania odpowiednich diffów do katalogu UMP-radary/ następnie należy | ||
+ | uruchomić paczuja. | ||
+ | |||
+ | Niestety cvs commit trzeba wywołać samemu. | ||
+ | |||
+ | ==Przykładowa sesja== | ||
+ | Przkładowa sesja paczuj - gdy kilka diffów zostało podrzuconych przez osobę bez uprawnień. Wykonana aktualizacja źródeł, wyrzucone śmiecie, tylko diffy i źródła. | ||
+ | Pobieranie aktualizacji, prosze czekac... | ||
+ | cvs update: Updating narzedzia | ||
+ | cvs update: Updating narzedzia/android | ||
+ | cvs update: Updating narzedzia/ikonki | ||
+ | cvs update: Updating narzedzia/ikonki/punkty | ||
+ | cvs update: Updating narzedzia/install | ||
+ | cvs update: Updating narzedzia/lua | ||
+ | cvs update: Updating narzedzia/misc | ||
+ | cvs update: Updating narzedzia/netgen.src | ||
+ | cvs update: Updating narzedzia/opisy | ||
+ | cvs update: Updating narzedzia/ump-www | ||
+ | cvs update: Updating narzedzia/ump-www/html | ||
+ | cvs update: Updating narzedzia/ump-www/html/css | ||
+ | cvs update: Updating narzedzia/ump-www/html/js | ||
+ | cvs update: Updating narzedzia/ump-www/mapnik_style | ||
+ | cvs update: Updating narzedzia/ump-www/mapnik_style/settings | ||
+ | cvs update: Updating narzedzia/ump-www/mapnik_style/symbols | ||
+ | cvs update: Updating narzedzia/ump-www/mapnik_style/symbols_me | ||
+ | cvs update: Updating narzedzia/ump-www/mapnik_style/symbols_ump | ||
+ | cvs update: Updating narzedzia/ump-www/mapnik_style/world_boundaries | ||
+ | cvs update: Updating narzedzia/ump-www/ump2osm | ||
+ | cvs update: Updating narzedzia/ump-www/ump2osm/polygon_cleaner | ||
+ | cvs update: Updating narzedzia/ump-www/ump2osm/src | ||
+ | cvs update: Updating narzedzia/ump-www/ump2osm/wojek | ||
+ | cvs update: Updating narzedzia/widzimisie | ||
+ | cvs update: dying gasps from cvs.ump.waw.pl unexpected | ||
+ | cvs update: Updating UMP-radary | ||
+ | cvs update: Updating UMP-radary/bmp | ||
+ | cvs update: Updating UMP-radary/bmp/Kontrole Drogowe | ||
+ | cvs update: Updating UMP-radary/bmp/Niebezpieczne Miejsca | ||
+ | cvs update: Updating UMP-radary/bmp/Przejazdy Kolejowe | ||
+ | cvs update: Updating UMP-radary/bmp/Slupki | ||
+ | cvs update: Updating UMP-radary/mp3-Agatka | ||
+ | cvs update: Updating UMP-radary/mp3-Agatka/Kontrole Drogowe | ||
+ | cvs update: Updating UMP-radary/mp3-Agatka/Niebezpieczne Miejsca | ||
+ | cvs update: Updating UMP-radary/mp3-Agatka/Przejazdy Kolejowe | ||
+ | cvs update: Updating UMP-radary/mp3-Agatka/Slupki | ||
+ | cvs update: Updating UMP-radary/mp3-Jacek | ||
+ | cvs update: Updating UMP-radary/mp3-Jacek/Kontrole Drogowe | ||
+ | cvs update: Updating UMP-radary/mp3-Jacek/Niebezpieczne Miejsca | ||
+ | cvs update: Updating UMP-radary/mp3-Jacek/Przejazdy Kolejowe | ||
+ | cvs update: Updating UMP-radary/mp3-Jacek/Slupki | ||
+ | cvs update: Updating UMP-radary/src | ||
+ | cvs update: Updating UMP-radary/wav-Agatka | ||
+ | cvs update: Updating UMP-radary/wav-Agatka/Kontrole Drogowe | ||
+ | cvs update: Updating UMP-radary/wav-Agatka/Niebezpieczne Miejsca | ||
+ | cvs update: Updating UMP-radary/wav-Agatka/Przejazdy Kolejowe | ||
+ | cvs update: Updating UMP-radary/wav-Jacek | ||
+ | cvs update: Updating UMP-radary/wav-Jacek/Kontrole Drogowe | ||
+ | cvs update: Updating UMP-radary/wav-Jacek/Niebezpieczne Miejsca | ||
+ | cvs update: Updating UMP-radary/wav-Jacek/Przejazdy Kolejowe | ||
+ | cvs update: Updating UMP-radary/wav-Jacek/Slupki | ||
+ | cvs update: dying gasps from cvs.ump.waw.pl unexpected | ||
+ | patching file `WARSZAWA.dzielnice.topo.txt' | ||
+ | patching file `WARSZAWA.granice.txt' | ||
+ | patching file `WARSZAWA.kolej.txt' | ||
+ | patching file `WARSZAWA.obszary.txt' | ||
+ | patching file `WARSZAWA.topo.txt' | ||
+ | patching file `WARSZAWA.zielone.txt' | ||
+ | patching file `WARSZAWA_REMBERTOW.budynki.txt' | ||
+ | patching file `WARSZAWA_REMBERTOW.ulice.txt' | ||
+ | patching file `WOLOMIN.drogi.txt' | ||
+ | patching file `ZIELONKA.ulice.txt' | ||
+ | patching file `POI-Warszawa.debug.pnt' | ||
+ | patching file `POI-Warszawa.szkoly.pnt' | ||
+ | |||
+ | To suchy przebieg (bez zmian) | ||
+ | Jak cos sie nie powiodlo - wcisnij CTRL+C lub zamknij to okno | ||
+ | Press any key to continue . . . | ||
+ | patching file `WARSZAWA.dzielnice.topo.txt' | ||
+ | patching file `WARSZAWA.granice.txt' | ||
+ | patching file `WARSZAWA.kolej.txt' | ||
+ | patching file `WARSZAWA.obszary.txt' | ||
+ | patching file `WARSZAWA.topo.txt' | ||
+ | patching file `WARSZAWA.zielone.txt' | ||
+ | patching file `WARSZAWA_REMBERTOW.budynki.txt' | ||
+ | patching file `WARSZAWA_REMBERTOW.ulice.txt' | ||
+ | patching file `WOLOMIN.drogi.txt' | ||
+ | patching file `ZIELONKA.ulice.txt' | ||
+ | patching file `POI-Warszawa.debug.pnt' | ||
+ | patching file `POI-Warszawa.szkoly.pnt' | ||
+ | |||
+ | Zmiany zostaly wprowadzone | ||
+ | |||
+ | Press any key to continue . . . | ||
+ | |||
+ | Skladanie mapy. | ||
+ | |||
+ | |||
+ | wersja przenosna - obowiazuje od 16.6.2013 | ||
+ | Wybrano: MONTAZ | ||
+ | Granice: tylko jednego obszaru (Warszawa). | ||
+ | Montuje ulice i obszary... | ||
+ | Montuje punkty z pnt... | ||
+ | Dolaczam punkty radarow | ||
+ | Gotowy do edycji! | ||
+ | |||
+ | Uruchamianie "netgen2.bat" | ||
+ | |||
+ | Warszawa | ||
+ | Do zrobienia: | ||
+ | - analiza podstawowa | ||
+ | |||
+ | plik do analizy: Warszawa-wynik.mp | ||
+ | |||
+ | === Analiza podstawowa | ||
+ | --- analiza pliku .mp | ||
+ | --- analiza siatki drog | ||
+ | |||
+ | Statystyka | ||
+ | dziury_w_routingu 163 | ||
+ | slepe 3 | ||
+ | za_bliskie 4 | ||
+ | zle_postawione_bojki 9 | ||
+ | bledy_routingu 1 | ||
+ | przeciecia 1 | ||
+ | Sprawdzam punkty adresowe | ||
+ | |||
+ | |||
+ | Summary: Mix/Par/End: 0, Node: 0, eNode: 0, NoLabel: 0, Other: 0 | ||
+ | |||
+ | Gotowe! | ||
+ | |||
+ | |||
+ | |||
+ | wersja przenosna - obowiazuje od 16.6.2013 | ||
+ | Wybrano: EDYCJA | ||
+ | |||
+ | Teraz następuje edycja - do czasu zamknięcia MapEdit okno się nie zmieni. | ||
+ | |||
+ | Po zamknięciu MapEdit następuje rozłożenie obszaru | ||
+ | Rozkladam wszystko... | ||
+ | Zamieniam punkty... | ||
+ | Sprawdzam zmiany w plikach... | ||
+ | Przejrzyj WARSZAWA_REMBERTOW.budynki.txt.diff.txt | ||
+ | Przejrzyj WARSZAWA_REMBERTOW.ulice.txt.diff.txt | ||
+ | Przejrzyj WARSZAWA_WAWER.ulice.txt.diff.txt | ||
+ | Plik GATSO_FP.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik GATSO_FS.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik GATSO_SU.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Przejrzyj POI-Warszawa.debug.pnt.diff.pnt | ||
+ | Plik safety_NM.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik safety_PK.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik safety_slupki.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | ############################################################################# | ||
+ | Wykryto nowe diffy po przebiegu!!! | ||
+ | |||
+ | Uruchom paczuj jeszcze raz | ||
+ | Efekt rozłożenia: | ||
+ | * 4 diffy WARSZAWA_REMBERTOW.budynki.txt.diff.txt, WARSZAWA_REMBERTOW.ulice.txt.diff.txt, WARSZAWA_WAWER.ulice.txt.diff.txt, POI-Warszawa.debug.pnt.diff.pnt | ||
+ | * 4 pliki źródłowe - WARSZAWA_REMBERTOW.budynki.txt, WARSZAWA_REMBERTOW.ulice.txt, WARSZAWA_WAWER.ulice.txt, POI-Warszawa.debug.pnt | ||
+ | |||
+ | Komunikaty o plikach słupków/radarów są tylko informacją o czymś, co nie uległo zmianie. Na koniec wyraźna sugestia, by uruchomić ponownie '''paczuj''', bo są diffy po zamknięciu MapEdit (poprawki błędów, uproszczenia budynków wykonane przez MapEdit). Ponowne uruchomienie - aplikacja powstałych diffów - przejrzenie w MapEdit, zamknięcie MapEdit już bez zmian (bo jest ok) i wynik działania '''paczuj''', gdy nic się nie zmienia: | ||
+ | Rozkladam wszystko... | ||
+ | Zamieniam punkty... | ||
+ | Sprawdzam zmiany w plikach... | ||
+ | Plik GATSO_FP.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik GATSO_FS.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik GATSO_SU.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik safety_NM.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik safety_PK.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | Plik safety_slupki.pnt do obejrzenia (zmieniony albo nie ma zawartosci) | ||
+ | ############################################################################# | ||
+ | Nie wykryto dodatkowych zmian po przebiegu | ||
+ | |||
+ | Zostanie uruchominy cvs commit, zamknij to okno je┐eli tego NIE chcesz | ||
+ | |||
+ | Press any key to continue . . . | ||
+ | cvs commit: Examining src | ||
+ | |||
+ | W wersji tekstowej cvs następuje otwarcie okna edytora, wpisujemy komentarz do sesji, zamykamy okno zapisując komentarz i dane lecą na serwer o ile nie ma [[konflikt|konfliktu]]. | ||
+ | |||
+ | ==Błędy i ostrzeżenia podczas używania paczuj.bat== | ||
+ | Przykład błędów podczas użycia '''paczuj''': | ||
+ | patching file `WARSZAWA.kolej.txt' | ||
+ | patching file `WARSZAWA.obszary.txt' | ||
+ | patching file `WARSZAWA.szlaki.topo.txt' | ||
+ | Hunk #1 FAILED at 2329. | ||
+ | 1 out of 1 hunk FAILED -- saving rejects to WARSZAWA.szlaki.topo.txt.rej | ||
+ | patching file `WARSZAWA.zakazy.txt' | ||
+ | patching file `WARSZAWA.zielone.txt' | ||
+ | Hunk #2 succeeded at 5371 (offset -11 lines). | ||
+ | Hunk #3 succeeded at 12029 (offset 14 lines). | ||
+ | patching file `WARSZAWA_REMBERTOW.ulice.txt' | ||
+ | patching file `WOLOMIN.drogi.txt' | ||
+ | patching file `POI-Warszawa.bankomaty.pnt' | ||
+ | patching file `POI-Warszawa.debug.pnt' | ||
+ | patching file `POI-Warszawa.zabytki.pnt' | ||
+ | |||
+ | Błędy podczas paczuj.bat mogą pojawić się w następujących sytuacjach: | ||
+ | * ktoś w tym samym momencie rysuje w tym samym obszarze i edytuje te same obiekty | ||
+ | * wrzucając czyjeś [[Diff|diffy]] ktoś dokonał zmian w tym samym obszarze już po wygenerowaniu diffów | ||
+ | * diffy mają błędny format - ktoś ręcznie coś poprawiał dodając linię | ||
+ | |||
+ | Błędy/ostrzeżenia z którymi się spotkasz to: | ||
+ | Hunk #<liczba1> succeeded at <liczba2> (offset <liczba3> lines) | ||
+ | Diff został dodany, jednak obiekt '''liczba1''' z pewnym przesunięciem '''liczba3''' wynikającym z wcześniejszych zmian innych edytorów wylądował od linii '''liczba2'''. Czyli nie został dopisany w linii '''N''', ale '''N+Y''' (lub '''-Y'''). | ||
+ | |||
+ | W większości przypadków takie przesuniecie jest poprawne, jednak może się zdarzyć że będzie błędne. W szczególności kiedy diffy zwierają zmianę typu dróg bez zmiany jej przebiegu. | ||
+ | |||
+ | Hunk #<liczba1> FAILED at <liczba2>. | ||
+ | 1 out of 1 hunk FAILED -- saving rejects to WARSZAWA.szlaki.topo.txt.rej | ||
+ | |||
+ | Diff nie został dodany - CVS stwierdził, że zmiana ma już miejsce lub nie może być zaaplikowana, bo nie może odnaleźć obiektu i miejsca, gdzie trzeba ją zaaplikować - odrzucone zmiany są zapisywane w plikach '''rej''' w katalogu źródeł. Do takiego błędu dochodzi najczęściej w poniższych przypadkach: | ||
+ | * mógłby być konflikt, bo zmiana dotyczy zmienianego przez inną osobę obiektu | ||
+ | * obiekt nie może zostać dopisany na końcu pliku, bo koniec pliku się zmienił i narzędzia nie mogą podjąć decyzji, gdzie zaaplikować zmianę | ||
+ | * nastąpiła automatyczna zmiana wykonana przez narzędzia u dwóch różnych osób - taki konflikt, ale automatyczny, np. dwie osoby edytują obszar, gdzie ktoś trzeci dorzucał wcześniej ręcznie coś do POI-OBSZAR-bankomaty.pnt na koniec pliku, ale nie dał znaku końca linii po ostatniej linii; u obu "obecnych" edytorów mapa po zmontowaniu i zdemontowaniu wyda z siebie zmianę w POI-OBSZAR.bankomaty.pnt w postaci nowej linii - u jednego z edytorów zmiana się powiedzie, u drugiego nie - odnotuje ten właśnie błąd. | ||
+ | |||
+ | Jeżeli ktoś inny wykonał zmianę i '''paczuj''' odnotuje nieaktualność źródeł - otrzymamy komunikat jak poniżej (ostatnia faza): | ||
+ | cvs commit: Examining src | ||
+ | cvs commit: Up-to-date check failed for `src/WARSZAWA.zakazy.txt' | ||
+ | cvs [commit aborted]: correct above errors first! | ||
+ | cvs commit: dying gasps from cvs.ump.waw.pl unexpected | ||
+ | |||
+ | Należy wykonać aktualizację źródeł, rozwiązać ewentualne konflikty i zapisać zmiany na serwerze. |
Aktualna wersja
W ramach usprawnienia codziennej pracy z diffami z FlySpray powstał mały pomocnik: paczuj.bat
Uwaga!
Narzędzie jest dla tych, co mają prawa zapisu i mogą wysłać poprawki bezpośrednio na serwer.
Spis treści |
Czego potrzebuje
- Działające środowisko UMP (Windows)
- Prawa zapisu do CSV
- Pliki diff.txt umieszczone w katalogu UMP-OBSZAR (nie w UMP-OBSZAR\src)
- Połączenie z siecią (aktualizacja)
Jak wykorzystać
Wgraj pliki diff i _nowosci do katalogu UMP-Obszar (jeżeli używałeś mont-demont.bat już masz te pliki w odpowiednim miejscu). Uruchom paczuj.bat w tym katalogu.
Napisy w oknie podpowiedzą co dalej. Twoje działania to czytanie komunikatów i naciskanie np: spacji lub zamknięcie tego okna [x] w przypadku jakiegoś błędu.
ME zostanie uruchomiony z kolorowym podświetleniem (znaczenie niżej) i flagami błędów.
Znaczenie kolorów
- czerwony - rzeczy usunięte (plik old.plt),
- zielony - dodane (plik new.plt),
- niebieski - i takie, którym nie zmienił się przebieg, a tylko opis (plik chg.plt),
- żółty - dane z pliku mp, najczęściej _nowosci.txt.
Co robi (po kolei)
- Uaktualnia narzędzia i OBSZAR
- Tworzy jeden plik wszystko.patch
- Próbuje zaaplikować łaty bez modyfikacji i wypisuje co by robił: poprawnie to patching i fuzzy, jeżeli jest coś źle, zamknij okno lub wciśnij <CTRL+C>, opisz na FS, że diffy są za stare.
- Aplikuje pliki diff (na tym etapie zmiany są już w UMP-OBSZAR\src)
- Montuje mapę dla mapedita i sprawdza błędy
- Uruchamia mapedita z mapą, na której widać zmiany i dodane są flagi z błędami (w tym momencie nie aktualizuj źródeł, bo doprowadzisz do nadpisania)
- Po zamknięciu Mapedita sprawdza czy są jakieś zmiany i jeżeli nie ma uruchamia cvs commit, jeżeli są zmiany trzeba paczuj uruchomić ponownie.
- Jeżeli nie ma zmian i uruchamia się cvs commit to będzie on nieudany gdy w źródłach są konflikty - wtedy trzeba wyedytować pliki źródłowe i usunąć problem.
- Jeżeli nie ma zmian i nie ma konfliktów to cvs commit spowoduje zapisanie danych na serwerze.
- Jeżeli są zmiany, czyli są pliki diff to paczuj kończy pracę i musisz go ponownie uruchomić.
- Koniec
Stare diffy
Po wykryciu ze diffy są za stare (punkt 3), powinieneś przerwać pracę paczuja. Masz już wygenerowane podświetlenie. Możesz zobaczyć co autor diffa miał na myśli, montując źródła w standardowy sposób i dodając pliki old.plt, new.plt, chg.plt, nowosc.plt (niekoniecznie wszystkie one istnieją). Często przy małych zmianach można samemu ręcznie wprowadzić poprawki na podstawie podświetlenia.
paczuj-granice.bat
Na podobnej zasadzie co paczuj.bat, działa inny ułatwiacz do wprowadzania granic paczuj-granice.bat. Wymaga przeniesienia pliku granice-wspolne.diff.txt do katalogu narzedzia/ i uruchomienia, dalej czytanie komunikatów i naciskanie spacji (tym razem nie uruchamia się ME) i wpisanie opisu dla zmian w cvs
paczuj.bat w UMP-radary
wymaga przekopiowania odpowiednich diffów do katalogu UMP-radary/ następnie należy uruchomić paczuja.
Niestety cvs commit trzeba wywołać samemu.
Przykładowa sesja
Przkładowa sesja paczuj - gdy kilka diffów zostało podrzuconych przez osobę bez uprawnień. Wykonana aktualizacja źródeł, wyrzucone śmiecie, tylko diffy i źródła.
Pobieranie aktualizacji, prosze czekac... cvs update: Updating narzedzia cvs update: Updating narzedzia/android cvs update: Updating narzedzia/ikonki cvs update: Updating narzedzia/ikonki/punkty cvs update: Updating narzedzia/install cvs update: Updating narzedzia/lua cvs update: Updating narzedzia/misc cvs update: Updating narzedzia/netgen.src cvs update: Updating narzedzia/opisy cvs update: Updating narzedzia/ump-www cvs update: Updating narzedzia/ump-www/html cvs update: Updating narzedzia/ump-www/html/css cvs update: Updating narzedzia/ump-www/html/js cvs update: Updating narzedzia/ump-www/mapnik_style cvs update: Updating narzedzia/ump-www/mapnik_style/settings cvs update: Updating narzedzia/ump-www/mapnik_style/symbols cvs update: Updating narzedzia/ump-www/mapnik_style/symbols_me cvs update: Updating narzedzia/ump-www/mapnik_style/symbols_ump cvs update: Updating narzedzia/ump-www/mapnik_style/world_boundaries cvs update: Updating narzedzia/ump-www/ump2osm cvs update: Updating narzedzia/ump-www/ump2osm/polygon_cleaner cvs update: Updating narzedzia/ump-www/ump2osm/src cvs update: Updating narzedzia/ump-www/ump2osm/wojek cvs update: Updating narzedzia/widzimisie cvs update: dying gasps from cvs.ump.waw.pl unexpected cvs update: Updating UMP-radary cvs update: Updating UMP-radary/bmp cvs update: Updating UMP-radary/bmp/Kontrole Drogowe cvs update: Updating UMP-radary/bmp/Niebezpieczne Miejsca cvs update: Updating UMP-radary/bmp/Przejazdy Kolejowe cvs update: Updating UMP-radary/bmp/Slupki cvs update: Updating UMP-radary/mp3-Agatka cvs update: Updating UMP-radary/mp3-Agatka/Kontrole Drogowe cvs update: Updating UMP-radary/mp3-Agatka/Niebezpieczne Miejsca cvs update: Updating UMP-radary/mp3-Agatka/Przejazdy Kolejowe cvs update: Updating UMP-radary/mp3-Agatka/Slupki cvs update: Updating UMP-radary/mp3-Jacek cvs update: Updating UMP-radary/mp3-Jacek/Kontrole Drogowe cvs update: Updating UMP-radary/mp3-Jacek/Niebezpieczne Miejsca cvs update: Updating UMP-radary/mp3-Jacek/Przejazdy Kolejowe cvs update: Updating UMP-radary/mp3-Jacek/Slupki cvs update: Updating UMP-radary/src cvs update: Updating UMP-radary/wav-Agatka cvs update: Updating UMP-radary/wav-Agatka/Kontrole Drogowe cvs update: Updating UMP-radary/wav-Agatka/Niebezpieczne Miejsca cvs update: Updating UMP-radary/wav-Agatka/Przejazdy Kolejowe cvs update: Updating UMP-radary/wav-Jacek cvs update: Updating UMP-radary/wav-Jacek/Kontrole Drogowe cvs update: Updating UMP-radary/wav-Jacek/Niebezpieczne Miejsca cvs update: Updating UMP-radary/wav-Jacek/Przejazdy Kolejowe cvs update: Updating UMP-radary/wav-Jacek/Slupki cvs update: dying gasps from cvs.ump.waw.pl unexpected patching file `WARSZAWA.dzielnice.topo.txt' patching file `WARSZAWA.granice.txt' patching file `WARSZAWA.kolej.txt' patching file `WARSZAWA.obszary.txt' patching file `WARSZAWA.topo.txt' patching file `WARSZAWA.zielone.txt' patching file `WARSZAWA_REMBERTOW.budynki.txt' patching file `WARSZAWA_REMBERTOW.ulice.txt' patching file `WOLOMIN.drogi.txt' patching file `ZIELONKA.ulice.txt' patching file `POI-Warszawa.debug.pnt' patching file `POI-Warszawa.szkoly.pnt' To suchy przebieg (bez zmian) Jak cos sie nie powiodlo - wcisnij CTRL+C lub zamknij to okno Press any key to continue . . . patching file `WARSZAWA.dzielnice.topo.txt' patching file `WARSZAWA.granice.txt' patching file `WARSZAWA.kolej.txt' patching file `WARSZAWA.obszary.txt' patching file `WARSZAWA.topo.txt' patching file `WARSZAWA.zielone.txt' patching file `WARSZAWA_REMBERTOW.budynki.txt' patching file `WARSZAWA_REMBERTOW.ulice.txt' patching file `WOLOMIN.drogi.txt' patching file `ZIELONKA.ulice.txt' patching file `POI-Warszawa.debug.pnt' patching file `POI-Warszawa.szkoly.pnt' Zmiany zostaly wprowadzone Press any key to continue . . . Skladanie mapy. wersja przenosna - obowiazuje od 16.6.2013 Wybrano: MONTAZ Granice: tylko jednego obszaru (Warszawa). Montuje ulice i obszary... Montuje punkty z pnt... Dolaczam punkty radarow Gotowy do edycji! Uruchamianie "netgen2.bat" Warszawa Do zrobienia: - analiza podstawowa plik do analizy: Warszawa-wynik.mp === Analiza podstawowa --- analiza pliku .mp --- analiza siatki drog Statystyka dziury_w_routingu 163 slepe 3 za_bliskie 4 zle_postawione_bojki 9 bledy_routingu 1 przeciecia 1 Sprawdzam punkty adresowe Summary: Mix/Par/End: 0, Node: 0, eNode: 0, NoLabel: 0, Other: 0 Gotowe! wersja przenosna - obowiazuje od 16.6.2013 Wybrano: EDYCJA
Teraz następuje edycja - do czasu zamknięcia MapEdit okno się nie zmieni.
Po zamknięciu MapEdit następuje rozłożenie obszaru
Rozkladam wszystko... Zamieniam punkty... Sprawdzam zmiany w plikach... Przejrzyj WARSZAWA_REMBERTOW.budynki.txt.diff.txt Przejrzyj WARSZAWA_REMBERTOW.ulice.txt.diff.txt Przejrzyj WARSZAWA_WAWER.ulice.txt.diff.txt Plik GATSO_FP.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik GATSO_FS.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik GATSO_SU.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Przejrzyj POI-Warszawa.debug.pnt.diff.pnt Plik safety_NM.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik safety_PK.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik safety_slupki.pnt do obejrzenia (zmieniony albo nie ma zawartosci) ############################################################################# Wykryto nowe diffy po przebiegu!!! Uruchom paczuj jeszcze raz
Efekt rozłożenia:
- 4 diffy WARSZAWA_REMBERTOW.budynki.txt.diff.txt, WARSZAWA_REMBERTOW.ulice.txt.diff.txt, WARSZAWA_WAWER.ulice.txt.diff.txt, POI-Warszawa.debug.pnt.diff.pnt
- 4 pliki źródłowe - WARSZAWA_REMBERTOW.budynki.txt, WARSZAWA_REMBERTOW.ulice.txt, WARSZAWA_WAWER.ulice.txt, POI-Warszawa.debug.pnt
Komunikaty o plikach słupków/radarów są tylko informacją o czymś, co nie uległo zmianie. Na koniec wyraźna sugestia, by uruchomić ponownie paczuj, bo są diffy po zamknięciu MapEdit (poprawki błędów, uproszczenia budynków wykonane przez MapEdit). Ponowne uruchomienie - aplikacja powstałych diffów - przejrzenie w MapEdit, zamknięcie MapEdit już bez zmian (bo jest ok) i wynik działania paczuj, gdy nic się nie zmienia:
Rozkladam wszystko... Zamieniam punkty... Sprawdzam zmiany w plikach... Plik GATSO_FP.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik GATSO_FS.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik GATSO_SU.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik safety_NM.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik safety_PK.pnt do obejrzenia (zmieniony albo nie ma zawartosci) Plik safety_slupki.pnt do obejrzenia (zmieniony albo nie ma zawartosci) ############################################################################# Nie wykryto dodatkowych zmian po przebiegu Zostanie uruchominy cvs commit, zamknij to okno je┐eli tego NIE chcesz Press any key to continue . . . cvs commit: Examining src
W wersji tekstowej cvs następuje otwarcie okna edytora, wpisujemy komentarz do sesji, zamykamy okno zapisując komentarz i dane lecą na serwer o ile nie ma konfliktu.
Błędy i ostrzeżenia podczas używania paczuj.bat
Przykład błędów podczas użycia paczuj:
patching file `WARSZAWA.kolej.txt' patching file `WARSZAWA.obszary.txt' patching file `WARSZAWA.szlaki.topo.txt' Hunk #1 FAILED at 2329. 1 out of 1 hunk FAILED -- saving rejects to WARSZAWA.szlaki.topo.txt.rej patching file `WARSZAWA.zakazy.txt' patching file `WARSZAWA.zielone.txt' Hunk #2 succeeded at 5371 (offset -11 lines). Hunk #3 succeeded at 12029 (offset 14 lines). patching file `WARSZAWA_REMBERTOW.ulice.txt' patching file `WOLOMIN.drogi.txt' patching file `POI-Warszawa.bankomaty.pnt' patching file `POI-Warszawa.debug.pnt' patching file `POI-Warszawa.zabytki.pnt'
Błędy podczas paczuj.bat mogą pojawić się w następujących sytuacjach:
- ktoś w tym samym momencie rysuje w tym samym obszarze i edytuje te same obiekty
- wrzucając czyjeś diffy ktoś dokonał zmian w tym samym obszarze już po wygenerowaniu diffów
- diffy mają błędny format - ktoś ręcznie coś poprawiał dodając linię
Błędy/ostrzeżenia z którymi się spotkasz to:
Hunk #<liczba1> succeeded at <liczba2> (offset <liczba3> lines)
Diff został dodany, jednak obiekt liczba1 z pewnym przesunięciem liczba3 wynikającym z wcześniejszych zmian innych edytorów wylądował od linii liczba2. Czyli nie został dopisany w linii N, ale N+Y (lub -Y).
W większości przypadków takie przesuniecie jest poprawne, jednak może się zdarzyć że będzie błędne. W szczególności kiedy diffy zwierają zmianę typu dróg bez zmiany jej przebiegu.
Hunk #<liczba1> FAILED at <liczba2>. 1 out of 1 hunk FAILED -- saving rejects to WARSZAWA.szlaki.topo.txt.rej
Diff nie został dodany - CVS stwierdził, że zmiana ma już miejsce lub nie może być zaaplikowana, bo nie może odnaleźć obiektu i miejsca, gdzie trzeba ją zaaplikować - odrzucone zmiany są zapisywane w plikach rej w katalogu źródeł. Do takiego błędu dochodzi najczęściej w poniższych przypadkach:
- mógłby być konflikt, bo zmiana dotyczy zmienianego przez inną osobę obiektu
- obiekt nie może zostać dopisany na końcu pliku, bo koniec pliku się zmienił i narzędzia nie mogą podjąć decyzji, gdzie zaaplikować zmianę
- nastąpiła automatyczna zmiana wykonana przez narzędzia u dwóch różnych osób - taki konflikt, ale automatyczny, np. dwie osoby edytują obszar, gdzie ktoś trzeci dorzucał wcześniej ręcznie coś do POI-OBSZAR-bankomaty.pnt na koniec pliku, ale nie dał znaku końca linii po ostatniej linii; u obu "obecnych" edytorów mapa po zmontowaniu i zdemontowaniu wyda z siebie zmianę w POI-OBSZAR.bankomaty.pnt w postaci nowej linii - u jednego z edytorów zmiana się powiedzie, u drugiego nie - odnotuje ten właśnie błąd.
Jeżeli ktoś inny wykonał zmianę i paczuj odnotuje nieaktualność źródeł - otrzymamy komunikat jak poniżej (ostatnia faza):
cvs commit: Examining src cvs commit: Up-to-date check failed for `src/WARSZAWA.zakazy.txt' cvs [commit aborted]: correct above errors first! cvs commit: dying gasps from cvs.ump.waw.pl unexpected
Należy wykonać aktualizację źródeł, rozwiązać ewentualne konflikty i zapisać zmiany na serwerze.