Wstydzę się powiedzieć, że jestem trochę nieświadomy procedury aktualizacji wtyczki za pośrednictwem Tortoise SVN, mimo że moja wtyczka jest w repozytorium od lat i miała ponad 300 000 pobrań!
Nie bądź SVN może być trudny dla wielu osób ... więc przejdźmy krok po kroku ...
To właśnie robiłem do tej pory.
- koduj aktualizacje wtyczek w moim lokalnym, dopóki nie będę zadowolony
- skopiuj wszystkie pliki z mojego lokalnego folderu wtyczek do / trunk / (wtyczka i plik readme mają zaktualizowane numery wersji)
- zatwierdzić katalog trunk
- kliknij prawym przyciskiem myszy katalog linii głównej i wybierz opcję Utwórz gałąź / znacznik i ustaw, aby kopiował się do folderu w / tags / o nazwie będącej numerem wersji
Czy to jest poprawne i we właściwej kolejności? jeśli nie, jaki jest właściwy sposób?
Prawie ...
Kroki, które powinieneś wykonać:
- Koduj aktualizacje wtyczek lokalnie, dopóki nie będziesz zadowolony
- Zwiększ znacznik „stabilny” w
readme.txt
pliku, aby pasował do nowego numeru wersji
- Skopiuj lokalne aktualizacje do
/trunk
katalogu lokalnego folderu wtyczek
- Zatwierdź całą wtyczkę, aby zapisać zmiany
/trunk
w repozytorium
- Kliknij prawym przyciskiem myszy
/trunk
i utwórz nowy znacznik, kopiując do miejsca, /tags/X.X.X
gdzie xxx jest tą samą wersją w „stabilnym” znaczniku readme.txt
(krok 2)
- Zatwierdź całą wtyczkę, aby zapisać tag
z jakiegoś powodu przeszedłem z wersji 2.8.1 na 2.81.2 na mojej ostatniej aktualizacji, czy to oznacza, że nie będzie wyświetlana jako aktualizacja dostępna na panelach kontrolnych osób, które mają wersję 2.81.2, jeśli zmienię kolejny numer wersji na 2,9?
Bingo Jeśli wersja 2.81.2 została zatwierdzona jako aktualizacja, a ludzie faktycznie pobrali tę aktualizację, nie zobaczą wersji 2.9 po jej wydaniu.
w jaki sposób wordpress określa, która wersja jest najnowsza i czy użytkownik powinien zaktualizować swoją wersję? czy robi to wersja_porównaj? który działa tylko z odpowiednim formatem wersji php, prawda? na przykład. 2.9.2 jest uważany za wersję niższą niż 2.81.2? (ponieważ, jak rozumiem, wersja_porównaj zaczyna się od lewej i porównuje wyższe / niższe dla każdej cyfry, więc 9 będzie uważane za mniej niż 81)
Dokładnie. Standardowe porównanie wersji PHP zobaczy wersję 2.81.2 jako nowszą niż 2.9, ponieważ 81> 9.
Zalecam wydanie następnej wersji 3.0, a następnie zachowaj ostrożność podczas tworzenia wersji w przyszłości, aby zapobiec tego rodzaju literówce.
jeśli zauważę głupi błąd w kodzie, który tak naprawdę nie wpływa na działanie wtyczki, może literówka lub dodatkowy obraz. Co mam edytować i zatwierdzić, aby wszelkie nowe pliki do pobrania wtyczki zawierały zmianę?
czy muszę edytować bagażnik ORAZ folder znaczników i zatwierdzić oba?
Jeśli chcesz wprowadzić niewielką zmianę, rozważ wydanie aktualizacyjne . Zazwyczaj stosuję się do tego rodzaju schematu kontroli wersji:
2 . 1 . 3 . 5
major minor maint build
Numery kompilacji, których używam tylko wewnętrznie lub w wersjach beta ... prawie nigdy nie zobaczysz ode mnie numeru kompilacji, chyba że ręcznie wyślę Ci plik e-mailem (w ten sposób mogę rozpowszechniać wersje przedpremierowe, które nie będą łamały aktualizacji WordPress) .
Jeśli zauważę błąd w wersji na żywo, zrobię szybką łatkę i wydam wersję konserwacyjną. Załóżmy, że wypuściłem wersję wtyczki 2.2 i ktoś zauważa, że zapomniałem wywołać jQuery w trybie noConflict (). Zrobię szybką łatkę i natychmiast wydam 2.2.1.
Przyrost tej wersji zmusi WordPress do rozpoznania aktualizacji i dostarczenia poprawki każdemu, kto już zainstalował wersję 2.2.
Aby wydać wersję konserwacyjną, należy wykonać dokładnie te same kroki, jak w przypadku wypuszczania pełnej wersji systemu. Wprowadź zmiany, zwiększ wersję readme.txt
, zatwierdź /trunk
, oznacz itd.
Ale kiedy już coś oznaczysz, nigdy więcej tego nie zmienisz. Pomyśl o swoim /tags
folderze jako zamrożonym w czasie. Każda wersja w tym folderze jest migawką wtyczki w określonym momencie. Nigdy nie należy zmieniać żadnych plików /tags
bezpośrednio w folderze.
Jeśli uważasz, że to może być dobry pomysł, uderz się w tył głowy i zwolnij wersję konserwacyjną :-)
Jak wspomniał Piet, wcześniej napisałem dobry zestaw instrukcji krok po kroku ... ale witryna chyba straciła moje zrzuty ekranu. Oto kolejna wersja tego samego przewodnika krok po kroku ze zrzutami ekranu z Tortoise hostowanego na mojej stronie: http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/