On Tue, Dec 29, 2020 at 7:34 PM Andreas Heigl <andr...@heigl.org> wrote:
> Hey folks! > > After some years we are finally at the point to do what so many have > been asking for: We will move the source-control of the > PHP-Documentation from SVN to git! > > Tomorrow! > > TL;DR > > Tomorrow we will remove docs-karma from SVN, do a final transition and > then add doc-karma to git. Then all contributions to the > PHP-Documentation will be via git.php.net > > Slightly longer version: > > Throughout the last year we continuously moved the commits from SVN over > to the different repositories at git.php.net. 2 Days ago we finally > switched the actually creation of the docs from using the SVN-sources to > using the git-sources. It was a seamless transition and the broken > translations were broken before. So we managed to switch the VCS without > anyone noticing ;-) > > But that will not be possible for the next step. > > As everyone that is currently contributing to the docs via SVN will need > to do at least 2 things to be able to continue contributing! > > * Checkout the docs-base from https://git.php.net/repository/doc/base.git > * Check out the english documentation from g...@git.php.net:/doc/en.git > And if you are doing translations: > * Check out your respective language from > g...@git.php.net:/doc/[language].git > > Yes! You've seen that right! We moved away from the monorepo to one repo > per language. As at this point in time there are access restrictions on > the different languages this was a necessary move. There are pros and > cons to that that were addressed when we started that voyage. And you > can feel free to discuss them as soon as the transition has been made > and you have found someone doing the necessary work for a further change > ;-) > > And as git doesn't know about "revisions" we had to change one thing for > the translations: So far you kept the revision of the english doc you > base the translation on in the attribute "en-revision". That will now > change! After the switch you will need to add the _commit-hash_ of the > english doc there instead! > > Apart from that the translation workflow itself stays the same. We only > changed the Version Control System, nothing else. > > So what will be the next steps now? > > As already mentioned: Sometime tomorrow we will switch off karma for > svn.php.net. > Then we will do one last transition to git and modify the repos so that > the revision is replaced by the commit-hash > Then we will switch karma on for git.php.net > And when that is finished, we will create the github mirrors so that > everyone can create PRs for the docs and the translations! > > That's it. > > Almost... > > As there is one thing though that is not done yet which we need some > help with: The revision-check! For those of you that do not know what it > is: Head over to http://doc.php.net/revcheck.php and have a look. In > short: It shows how outdated a translation is. This was tightly coupled > to SVN and it is much harder to convert to git as originally > anticipated. So any help on that is highly appreciated! Patches for > http://git.php.net/?p=web/doc.git;a=blob;f=scripts/rev.php are > definitely welcome! > > But that is something for a new challenge! > > Looking forward to being able to put a decade long challenge for the > community and a 4+ year challenge for me to a good end tomorrow! > > Let's all cross fingers that everything goes as smooth as expected! > > Cheers > The SVN -> Git migration has finished. If you have phpdoc karma, you should be able to push to the "doc" repos listed on http://git.php.net/ now. Note that the upstream Git repos are hosted on git.php.net (e.g. http://git.php.net/?p=doc/en.git;a=summary), but have mirrors on GitHub ( https://github.com/php/doc-en). You should always push changes to the upstream repo, not the GitHub mirror. The GitHub mirrors only exist to accept pull requests. It will take a while for all the tooling to catch up, so in the meantime some notes on how we typically merge pull requests in php-src: 1. Append ".patch" to the pull request URL: https://github.com/php/doc-en/pull/293.patch 2. Download the patch: wget https://patch-diff.githubusercontent.com/raw/php/doc-en/pull/293.patch 3. Apply the patch: git am 293.patch 4. Auto-close the pull request: git commit --am and add "Closes php/doc-en#293" to the commit message 5. Push: git push origin master I expect this workflow to be automated for documentation repositories in the future. Regards, Nikita