On Tue, Jul 17, 2018 at 2:01 PM Sara Golemon <poll...@php.net> wrote:

> On Tue, Jul 17, 2018 at 1:04 AM, Remi Collet <r...@fedoraproject.org>
> wrote:
> > Le 13/07/2018 à 23:48, Zeev Suraski a écrit :
> > Perhaps we can also add all the generated files (including configure) in
> > the tagged versions, so the tag will have same content than the official
> > archive.
> >
> Ick, no.  That's the worst outcome IMO.  I don't think they need to be
> in git, but if we're going to have them there during tags, then they
> should always be there.  One way or the other, not some
> middle-of-the-road thing.


I can explain why I think that what I propose is the best outcome:
- It ensures that the correct versions of re2c are always used.
- It doesn't track generated files in source control.
- It allows users to build PHP from source on platforms where re2c is
unavailable.

Correct me if I'm wrong, but isn't that exactly what we do with
zend_language_parser.c?  makedist is responsible for generating it so that
it's available in distributions, but it isn't tracked.  Why would
zend_language_scanner.c be any different?  My guess is that it's probably
because at the time we moved to re2c it wasn't nearly as ubiquitous as it
is today and even most developers didn't have access to it, but now that's
changed.

I'm also fine with what Remi proposed which is adding these files
specifically to the source control at the time of tagging, in the spirit of
tracking everything that we actually end up releasing in source control
(and perhaps do that for zend_language_parser.c if we decide that this is
the right thing to do).

Either way - the first step (normalizing re2c versions - updating our r2ec
requirements) seems to make sense.  We can decide about whether or not we
track the generated files in git as we do today, only during tagging or not
at all independently of that.

Zeev

Reply via email to