Re: Moving from SVN to git - finally!
Mikhail Miroshenko <[email protected]>
| Newsgroups | gmane.comp.php.documentation.general |
|---|---|
| Message-ID | <[email protected]> |
> How is the workflow for maintainers different than before? Oh no, as far as I know, earlier maintainers did not need to do actions locally -- just the online doc editor and here we go! Currently, each of the maintainers needs to have own local repository and manually apply third-party patch from a PR. This is hellish pain! BTW what about actualizing a translated doc files? In the online editor we could see which files were outdated and needed in translation update. Currently, maintainers need to find out this manually. Offtop -- oh, it seems to me that you have "buried" the translations of docs with current migration, because it is much more difficult and unpleasant to handle this. I have been a maintainer for a long time and the online editor is the best tool for me as regular translator! I am very sad that you have essentially removed all the tools that simplify (translation) work. Even using the GitHub interface is impossible to merge a PR... so what was the point then? It's just a Git mirror, nothing more, imo. > The idea would be to have the maintainers added to the github repo as maintainers. Then you'd be notified of a new PR. It would be great. Although I actually wrote about it before. That you can use the GitHub's _code owners_ to achieve this. 30.12.2020, 19:06, "Andreas Heigl" <[email protected]>: Hey Mikhail Am 30.12.20 um 16:52 schrieb Mikhail Miroshenko: This is all well and good, although I think the manual process of committing changes (via locally applying patch) **only** complicates the work for maintainers :( How is the workflow for maintainers different than before? The feedback I got was that you have to download the patch from edit.php.net and apply it locally to your repo and then push the changes to SVN. Apart from that – as nikita already said – there can be toolage created to automate a lot of it. PRs welcome! Moreover, my question is, how do maintainers find out about a PR (patch) in a git repo? Who should I mention to get the PR merged asap? The idea would be to have the maintainers added to the github repo as maintainers. Then you'd be notified of a new PR. Cheers Andreas 30.12.2020, 16:59, "Nikita Popov" <[email protected] >: On Tue, Dec 29, 2020 at 7:34 PM Andreas Heigl <[email protected] < mailto:[email protected] >> 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 < http://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 < http://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 [email protected] < mailto:[email protected] >:/doc/en.git And if you are doing translations: * Check out your respective language from [email protected] < mailto:[email protected] >:/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 < http://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 < http://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 < http://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 -- ,,, (o o) +---------------------------------------------------------ooO-(_)-Ooo-+ | Andreas Heigl | | mailto:[email protected] N 50°22'59.5" E 08°23'58" | | https://andreas.heigl.org | +---------------------------------------------------------------------+ | https://hei.gl/appointmentwithandreas | +---------------------------------------------------------------------+