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