[svk-devel] branch management

Chia-liang Kao clkao at clkao.org
Fri Oct 19 08:03:40 EDT 2007


Hi,

clsung and I are sketching branch management functionalities in svk.
wip is on the bm branch.

Basically a bunch of serious development houses I talked to are using
the per-feature or per-bug branching model for development, and have
their release manager do the merging to an rc branch, have it qa'ed
and then merge back to trunk.  The goal here is to make this as simple
as possible.

First of all we need a way to describe a "project" in svk so we know
where the trunk and branches are.  due to the nature of svn's
branching being solely relied on convention, we'll start with some
heuristics and guessing. but later we can refactor this part using
some other meta-data (for example the one i proposed at
http://svn.haxx.se/dev/archive-2006-09/0198.shtml)

the command will look like:

  % svk branch --create feature/abc # create branches/feature/abc from
trunk for the current project
  % svk branch --create feature/abc --switch-to # create the branch
and also switch the checkout over
  % svk branch --create feature/abc --switch-to --local # create the
branch but in local depot

  % svk branch --move feature/abc release-ready/abc # move the branch
to release-ready branch directory
  % svk branch --list # list active branches
  % svk branch --list release-ready # list release ready branches
  % svk branch --merge release-ready/* rc # merge all release-ready
branches to a branch called rc which was branched from trunk
  % svk branch --merge rc trunk # release rc to trunk
  % svk branch --merge --from rc # ditto

And some ways to move back and forth from local branch to remote
branch, as well as publishing them.

Ideas? Thoughts? Patches?

Cheers,
CLK


More information about the svk-devel mailing list