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 <wuzhouhu...@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?