From: Pierre Joye [mailto:pierre....@gmail.com] > On Wed, Aug 6, 2014 at 3:45 PM, Andrea Faulds <a...@ajf.me> wrote: >> >> On 6 Aug 2014, at 14:26, Pierre Joye <pierre....@gmail.com> wrote: >> >>> For the exts I tried while I was testing/fixing phpng a couple of >>> weeks ago, I'd to say that maintaining the same code base for phpng >>> and 5.x is simply too hard, way too many APIs changes, many of them >>> cannot be detected at compile time, introducing many many new #ifdefs >>> along other things. I will maintain a separate branch. The only thing >>> I worry about is how I will manage releases in pecl. I have no clean >>> solution now, or maybe one release with two branches bundled. Separate >>> releases could work too but I will try everything possible to do not >>> have to do that, or to have to do that as it is really painful to do. >>> Maybe I can manage to implement something in pickle to ease this work. >>> Ideas welcome. >> >> Perhaps for these extensions, it is best to not make it work with >> both versions, but instead have a 5.x version and a phpng version, >> and continue to maintain both separately? I wonder if that might actually >> be less work than trying to keep a single version working on both. > > This is what I just said. But the problem is then how to release them. > An extension will release 2.0.0, how do you release it? 2.0.0-7 and > 2.0.0 for 5.x? Packaging, branching, etc. will be painful too. The > whole flow many projects uses now will have to change. This is > something I have to think about, not sure what is the best solution > yet. > > -- > Pierre
I'd say the best way is to create a new major version for the extension branch which works with phpng. So 2.0.0 for normal and 3.0.0 for phpng. This would make it possible to maintain two branches for both versions. But I don't know if this is possible with pecl. Christian