This post comes from the first version of this blog.
Please send me an email if anything needs an update. Thanks!

Od dwóch dni przez środowisko programistów PHP (i nie tylko) przetacza się wiadomość o migracji kodu interpretera PHP z Subversion na gita. Kiedyś w jednym z komentarzy na blogu Wojtka Soczyńskiego obiecałem, że także spróbuję podjąć misję informowania o co ciekawszych wiadomościach pochodzących z wnętrza grupy php.internals, także zapraszam do lektury pierwszego wpisu z tej serii.

Fotografia: Alexandre Dulaunoy, CC-BY-SA.

php.internals: Migracja kodu PHP z SVN do Gita.

Jak wiadomo wszystkim zainteresowanym cały kod PHP jest trzymany w repozytorium SVN. Cały, tzn. interpreter + podstawowe rozszerzenia, ponieważ repozytorium PEAR, czy PECL to już zupełnie inna bajka. Kilka razy pojawiały się propozycje, żeby na fali popularności innych systemów kontroli wersji "coś z tym zrobić", jednak do tej pory pomysły te upadały ze względu na nikłe zainteresowanie uczestników.

Od dłuższego czasu toczyła się zażarta dyskusja pomiędzy zwolennikami scentralizowanych systemów kontroli wersji, reprezentowanymi głównie przez SVN, a sympatykami tzw. DVCSów (rozproszonych VCSów), czyli gita, Mercuriala (Hg) i im podobnych. Ci pierwsi starali się przeforsować utrzymanie status quo argumentując, że przeniesienie kodu na rozproszone repozytoria spowoduje masę problemów i ogólną utratę panowania nad tym, które repozytorium jest “oficjalne”. “DVCSowcy” szybko skontrowali to stanowisko wyjaśniając, że to wcale tak nie wygląda i będzie jedno repo, ale możliwość sklonowania go w taki sposób, żeby łatwe było modyfikowanie poszczególnych elementów bez synchronizacji z “masterem”.

Wspomniany wątek dotyczący tej kwestii zawierał bardzo dużo argumentów zarówno za, jak i przeciw migracji na inny system SCM, dlatego zostało zarządzone głosowanie. Wczoraj na grupie php.internals pojawiła się następująca wiadomość:

[RESULT] Choosing a distributed version control system for PHP:

Hi Internals,

after 2 weeks of voting and discussion, I closed the votes today. The results are fairly straightforward. Most of the users want to move to a decentralized version control system.

52 want to switch to git 15 want to switch to Mercurial 1 for bazaar 13 want to stay with SVN

I don’t want to make a difference of who voted for what. I think the results are overwhelming in favor of Git.

I’ll continue with writing the implementation RFC for php-src. I would like to do the move for php-src until December (as I will be on vacation for the whole Oct). Let’s see how this go. Any help is much appreciated.

For everyone else, go read http://progit.org, make yourself familar with Git.

  • David
Skoro w głosowaniu zdecydowaną większością wygrał git, pojawił się wątek związany z wykorzystaniem Githuba. Tutaj głos zabrał BDFL PHP, czyli Rasmus Lerdorf, pisząc:
Note the vote was for git, not github. And yes, there has been a github repo for a long time: https://github.com/php/php-src

-Rasmus

Dalsza lektura wątku nie wyjaśnia jednak, w jaki sposób i czy w ogóle Github zostanie oficjalnie wykorzystany w utrzymywaniu kodu PHP.

Według mnie, pomimo sentymentu do SVNa, ta migracja to dobry ruch. Szczególnie integracja z Githubem powinna być swojego rodzaju priorytetem, ze względu na to, że udostępniłaby ona kod PHP środowisku wielu tysięcy programistów skupionych wokół tego serwisu. Biorąc pod uwagę relatywnie wolne tempo prac nad rozwojem interpretera myślę, że na pewno skorzystają z tego obie strony.

Github ponadto posiada bardzo fajne funkcje związane z śledzeniem błędów i złączaniem propozycji kodu (sławne “pull requesty”), które to operacje będzie mógł śledzić każdy zainteresowany, a więc każdy będzie mógł się wypowiedzieć na dany temat i ew. przysłać własną poprawkę. Poza tym, jest to kolejny bardzo duży projekt, który dał kredyt zaufania gitowi, co po raz kolejny dowodzi, że idea wysnuta i zaprogramowana przez Linusa Torvaldsa jest warta uwagi.

A co Wy o tym sądzicie?