(as a completely external voice, user, packager, architect of systems big
and small) - would it not make sense to model the workflow of a project
that has a more positive feature _and_ stability profile?

With all due respect, Subversion is an old project, offering little new,
with a dwindling userbase. New adoptions of subversion are not something
you hear about.

I would instead look at git -- not because it's an SCM, but because it's a
smaller, simpler, and less "personality-driven" version of the Linux kernel
workflow. Or PostgreSQL, which is evolving towards something similar but
even less personality-driven.

Both git and Pg offer really outstanding stability, backwards compat, and
steadily add new features, big and small. Every time I look I am pleasantly
surprised of the new bits added.

with high regards, and respect,



martin

On Fri, Apr 20, 2018 at 10:05 AM, Jim Jagielski <j...@jagunet.com> wrote:

> Great info! Thanks!
>
>
> On Apr 20, 2018, at 9:52 AM, Greg Stein <gst...@gmail.com> wrote:
>
> Hi all,
>
> I've been kind of watching the thrashing around on several threads now
> about problems and fixes to how the HTTPD project manages its process
> around releases. I thought it might be a good idea to suggest a
> tried-and-true alternative defined by the Apache Subversion project, and
> documented extensively at [1].
>
> That is a lot to wade through, and parts just don't apply ... but even
> reading some of that could be helpful when read as a comparative point to
> how HTTPD historically does its T&R and branch/release management. That
> Subversion "manual" on releases is very stable, and what we've been
> doing/developed during our 18 years, especially with the project's
> understanding of version control, and svn specifically :-)
>
> Read the "Stabilizing and maintaining releases" section at a minimum,
> please. That is kind of core to some of the issues on the mailing list
> recently, and it describes how Subversion does things.
>
> I don't want to write a tome, but to begin a discussion to adopt that
> documented approach with tweaks for httpd. So to write a shorter note, I'd
> basically summarize as:
>
> * all development occurs on trunk
> * release branches are made off trunk for each MINOR release (see the
> 1.$N.x branches at [2])
> * stabilization occurs on release branches by only cherry-picking existing
> work/changes off of trunk
> * when a release branch is made, trunk's version is bumped (ie. say trunk
> is 2.5, the 2.6.x branch is made, then trunk becomes 2.7)
> * IMO, don't bother making 2.7.x releases; just use the number to
> determine if somebody grabbed a snapshot of trunk (svn happens to be
> 1.11.0-dev in trunk, and will become 1.12.0-dev once the 1.11.x branch is
> made; the svn project looks for a reported version of "-dev" for such
> snapshot behavior) ... if you're going to think about a 2.7.x "test"
> release, then just make it 2.8.x instead and label the feature experimental.
> * trunk is always stable and passes buildbot tests
> * version numbers are cheap, feel free to burn them (see our CHANGES[3]
> where many specific numbers are recorded as "Not released")
> * Subversion has its own compatibility declarations defined around
> major/minor; I'd suggest skip that and stick to the existing HTTPD "MMN"
> system
>
> I think that is most of the highlights. Again: I'd suggest reading the
> section on Stabilization, and maybe "Creating and maintaining release
> branches" section. The whole page for extra credit :-)
>
> Cheers,
> -g
>
> [1] http://subversion.apache.org/docs/community-guide/releasing.html
> [2] http://svn.apache.org/repos/asf/subversion/branches/
> [3] http://svn.apache.org/repos/asf/subversion/trunk/CHANGES
>
>
>


-- 
 martin.langh...@gmail.com
 - ask interesting questions  ~  http://linkedin.com/in/martinlanghoff
 - don't be distracted        ~  http://github.com/martin-langhoff
   by shiny stuff

Reply via email to