Basically a branch is a way to work on two things in parallel, without
stepping on each other's toes, but with an 'easy' way to reconcile the
two end products back into a single version.  So if you and I need to
work on the same code, I can launch a branch from our starting point
while you work on the trunk (main branch).  When I'm done, I can merge
my changes into the trunk, often with no manual intervention.

As I see it, there are two main uses for branches:

1) releases.  When you do a release of your software and need to fix a
bug, you'd launch a branch of the exact release code, and fix the bug
there.  That way any subsequent mods you've made on the trunk don't
get in the way when you're making your patch for the bug, but it's
still easy to merge the bugfix into your trunk so it's there for the
next release

2) concurrent development.  When you've got two things that need to be
done, and both of them need to happen in isolation (because working on
them at the same time will be problematic, or one of them is
experimental and might not actually be used, or whatever), a branch is
perfect.  You launch a branch, do you stuff, and if/when it comes time
to integrate back into the trunk, it's easy to do.

Where I work, we maintain the trunk, and a 'staging' branch, which is
current production codebase.  We split off branches from the trunk as
needed (for scenario 2), and all dev work that happens to the staging
branch is done in subbranches, thereby ensuring that the actual
staging branch is always an exact mirror of production.

I'd highly recommend the SVN book (http://svnbook.red-bean.com), as
it's got some good foundation knowledge about SVN, as well as some
good examples.

cheers,
barneyb

On 10/26/05, jonese <[EMAIL PROTECTED]> wrote:
> Hey all,
>
> We recently moved from VSS to SVN (please quit with the applause) and while
> we are "using it" we aren't taking full advantage of it. Ie branching,
> merging etc. Right now it's just a update, commit thing for us to keep our
> code sync'd between developers.
>
> I'm looking to see if anyone out there has a best practices guide, or better
> yet can share your corporate policy on how source control is to be used in
> your office. We are a small development shop (4 developers full time) and we
> work on multiple sites at once. I'm not sure if the who merging and
> branching is really for us but i'd like to see how other development shops
> are doing it, so we can get an idea of what we might be missing.
>
> feel free to post public or private.
> TIA
> jonese
>
--
Barney Boisvert
[EMAIL PROTECTED]
360.319.6145
http://www.barneyb.com/

Got Gmail? I have 100 invites.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:222365
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to