You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by wuzhouhui <wu...@mails.ucas.ac.cn> on 2019/03/20 06:42:45 UTC

version control model of Subversion source code

Hi,

This question is unrelated to Subversion's usage or issues, but
related to version control model of Subversion source code. Let
me explain in detail.

As far as I know, new code is committed to trunk firstly, then
cherry-picked to release-branch in necessary, so the branch-view
of Subversion is following (cp stands for cherry-pick):

-----------o--------------------o-----------          1.10.x
          /                    /
        cp                   cp
        /                   /
--------o---------o--------o---------o-----o          trunk
        \          \                  \
         cp         cp                 cp
           \         \                   \
------------o---------o-------------------o           1.11.x

And tags are always created on release-branch.

Am I right?

Re: version control model of Subversion source code

Posted by Ralph Seichter <ab...@monksofcool.net>.
* wuzhouhui:

> As far as I know, new code is committed to trunk firstly, then
> cherry-picked to release-branch in necessary [...] And tags are
> always created on release-branch.

It can be done this way, but that's not a requirement. One can also tag
'trunk', or any other branch.

-Ralph

Re: version control model of Subversion source code

Posted by wuzhouhui <wu...@mails.ucas.ac.cn>.
> On Mar 20, 2019, at 11:25 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> 
> I think wuzhouhui wasn't asking about branching models in general, but
> specifically about what model the Subversion project uses for versioning
> its own source code (https://svn.apache.org/repos/asf/subversion/).
Right, this is what I want to ask.
> 
> wuzhouhui, your description is accurate.  In Subversion's tree
> changes are committed first to trunk and then backported to release
> branches via the STATUS files.  The process is described in HACKING at
> <https://subversion.apache.org/docs/community-guide/releasing.html#release-stabilization>.
I'll look at this.
> 
> Cheers,
> 
> Daniel


Re: version control model of Subversion source code

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
I think wuzhouhui wasn't asking about branching models in general, but
specifically about what model the Subversion project uses for versioning
its own source code (https://svn.apache.org/repos/asf/subversion/).

wuzhouhui, your description is accurate.  In Subversion's tree
changes are committed first to trunk and then backported to release
branches via the STATUS files.  The process is described in HACKING at
<https://subversion.apache.org/docs/community-guide/releasing.html#release-stabilization>.

Cheers,

Daniel

Paul Hammant wrote on Wed, 20 Mar 2019 15:21 +00:00:
> You can do any branching model you like with subversion. That said, I 
> maintain that Trunk-Based Development is the best model, and note that 
> there are merge issues with other branching models in rare 
> circumstances [ref 
> <https://paulhammant.com/2015/09/27/subversion-merge-limitations-not-in-git/>].
> 
> On Wed, Mar 20, 2019 at 6:43 AM wuzhouhui <wu...@mails.ucas.ac.cn> wrote:
> > Hi,
> > 
> >  This question is unrelated to Subversion's usage or issues, but
> >  related to version control model of Subversion source code. Let
> >  me explain in detail.
> > 
> >  As far as I know, new code is committed to trunk firstly, then
> >  cherry-picked to release-branch in necessary, so the branch-view
> >  of Subversion is following (cp stands for cherry-pick):
> > 
> >  -----------o--------------------o----------- 1.10.x
> >  / /
> >  cp cp
> >  / /
> >  --------o---------o--------o---------o-----o trunk
> >  \ \ \
> >  cp cp cp
> >  \ \ \
> >  ------------o---------o-------------------o 1.11.x
> > 
> >  And tags are always created on release-branch.
> > 
> >  Am I right?

Re: version control model of Subversion source code

Posted by Paul Hammant <pa...@hammant.org>.
You can do any branching model you like with subversion. That said, I
maintain that Trunk-Based Development is the best model, and note that
there are merge issues with other branching models in rare circumstances [
ref
<https://paulhammant.com/2015/09/27/subversion-merge-limitations-not-in-git/>
].

On Wed, Mar 20, 2019 at 6:43 AM wuzhouhui <wu...@mails.ucas.ac.cn>
wrote:

> Hi,
>
> This question is unrelated to Subversion's usage or issues, but
> related to version control model of Subversion source code. Let
> me explain in detail.
>
> As far as I know, new code is committed to trunk firstly, then
> cherry-picked to release-branch in necessary, so the branch-view
> of Subversion is following (cp stands for cherry-pick):
>
> -----------o--------------------o-----------          1.10.x
>           /                    /
>         cp                   cp
>         /                   /
> --------o---------o--------o---------o-----o          trunk
>         \          \                  \
>          cp         cp                 cp
>            \         \                   \
> ------------o---------o-------------------o           1.11.x
>
> And tags are always created on release-branch.
>
> Am I right?