Instrukcje: przekazywanie repozytorium GitHub na serwery wtyczek wordpress

21

Rozwijam moją wtyczkę na githubie, ale jeśli chodzi o wdrożenie, muszę jakoś skopiować moje zmiany do Wordpress SVN . Obecnie robię to ręcznie i kopiuję każdy plik w każdym katalogu osobno, ale jest to czasochłonne i podatne na błędy.

Widziałem i wypróbowałem kilka skryptów, ale myślę, że muszę je źle uruchomić, ponieważ albo błąd, albo nieprawidłowe kopiowanie plików.

Moje pytanie brzmi: czy ktoś osiągnął to automatycznie, a jeśli tak, to jak to zrobiłeś?

Dzięki!

studioromeo
źródło
Chociaż myślę, że jest to interesujące i przydatne pytanie, również nie wchodzi w zakres, ponieważ dotyczy interakcji Git i Subversion i nie ma w tym nic specyficznego dla WordPress. Muszę pomyśleć, co byłoby najlepszą akcją tutaj ...
Rarst,
Zacząłem pytanie dotyczące meta, aby omówić tę sprawę.
Rarst
@Pierwsze dzięki za to, przepraszam, że nie umieściłem pytania
studioromeo,

Odpowiedzi:

1

zobacz ten samouczek współpracownika mojego zespołu: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn

ale nie korzysta z rozwiązania, łatwiej jest pracować osobno :(

bueltge
źródło
Dzięki @bueltge. Czy mam więc rację sądząc, że wrócił do metody ręcznej?
studioromeo
4
Z miłości do wszystkiego, co święte, nie postępuj zgodnie z instrukcjami na tej stronie. Jeśli nagle zrobisz setki zobowiązań w naszym SVN, osobiście postaram się, aby celem mojego życia było cię znaleźć i pokonać cię kijem. A może po prostu zbanować cię na WordPress.org. ;) Proszę zatwierdzić tylko ostateczną wersję, a nie każdą ze zmian, które zgodziłeś się na git. Cenimy twoją historię, ale tylko znaczącą historię. Problem z git polega na tym, że ludzie popełniają mnóstwo bezużytecznych bzdur, a ogólnie rzecz biorąc nie musimy znać tych wszystkich rzeczy.
Otto
@Otto Lol! Nie, chcę po prostu móc wdrożyć moje zmiany w repozytorium SVN. Obecnie wykonaj to ręcznie nadpisując pliki w moim sprawdzonym repozytorium svn, ale jest to żmudne i podatne na błędy. Masz jakieś sugestie?
studioromeo
3
Wykonanie interaktywnego bazowania zmian w Git pozwoli ci połączyć je w jeden zatwierdzenie SVN. Więcej informacji na temat tego, jak to zrobić, znajduje się tutaj: stackoverflow.com/questions/158514/...
Otto
1
@Otto „ Szczerze mówiąc, nie wiedziałbym, że nie używam Gita. Uważam to za irytujące. ” Można odpowiedzieć innym cytatem (prosto od ciebie) „ Osobiście postaram się, aby celem mojego życia było cię znaleźć i pokonać cię z kijem ":)
kaiser
1

Po przeczytaniu tych odpowiedzi wcisnąłem jedną z moich wtyczek do GitHub i napisałem skrypt release.sh . Ten skrypt pobiera częściowe pobranie mojej wtyczki z plugins.svn.wordpress.org przy użyciu --depth immediatesi aktualizuje pliki w trunk/i assets/. Powinno to uprościć okresowe przekazywanie do svn, używając repozytorium wordpress.org do oznaczania wydań zamiast utrzymywania historii programowania:

./release.sh
svn cp trunk tags/0.6
svn ci "Sending 0.6 from https://github.com/foo/bar to wordpress.org"

Bardziej ogólna wersja może współpracować z większą różnorodnością wtyczek, obsługiwać usunięte pliki i aktualizować tagi svn automatycznie na podstawie tagów git.

Annika Backstrom
źródło
1

Zobacz Jak opublikować wtyczkę WordPress - Git z @EAMann, aby uzyskać szczegółowy opis.

fuxia
źródło
Jeśli masz zamiar to zrobić, zrób interaktywny rebase, a następnie zmień wszystkie zatwierdzenia na zgniecione, abyś nie robił dziesiątek małych zatwierdzeń na serwerach SVN. Więcej informacji na temat tego, jak to zrobić, znajduje się tutaj: stackoverflow.com/questions/158514/...
Otto
5
@Otto Chociaż całkowicie rozumiem twoje życzenie zmniejszenia obciążenia serwera :) Naprawdę, naprawdę uwielbiam zatwierdzenia atomowe, jeśli muszę debugować kod innych osób. Hm… automatyczne łącze do publicznego repozytorium Git z pełną historią zatwierdzeń może być przydatnym rozszerzeniem katalogu wtyczek.
fuxia
3
Muszę się z tym zgodzić z @Otto. SVN WordPress.org powinien być repozytorium wydań, a nie repozytorium programistycznym.
MikeSchinkel
1

Pytanie było stare, ale teraz rozwiązanie jest teraz dostępne z działaniami GitHub. Ostatnio GitHub dodał Akcje Github do automatycznego przepływu pracy dla repozytorium GitHub.

A znana firma 10up stworzyła „Wdrażanie wtyczki Action WordPress”.

Jest bardzo łatwy w konfiguracji. I zgodnie z @otto mówi, że nie musimy przesyłać każdej zmiany do svn, więc możemy ustawić automatyzację podczas tworzenia nowego tagu na github.

Nasza wtyczka github automatycznie wypycha kod do repozytorium WordPress, gdy tworzymy nowy tag wydania.

Przydatne linki:

maheshwaghmare
źródło
0

Nie robię tego automatycznie, ale jest to dość proste:

Sprawdź, czy ciężarówka SVN i Git master znajdują się w tym samym katalogu. Używaj Git do prawie wszystkiego, tak jak w przypadku każdego projektu tylko Git.

Ustaw opcję stable tagbe trunk, a następnie, gdy będziesz gotowy do wydania wydania, oznacz go w Git, a następnie natychmiast pchnij do trunk. Nie przejmuj się wypychaniem do SVN/tags , ponieważ Twoja historia wydań jest bezpieczna w Git (i Github).

O to chodzi.

Aby to wyczyścić, dodaję .svndo .gitignoreoraz .git(itests/ , phpunit.xmlitp), które mają być ignorowane przez SVN.

Skrypt release.sh naprawdę nie byłby niczym więcej niż następującym (po zaktualizowaniu numeru wersji w kodzie i zatwierdzeniu go w Git):

git tag $1
svn ci -m"Release: $1"
Sam Wilson
źródło