[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Branched and non-branched work flows?

From: Theodore H. Smith <delete_at_elfdata.com>
Date: Mon, 1 Jun 2009 20:30:39 +0100

On 1 Jun 2009, at 20:00, Bob Archer wrote:

>> I have a situation here where one developer prefers avoiding
>> branching
>> code (from release version 1 of software to v2), when possible
>> because
>> he finds branches a time-waste, due to workflow overhead when trying
>> to make the same change to both the released v1 and the unreleased
>> v2.
> How then does he keep them separate? If he makes a code change that
> needs to be in both how do you build release 1 and release 2 from
> the same folder structure?

He doesn't keep them separate. There is only one version of the
source. He tends to do "incremental development", and simply disables
features which aren't ready to be released yet, or enables them for
testing. It's not too hard to have it set up so the features are
automatically enabled or disabled on different releases.

What is a "feature branch"? Can you branch just one file or folder?

We actually have a file that needs a "branch" anyhow, because it
simply cannot be the same on both servers. Our "app" is a web app
running on a server, and it so happens that we need a slightly
different, but kind of complicated .htaccess file, and it's important
enough to need checking into svn. But if it was checked in from
development server, and checked out on the live server, that would
cause the live server to break.

And that's even with the exact same version, no need for version
branching from either developer's perspective.

> There are a many thoughts on this. Branch for release or use feature
> branches (branch for the new version).

> I'm still not sure with dev 1 how having a branch for ver1 slows him
> down? He can do his work in trunk, check it in as a single rev and
> if that needs to be in v1 also merge that rev into the v1 branch.

Two code bases need two sets of testing. And two "models" in the mind
are needed to understand it. Merging again is another extra step.

>> 2) Revert to non-branched mode, because it's faster and we have no
>> need for any file to be branched, and tell developer 2 that he is
>> being "precious" with his way of seeing things?
> I still think this dev is doing "something" to keep them separate. I
> am confused as to how you could build v1 from trunk if you are
> committing v2 changes.

It won't be the same on a code level, as the original v1. The
differences will be extra code lying around that are unused. On a
functional level, it will be the same.

> Of course, a lot of this depends on how much change is happening
> from v1 to v2.... is this a minor point release or a major release.

Differences are more of an addition on the side, than an overhaul of
existing work.


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-06-01 21:32:28 CEST

This is an archived mail posted to the Subversion Users mailing list.