jaki jest prawidłowy sposób aktualizacji wtyczki przez repozytorium tortoise svn?


18

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ń!

tutaj jest wiele pytań dotyczących svn, ale jeszcze bardziej mnie pomylili: -z

jakoś udało mi się do tej pory, ale muszę znać właściwą procedurę aktualizacji mojej wtyczki do nowej wersji w odniesieniu do zatwierdzania łącza i tworzenia katalogu tagów.

To właśnie robiłem do tej pory.

  1. koduj aktualizacje wtyczek w moim lokalnym, dopóki nie będę zadowolony
  2. skopiuj wszystkie pliki z mojego lokalnego folderu wtyczek do / trunk / (wtyczka i plik readme mają zaktualizowane numery wersji)
  3. zatwierdzić katalog trunk
  4. 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?

także o numerach wersji ...

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?

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)

inne pytanie,

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?


2
nie ma powodu, by się wstydzić, ja też miałem problemy około miesiąc temu i faktycznie poszedłeś o wiele dalej niż ja :) @EAMann bardzo dobrze opisuje całą procedurę, w tym zrzuty ekranu, w tym wątku: wordpress.stackexchange.com/questions/ 16951 /…

Odpowiedzi:


29

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.

  1. koduj aktualizacje wtyczek w moim lokalnym, dopóki nie będę zadowolony
  2. skopiuj wszystkie pliki z mojego lokalnego folderu wtyczek do / trunk / (wtyczka i plik readme mają zaktualizowane numery wersji)
  3. zatwierdzić katalog trunk
  4. 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ć:

  1. Koduj aktualizacje wtyczek lokalnie, dopóki nie będziesz zadowolony
  2. Zwiększ znacznik „stabilny” w readme.txtpliku, aby pasował do nowego numeru wersji
  3. Skopiuj lokalne aktualizacje do /trunkkatalogu lokalnego folderu wtyczek
  4. Zatwierdź całą wtyczkę, aby zapisać zmiany /trunkw repozytorium
  5. Kliknij prawym przyciskiem myszy /trunki utwórz nowy znacznik, kopiując do miejsca, /tags/X.X.Xgdzie xxx jest tą samą wersją w „stabilnym” znaczniku readme.txt(krok 2)
  6. 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 /tagsfolderze 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 /tagsbezpoś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/


2
Świetna odpowiedź. Jedna mała edycja: kiedy mówisz, że nigdy nie zmieniaj czegoś, co jest oznaczone, jest to prawie prawda. Załóżmy, że robisz literówkę w samym pliku Readme, więc nie musisz robić wydania konserwacyjnego, żeby to naprawić. Rozmawiałem dzisiaj na # wordpress-meta z jednym z głównych deweloperów, który wspomniał, że po prostu edytuj swoją otagowaną wersję, o ile jest to tylko plik readme.txt . Brak innych Ogólnie rzecz biorąc, tak, unikaj edytowania oznaczonych plików.
Andy Mercer

Świetna odpowiedź. Dodam tylko, że jeśli chodzi o numery wersji wtyczek, dobrym pomysłem jest używanie Wersji semantycznej, chociaż nie jest to konieczne, znacznie ułatwia użytkownikom sprawdzenie, czy wtyczka może potencjalnie uszkodzić Twoją witrynę, jeśli jest zmiana wersji MAJOR. Niezależnie od systemu, który wybierzesz do wersji, Twoja wtyczka będzie się składać i pamiętaj o aktualizacji dziennika zmian readme.
Aron
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.