A simple way to branch a small component of head in order to do work in a project branch while still using most of the parent branch. This has the effect of lessening merge events and allowing one to better integrate with the mainline branch.

Example:

 * svn mkdir svn+ssh://svn.freebsd.org/base/user/sbruno/1394dev
 * svn copy svn+ssh://svn.freebsd.org/base/head/sys/dev/firewire svn+ssh://svn.freebsd.org/base/user/sbruno/1394dev/firewire
 * svn co svn+ssh://svn.freebsd.org/base/head
 * cd head
[sbruno@testbox /bsd/head]$ svn switch svn+ssh://sbruno@svn.freebsd.org/base/user/sbruno/1394dev/firewire sys/dev/firewire
U    sys/dev/firewire/fwohci_pci.c
U    sys/dev/firewire/firewire.c
 U   sys/dev/firewire
Updated to revision 228154.

Merges from head into the project branch:

[sbruno@testbox /bsd/head]$ svn up
Updating '.':
[sbruno@testbox /bsd/head]$ svn merge svn+ssh://sbruno@svn.freebsd.org/base/head/sys/dev/firewire sys/dev/firewire
--- Merging r227676 through r228154 into 'sys/dev/firewire':
U    sys/dev/firewire/fwohci_pci.c
U    sys/dev/firewire/firewire.c
--- Recording mergeinfo for merge of r227676 through r228154 into 'sys/dev/firewire':
 U   sys/dev/firewire

TODO: Merges from the project branch into head

SeanBruno/SvnSwitch (last edited 2011-11-30T19:08:03+0000 by SeanBruno)