HEADS UP: CVS changes

php.internals

Sascha Schumann

23 years ago
The great unification has commenced. There is now a single module php-src which contains all PHP 4 and PHP 5 branches. BRANCH INFORMATION Please make yourself familiar with the "cvs checkout -r BRANCH" notation. It will be necessary from now on for a checkout. Some examples: PHP 5: cvs co -r PHP_5 php-src-ze2 PHP 4: cvs co -r PHP_4 php-src-ze1 PHP 4.3: cvs co -r PHP_4_3 php-src-ze1 The branch names can also be used for cvs diff and merge operations. Note that all of the above commands create a local directory named "php-src". I hope that we can eliminate the ze1/ze2 suffixes soon, but that is another topic. UPGRADE PROCEDURE The php4/php5 modules have been disabled so that you cannot accidentially commit code into the wrong branch. A "cvs update" will also fail. Please use the following syntax to upgrade your existing checkout: $ cd phpX $ find . -name Repository|xargs perl -pi -e 's/php./php-src/' $ cvs upd -r PHP_5 Replace PHP_5 with the name of the branch you are working on. - Sascha

Adam Dickmeiss

23 years ago
On Mon, Jun 23, 2003 at 11:37:56PM +0200, Sascha Schumann wrote:
> The great unification has commenced. > > There is now a single module php-src which contains all PHP 4 > and PHP 5 branches. > > BRANCH INFORMATION > > Please make yourself familiar with the "cvs checkout -r > BRANCH" notation. It will be necessary from now on for a > checkout. > > Some examples: > > PHP 5: cvs co -r PHP_5 php-src-ze2
Can't this one to work. adam@gamma:~/proj/php-src$ ./buildconf using default Zend directory buildconf: checking installation... buildconf: autoconf version 2.13 (ok) buildconf: automake version 1.5 (ok) buildconf: libtool version 1.4.3 (ok) make[1]: *** No rule to make target `Zend/Zend.m4', needed by `configure'. Stop. make: *** [all] Error 2 adam@gamma:~/proj/php-src$ Zend missing? -- Adam
> PHP 4: cvs co -r PHP_4 php-src-ze1 > PHP 4.3: cvs co -r PHP_4_3 php-src-ze1 > > The branch names can also be used for cvs diff and merge > operations. Note that all of the above commands create a > local directory named "php-src". > > I hope that we can eliminate the ze1/ze2 suffixes soon, but > that is another topic. > > UPGRADE PROCEDURE > > The php4/php5 modules have been disabled so that you cannot > accidentially commit code into the wrong branch. A "cvs > update" will also fail. Please use the following syntax to > upgrade your existing checkout: > > $ cd phpX > $ find . -name Repository|xargs perl -pi -e 's/php./php-src/' > $ cvs upd -r PHP_5 > > Replace PHP_5 with the name of the branch you are working on. > > - Sascha > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php
-- Adam Dickmeiss mailto:adam@indexdata.dk http://www.indexdata.dk Index Data T: +45 33410100 Mob.: 212 212 66

Rasmus Lerdorf

23 years ago
> PHP 5: cvs co -r PHP_5 php-src-ze2
Is it possible to perhaps make PHP_5 synonymous with HEAD while this is the main dev branch? Perhaps through an alias? The move the alias when the main dev branch becomes something else? It does seem a bit weird to not have main development on HEAD. Also would it be possible to alias php4 and php5 checkouts so they do the right thing? -Rasmus

Sascha Schumann

23 years ago
> Is it possible to perhaps make PHP_5 synonymous with HEAD while this is > the main dev branch? Perhaps through an alias? The move the alias when > the main dev branch becomes something else? It does seem a bit weird to > not have main development on HEAD.
The lack of consistency regarding branch handling caused a lot of confusion in the developer base. Especially for those whose main project is not PHP. With a rigid mantra "Work on PHP X? Use PHP_X" this becomes much easier to follow.
> Also would it be possible to alias php4 and php5 checkouts so they do the > right thing?
Currently, that would mean selecting a branch and magically choosing the correct Zend Engine. I would _love_ to see the latter fixed. This however would require merging of the two CVS histories which is not that easy, to say the least. To be specific, I would like to see php-src-ze1 -d php-src php-src &Zend &TSRM php-src-ze2 -d php-src php-src &ze2-dir &TSRM being folded into one, with ZendEngine2 completely removed. - Sascha

Zeev Suraski

23 years ago
At 00:37 24/06/2003, Sascha Schumann wrote:
> The great unification has commenced. > > There is now a single module php-src which contains all PHP 4 > and PHP 5 branches. > >BRANCH INFORMATION > > Please make yourself familiar with the "cvs checkout -r > BRANCH" notation. It will be necessary from now on for a > checkout. > > Some examples: > > PHP 5: cvs co -r PHP_5 php-src-ze2 > PHP 4: cvs co -r PHP_4 php-src-ze1 > PHP 4.3: cvs co -r PHP_4_3 php-src-ze1
I think that PHP 5 (or whatever the latest major version of PHP in the works is at a given moment) should be in HEAD, and not in a branch. CVS branches are really useful for maintaining old versions, but I think HEAD is the most suitable branch for ongoing development(*), and we're not really using it with this setup. Using this approach, we'll develop PHP 5 in HEAD, and once PHP 6 comes around the corner, we'd branch away a PHP_5 branch, and HEAD will become PHP 6. It's pretty similar to the method we've been using with mini versions. Thoughts? Zeev (*) You can use -A safely, some CVS features (at least in certain versions) work sub-optimally when inside branches, etc.

Sascha Schumann

23 years ago
> I think that PHP 5 (or whatever the latest major version of PHP in the > works is at a given moment) should be in HEAD, and not in a branch. CVS > branches are really useful for maintaining old versions, but I think HEAD > is the most suitable branch for ongoing development(*), and we're not > really using it with this setup. Using this approach, we'll develop PHP 5 > in HEAD, and once PHP 6 comes around the corner, we'd branch away a PHP_5 > branch, and HEAD will become PHP 6. It's pretty similar to the method > we've been using with mini versions.
I'm especially leaning towards consistency right now, probably because of the lack of it in past times. When we use PHP_X for PHP X, we have a permanently valid 1-1 association between source code and branch name which is the most transparent way to handle things IMHO.
> (*) You can use -A safely, some CVS features (at least in certain versions) > work sub-optimally when inside branches, etc.
I haven't run into these.. details would certainly simplify that decision. - Sascha

Rob Richards

23 years ago
Just a couple of things about the current state of the repository. A bunch of files in TSRM for PHP_5 need to be reverted to the previous revision to get them back working with php5. The ones which were synched with the php4 branch are now missing all the changes/fixes made to them over the past x months. Also, it looks like at least domxml and xslt were dropped from the php_4 branches. I know they were moved to PECL for php5, so probably just got lost in the shuffle. Not sure if any others are missing. Rob

Sebastian Bergmann

23 years ago
Rob Richards wrote:
> Also, it looks like at least domxml and xslt were dropped from the > php_4 branches.
There is, however, ext/sqlite in PHP_4_3 :)
-- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ http://www.professionelle-softwareentwicklung-mit-php5.de/

Edin Kadribasic

23 years ago
"Sascha Schumann" <sascha@schumann.cx> wrote in message news:Pine.LNX.4.53.0306240028120.31011@eco.foo...
> I haven't run into these.. details would certainly simplify > that decision.
I found that it was not possible to get a diff between two dates with two -D options in a branch which works fine in HEAD. Edin

Zeev Suraski

23 years ago
At 01:32 24/06/2003, Sascha Schumann wrote:
> > I think that PHP 5 (or whatever the latest major version of PHP in the > > works is at a given moment) should be in HEAD, and not in a branch. CVS > > branches are really useful for maintaining old versions, but I think HEAD > > is the most suitable branch for ongoing development(*), and we're not > > really using it with this setup. Using this approach, we'll develop PHP 5 > > in HEAD, and once PHP 6 comes around the corner, we'd branch away a PHP_5 > > branch, and HEAD will become PHP 6. It's pretty similar to the method > > we've been using with mini versions. > > I'm especially leaning towards consistency right now, > probably because of the lack of it in past times. When we > use PHP_X for PHP X, we have a permanently valid 1-1 > association between source code and branch name which is the > most transparent way to handle things IMHO.
My humble opinion differs. There's no need for all of the versions of PHP to have the same weight - the latest version, the one that's being actively worked on, should be the one in HEAD. As was evident in the past you're mostly interested in PHP 4, but most of the developers are interested in 5, and all of the new development is going there. There's no need to complicate things just for the sake of consistency, when we're dealing with two versions that are in completely in different stages in their life cycle.
> > (*) You can use -A safely, some CVS features (at least in certain versions) > > work sub-optimally when inside branches, etc. > > I haven't run into these.. details would certainly simplify > that decision.
Well, for once, you can't use -A, which is quite annoying to begin with. In addition, various versions of CVS don't handle multiple sticky tags too well - so if you'd like to say, update to a certain date in the branch - it won't work (you can have just one sticky tag - either date or branch). It appears to be fixed in the most recent versions of CVS but I bumped into it in many real-world systems. In general, the implementation of branches in CVS is very simplistic and suboptimal, and forcing people to always work with branches is not a good thing. We should simply dump the PHP_5 branch and work on HEAD. Are these branches supposed to be in the same state right now? Zeev

Edin Kadribasic

23 years ago
> Well, for once, you can't use -A, which is quite annoying to begin > with. In addition, various versions of CVS don't handle multiple sticky > tags too well - so if you'd like to say, update to a certain date in the > branch - it won't work (you can have just one sticky tag - either date or > branch). It appears to be fixed in the most recent versions of CVS but I > bumped into it in many real-world systems. In general, the implementation > of branches in CVS is very simplistic and suboptimal, and forcing people
to
> always work with branches is not a good thing.
I agree that we should have a HEAD branch. In this case PHP5 should be it. The reason is that I have also experienced problems when working with branches, namely trying to extract FD patch, after it was reverted. I could not specify two dates and a branch. Two dates alone work fine. Edin

Ilia A.

23 years ago
On June 23, 2003 05:37 pm, Sascha Schumann wrote: A clean checkout using "cvs co -r PHP_4_3 php-src-ze1" does not appear to fetch the TSRM directory. Ilia

Sebastian Bergmann

23 years ago
Sascha Schumann wrote:
> The great unification has commenced.
Thanks for your effort!
-- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ http://www.professionelle-softwareentwicklung-mit-php5.de/