On Thu, Dec 15, 2011 at 5:12 PM, David Soria Parra <d...@php.net> wrote:

> Hi Internals,
>
> three months ago we decided to move PHP to Git. I want to give you
> an update what happend so far and what we are working on.
>
> So far we have:
>
>  1. A working import from php-src.
>  2. A basic server setup.
>  3. A working Karma implementation.
>
> A little bit more details:
>
>  We will use y3.php.net as our git server. This server will run nginx
> as a webserver. We will provide a web frontend using gitweb.  You can
> pull using HTTP and Git protocols. Pushs will be done usign HTTPS only.
> You will use the same credentials that you used for SVN. A new Karma
> implementation was written and will be tested within the next weeks.
>
>  The minimum required Git version for cloning using the Git protocol
> will be 1.4.0. The minimum for pushing will be Git 1.6.5.3.
>
>  The migration will require some adjustements to the repository and
> a proper migration of SVN properties. We also need to rewrite author
> information on the repository. The Git Author information consists
> of a name and a email address. Therefore we will rewrite the autor
> information and use your stored Name and your usern...@php.net email
> address as the new author information. For example:
>
>  SVN commit author | Git commit author
>  ------------------------------------
>  dsp               | David Soria Parra <d...@php.net>
>  gwynne            | Gwynne Raskind <gwy...@php.net>
>
> IMPORTANT: If you do not like us to use the name stored in the master
> DB for your account please let me know and we will change that.
>
>  About SVN properties: We will not use 'keywords' anymore, unless
> a certain code needs it. I'm aware that code like reflection use
> the keyword information in their phpinfo() text. Should we enable
> keywords for this file or do we change the code?
>  With the transition to Git one of the main attributes of keywords
> are gone. Git version nuimbers are not incremental so I don't see
> much point in using them anymore.
>
>  SVN ignores will be converted to a .gitignore file.
>
> TODO (What comes in mind atm):
>
>  1. Compile a list of scripts/sites that need to be changed in order
>     to work with the git repo. Some sites are already on the list:
>     - http://ci.qa.php.net
>     - http://snaps.php.net
>     - http://edit.php.net
>     - http://lxr.php.net
>  2. Finish the setup of the y3.php.net server. We need to figure
>     out how to make http digest auth work nginx. We also need to
>     setup email hooks, etc.
>  3. Test the current karma implementation. More details will follow.
>  4. Setup github mirroring
>
> Helping with the migration:
>
>  Help is always appreciated. There are differnet ways in helping.
>  One is preparing the listed sites (ci.qa.php.net) for the git
>  transition. Help with setting up the server is also much apprecaited.
>  Just drop me a mail if you have some time to help.
>
> Schedule:
>  I hope to get the server and the migration ready for the end of this year
>  and probably do the switchover in the last week of december or the first
>  week of january, as I don't expect much commits during the holidays.
>  This will probably line up with the 5.4.0 release.
>
> Github:
>  There was a lot of discussion if we can use github as our main
> hosting platform.  I spoke to github people and they said it's not
> possible to implement the PHP Karma system on github without rewriting
> major parts of github. Two solutions were discussed.
>
>  (1) Only a bot can merge changes into the main repository. All committers
>  will use pull requests. The bot checks for Karma. This approach will
>  substantially extend the roundtrip time commit <-> karma check and will
>  make every commiter wait a few seconds before he gets a status if he
>  is able to commit. We also would need to deal with failing automatic
> merges
>  and every developers needs to use the github GUI to create pull requests.
>
>  (2) Split the PHP repository into submodules accoriding to karma. This
> will
>  mean we will end up with dozents of submodules. This will split
>  commits apart.  If you commit to ext/standard and Zend/ you will end
>  up with different 3 commits.
>
> For me the overall conclusion is, that we take one step at a time and self
> host with
> github mirroring, but feel free to discuss alternatives.
>
> We will however support a direct mirror to github that makes it possible
> to use
> discuss pull requests on github.com, and then merge them locally (which
> you should
> anyway as you want to run the test suite before you push).
>
> This is just a short version of what we did so far.
>
> Questions?
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
thanks for the heads up.
for the jenkins cluster (ci.qa.php.net) migration the following steps
are necessary:
- install the git plugin (already done because we pull symfony from
git(hub))
- install the git cli client on all slaves used for building php-src (it is
installed on the master node, installing on the linux/freebsd slaves would
be trivial, for windows I would go with msysgit)
- change the project configuration to use the git repo instead of the svn
I don't think that it would take much effort, nor do I expect surprises,
but I will set it up ASAP, so that we can sort it out before pulling the
plug.

websvn/viewvc: we would need to replace those and the links for those, and
there is also a bunch of wiki pages to update (how to contribute, fetching
the source, etc)

this is the things from the top of my head.
-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

Reply via email to