On Mon, 2009-06-29 at 11:38 -0400, Brian FitzGerald wrote:
> One solution I have heard of large shops using is to have each
> developer have their own branch in the repository, so that once their
> coding is complete, they would commit to their personal branch.
> the code reviewer would perform a commit from the developers branch
> the (and I get hazy about the specifics here) main development branch
> (would this need to be a separate repository?).
We have a combination of policies,
configurations, hooks scripts and python tools
to enforce the following workflow:
Each software product we develop has its own repository
Each repository has a main development line
some older branches
a collections of official builds
and a collection of modification branches
The commit rights in the repository are restricted,
so only very few people (and robots) can commit
everywhere and all developers can commit into
Whenever a developer starts a modification, they create
a branch which can be a copy of the head revision of
the trunk or older branch or of a specific official build.
As a convention, developer bob calls a branch that is
created to fix issue #4711
We have a "create_mod" GUI tool that automates this.
bob now has his own private branch that will not
change unless he commits a change to it.
When bob is done with his modification, he can use
a tool to build it on all platforms and another tool
that re-merges it so it fits into the head or the
Once bob is satisfied with his mod branch, he submits
it for code review to one to five other developers
using a "submit_mod" GUI tool.
(These tools use svn properties to keep track of the
Once all developers have accepted the mod, a daemon
picks it up, builds it on all platforms and commits
it back into the trunk or the older branch where it
originated if the build was OK on all platforms.
We currently have about a dozen svn repositories that
are managed this way and form a hierarchy of software
products that re-use some base products (libraries)
to build end products based on them.
During the night another daemon works its way through this
hierarchy (of 30 trunks / older branches) and creates
the official builds.
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-06-29 20:20:42 CEST