Re: Git Migration: An Update
| From: | Ferenc Kovacs | Date: | Thu, 15 Dec 2011 21:57:00 +0000 |
| Subject: | Re: Git Migration: An Update | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-56941@lists.php.net to get a copy of this message | ||
On Thu, Dec 15, 2011 at 5:12 PM, David Soria Parra <dsp@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 username@php.net email
> address as the new author information. For example:
>
> SVN commit author | Git commit author
> ------------------------------------
> dsp | David Soria Parra <dsp@php.net>
> gwynne | Gwynne Raskind <gwynne@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