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 |
+---------------------------------------------------------------------+
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.