Professional Documents
Culture Documents
01 SVN FeroKacmarik
01 SVN FeroKacmarik
František Kačmarik
Branches
● What's a Branch
● Using Branches
Release Branches
● Developers commit all new work to the trunk
● The trunk is copied to a “release” branch
● Teams continue to work parallel
● Testing release branch, implementing new features
in trunk
● Bugs are ported back and forth
● After time, the branch is frozen, tagged and
released
● The branch is maintained over time
Feature Branches
● sync frequently
● svn status
● working copy of the branch must be “clean” when
merging
● snv merge sourceURL1[@N] sourceURL2[@M]
[WCPATH]
● svn merge ^/calc/trunk
● svn commit
SVN mergeinfo
● Cherrypicking
● want to apply only one specific change
● this changes will be skipped in following merge
● svn merge -c 355 ^/calc/trunk
Merge Options
● --record-only option in svn merge
● blocking changes
● change has already been made
● omit some changes
$ cd my-calc-branch
$ svn update
Updated to revision 393.
$ svn merge --record-only -c 391 ^/calc/trunk
--- Recording mergeinfo for merge of r391 into '.':
U .
$ svn commit -m "Block revision 391 from being merged into my-
calc-branch."
Sending .
Committed revision 394.
SVN blame, SVN log
● http://svnbook.red-bean.com/nightly/en/svn-
book.pdf