WordPress

Jaki jest prawidłowy sposób aktualizacji wtyczki za pomocą Tortoise SVN do repozytorium?

  • 12 czerwca, 2011
  • 4 min read
Jaki jest prawidłowy sposób aktualizacji wtyczki za pomocą Tortoise SVN do repozytorium?


Wstyd mi się przyznać, ale nie mam zielonego pojęcia o procedurze aktualizacji wtyczki za pomocą Tortoise SVN, chociaż moja wtyczka znajduje się w repozytorium od lat i została pobrana ponad 300 000 razy!

Nie bądź. SVN może być trudny dla wielu osób… więc przejdźmy przez to krok po kroku…

To jest to, co robiłem do tej pory.

  1. zakoduj aktualizacje wtyczki na moim komputerze lokalnym, aż będę z niej zadowolony
  1. skopiuj wszystkie pliki z mojego lokalnego folderu wtyczek do /trunk/ (plik wtyczki i readme mają zaktualizowane numery wersji)
  2. zatwierdź katalog trunk
  3. kliknij prawym przyciskiem myszy katalog trunk i wybierz opcję Utwórz gałąź/tag i ustaw ją tak, aby kopiowała się do folderu w /tags/, a nazwa była numerem wersji

Czy jest to poprawne i czy kolejność jest właściwa? Jeśli nie, jaka jest prawidłowa kolejność?

Prawie …

Kroki, które powinien być następującym:

  1. Koduj aktualizacje wtyczki lokalnie, aż będziesz zadowolony
  2. Zwiększ tag „stabilny” w swoim readme.txt plik, aby dopasować go do nowego numeru wersji
  3. Skopiuj lokalne aktualizacje do /trunk katalog lokalnego folderu wtyczki
  4. Popełniać cała wtyczka aby zapisać zmiany /trunk do repozytorium
  5. Kliknij prawym przyciskiem myszy /trunk i utwórz nowy tag, kopiując do /tags/X.X.X gdzie xxx to ta sama wersja w tagu „stabilna” readme.txt (krok 2)
  6. Popełniać cała wtyczka aby zapisać tag

z jakiegoś powodu podczas ostatniej aktualizacji przeszedłem z wersji 2.8.1 na 2.81.2. Czy to oznacza, że ​​aktualizacja nie będzie wyświetlana jako dostępna na pulpicie osób, które mają wersję 2.81.2, jeśli zmienię kolejny numer wersji na 2.9?

Bingo. Jeśli zatwierdziłeś wersję 2.81.2 jako aktualizację i ludzie faktycznie pobrali tę aktualizację, nie zobaczą wersji 2.9, gdy ją wydasz.

w jaki sposób WordPress ustala, która wersja jest najnowsza i czy użytkownik powinien zaktualizować swoją wersję? czy wykonuje version_compare? który działa tylko z prawidłowym formatem wersji php, prawda? np. 2.9.2 jest uważana za niższą wersję niż 2.81.2? (ponieważ, jak rozumiem, version_compare zaczyna się od lewej i porównuje wyżej/niżej dla każdej cyfry, więc 9 byłoby uważane za mniejsze niż 81)

Dokładnie. Standardowe porównanie wersji PHP pokaże wersję 2.81.2 jako nowsza wersja niż 2,9 ponieważ 81 > 9.

Warto przeczytać!  Przewodnik dla początkujących: Jak bezpiecznie zaktualizować WordPress (infografika)

Zalecam, abyś wydał wersję 3.0, a potem… bardzo ostrożnie podczas tworzenia wersji w przyszłości, aby zapobiec tego typu literówkom.

jeśli zauważę głupi błąd w kodzie, który nie ma wpływu na działanie wtyczki, może literówkę lub dodatkowy obrazek. Co mam edytować i zatwierdzić, aby wszystkie nowe pobrania wtyczki zawierały tę zmianę?

czy muszę edytować folder trunk ORAZ tag i zatwierdzić oba?

Jeśli musisz wprowadzić niewielką zmianę, rozważ to jako wydanie konserwacyjneZwykle stosuję następujący schemat wersjonowania:

2      .      1       .       3       .       5
major         minor           maint           build

Numery kompilacji, z których korzystam wyłącznie wewnętrznie lub w przypadku wersji beta… prawie… nigdy zobaczysz numer kompilacji ode mnie, chyba że ręcznie wyślę Ci plik e-mailem (w ten sposób mogę rozpowszechniać wersje przedpremierowe, które nie zakłócą aktualizacji WordPressa).

Jeśli zauważę błąd w wersji live, szybko wprowadzę poprawkę i wypuszczę wersję konserwacyjną. Powiedzmy, że wydałem wersję 2.2 wtyczki i ktoś zauważy, że zapomniałem wywołać jQuery w trybie noConflict(). Szybko wprowadzę poprawkę i natychmiast wypuszczę wersję 2.2.1.

Zwiększenie wersji zmusi WordPressa do wykrycia aktualizacji i udostępnienia poprawki każdemu, kto już zainstalował wersję 2.2.

Warto przeczytać!  posty — ładowanie WordPress Ajax nie działa

Aby udostępnić wersję konserwacyjną, należy postępować zgodnie z dokładnie te same kroki jakbyś wypuszczał pełną wersję systemu. Więc wprowadź zmiany, zwiększ wersję w readme.txtpopełniać /trunktag, itp.

Ale gdy już coś oznaczysz, Nigdy więcej tego nie zmienisz. Pomyśl o swoim /tags folder zamrożony w czasie. Każda wersja w tym folderze jest migawką Twojej wtyczki w określonym momencie w czasie. Powinieneś nigdy zmień dowolne pliki w /tags bezpośrednio do folderu.

Jeśli myślisz, że to może być dobry pomysł, to uderz się w tył głowy i zamiast tego wypuść wersję konserwacyjną 🙂

Jak wspomniał Piet, napisałem wcześniej dobry zestaw instrukcji krok po kroku… ale strona najwyraźniej straciła moje zrzuty ekranu. Oto inna wersja tego samego przewodnika krok po kroku ze zrzutami ekranu z Tortoise hostowanego na mojej stronie:


Źródło