InVesalius/BranchGuideline

SVN Branching Mantainance

The instructions bellow consider you have directories similar to:

  • trunk
  • branches/usp-navegador

In the same folder (e.g: invesalius).

0. Checkout branch

If you haven't yet,

 $ svn co --username YOURNAME@EMAIL.COM http://svn.softwarepublico.gov.br/svn/invesalius/invesalius3/branches/usp-navegador

Where 'YOURNAME@…' is your email registered to InVesalius Trac.

1. Enter branch folder

 $ cd branches/usp-navegador

2. Update your branch and commit any changes

 $ svn update
 $ svn commit -m "ENH: Navigator panel"

3. Find out HEAD (trunk) revision

 $ svn info ../../trunk | grep Revision

The number shown (ex: r1596) will be the trunk current revision (HEAD_REVISION).

4. See branch's last merge revision

See the last revision in which this branch and the trunk were merged.

 $ svn log --limit 1 | grep -B 3 .

The number shown (ex: r1418) is this last merged revision in tis branch (LAST_MERGED_REVISION).

5. Merge trunk with branch

 $ svn merge -r LAST_MERGED_REVISION:HEAD_REVISION ../../trunk

Example:
 $ svn merge -r 1418:1596 ../../trunk

6. Commit this merge

Without changes, so we can make regressions!

 $ svn commit -m "MERGE: trunk changes r1418:1596 into branch"

Note: please, comment in English and follow this pattern:

  • ADD: New feature to InVesalius
  • ENH: Enhaced a existing feature in InVesalius
  • DOC: Documentation-related (both source-code or specific file)
  • STYLE: Cosmetic improvement (identation, style)
  • FIX: Bug fix