You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Davy Durham <pu...@davyandbeth.com> on 2006/09/08 02:14:17 UTC

branching a lot a misuse?

When I'm done with an implementation phase and want to go into beta 
testing phase (while still doing some development on the trunk) I create 
a branch called /branches/betatesting

Then I may have several beta phases that restart on a weekly basis 
whereby I do the following:
1) work on trunk
2) beta testing phase begins, so I create /branches/betatesting copying 
the trunk to it
3) some work continues within trunk
4) small fixes are made to /branches/betatesting as bugs are reported
5) a week passes and it's time for the next beta phase
6) merge changes from /branches/betatesting back to trunk
7) svn delete branches/betatesting
8) recreate branches/betatesting (as in step 2)
9) goto step 3)  (until release is ready)



So, the gist of it is that I'm deleting and re-creating a branch with 
the same name repeatedly but merging changes from it back to trunk 
before deleting.

My question is, is this an abuse/misuse of branches?  Will it make 
history look funny after a long time?  Will it degrade performance after 
a long time?

I wouldn't need steps 7 and 8 if merge tracking were implemented into 
svn because I would simply merge branch to trunk and trunk to branch at 
the start of each beta phase.

The whole point of it is to be able to continue some work on the trunk 
while beta testing is going on, and being able to fix bugs in branch for 
beta users without them having to get any potentially broken changes 
from the trunk until the next beta phase starts.

Is there a ETA on a merge tracking feature in svn?  Will it help with 
this issue?

If this is fine, just let me know.  If this proceedure is silly and 
there is a better way, then I'd like to know that too.

Thanks in advance,
   Davy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: branching a lot a misuse?

Posted by William Nagel <bi...@stagelogic.com>.
On Sep 7, 2006, at 10:14 PM, Davy Durham wrote:

> When I'm done with an implementation phase and want to go into beta  
> testing phase (while still doing some development on the trunk) I  
> create a branch called /branches/betatesting
>
> Then I may have several beta phases that restart on a weekly basis  
> whereby I do the following:
> 1) work on trunk
> 2) beta testing phase begins, so I create /branches/betatesting  
> copying the trunk to it
> 3) some work continues within trunk
> 4) small fixes are made to /branches/betatesting as bugs are reported
> 5) a week passes and it's time for the next beta phase
> 6) merge changes from /branches/betatesting back to trunk
> 7) svn delete branches/betatesting
> 8) recreate branches/betatesting (as in step 2)
> 9) goto step 3)  (until release is ready)
>
>
>
> So, the gist of it is that I'm deleting and re-creating a branch  
> with the same name repeatedly but merging changes from it back to  
> trunk before deleting.
>
> My question is, is this an abuse/misuse of branches?  Will it make  
> history look funny after a long time?  Will it degrade performance  
> after a long time?

I wouldn't call it an abuse.  It won't hurt the history of your trunk  
at all, and it won't degrade performance one bit.  The only real  
problem is that it may make finding a particular beta version  
difficult, since you'd have to know what revision the beta version  
that you were looking for existed in (if you delete betatesting and  
then recreate it, you have two different directories with different  
histories, one of which has been deleted and doesn't exist in the  
current revision).  You can easily get around that problem though, by  
tagging each betatesting branch before you delete it.  That way old  
beta testing versions will always still exist in the current revision.

>
> I wouldn't need steps 7 and 8 if merge tracking were implemented  
> into svn because I would simply merge branch to trunk and trunk to  
> branch at the start of each beta phase.
>
> The whole point of it is to be able to continue some work on the  
> trunk while beta testing is going on, and being able to fix bugs in  
> branch for beta users without them having to get any potentially  
> broken changes from the trunk until the next beta phase starts.
>
> Is there a ETA on a merge tracking feature in svn?  Will it help  
> with this issue?

You might check out svnmerge.py in the contrib directory of the  
Subversion source.  I haven't personally used it, because I don't do  
much merging, but it may help you out until full-fledged merge  
tracking is implemented in SVN.

-Bill

>
> If this is fine, just let me know.  If this proceedure is silly and  
> there is a better way, then I'd like to know that too.
>
> Thanks in advance,
>   Davy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: branching a lot a misuse?

Posted by Carsten Koch <Ca...@icem.com>.
Davy Durham wrote:
...
> My question is, is this an abuse/misuse of branches?  Will it make
> history look funny after a long time?  Will it degrade performance after
> a long time?

We are doing essentially the same thing here at ICEM - on an even larger
scale. We create a branch for every little modification we make.
The modification lives happily in the branch until it has been tested
and code reviewed. When it is ready, it is merged back into the trunk
and deleted.

To answer your questions: Yes, it does make the global log long.
But it makes the trunk log short. So, look at the trunk log only
and all is fine.
Yes, it does have a negative impact on performance, depending on
your repository kind (BDB or FSFS) and the underlying file system.
We are currently using FSFS on an ext3 file system and it seems
that we are taking a performance hit due to the fact that FSFS
creates 80 000 files for 40 000 revisions and ext3 seems to be
struggling with very large numbers of files per directory.
This may work better with a BDB repository.
It may also work better (or worse) with other file systems.

Carsten.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: branching a lot a misuse?

Posted by Ch...@qimonda.com.
My approached, and it works for me at least, is
to branch, and do ALL development on the branch.
I merged from trunk to branch as I go along. When
I'm satisfied with my branch code, I merge to trunk.

>-----Original Message-----
>From: Davy Durham [mailto:pubaddr3@davyandbeth.com] 
>Sent: Thursday, September 07, 2006 10:14 PM
>To: users@subversion.tigris.org
>Subject: branching a lot a misuse?
>
>When I'm done with an implementation phase and want to go into 
>beta testing phase (while still doing some development on the 
>trunk) I create a branch called /branches/betatesting
>
>Then I may have several beta phases that restart on a weekly 
>basis whereby I do the following:
>1) work on trunk
>2) beta testing phase begins, so I create 
>/branches/betatesting copying the trunk to it
>3) some work continues within trunk
>4) small fixes are made to /branches/betatesting as bugs are reported
>5) a week passes and it's time for the next beta phase
>6) merge changes from /branches/betatesting back to trunk
>7) svn delete branches/betatesting
>8) recreate branches/betatesting (as in step 2)
>9) goto step 3)  (until release is ready)
>
>
>
>So, the gist of it is that I'm deleting and re-creating a 
>branch with the same name repeatedly but merging changes from 
>it back to trunk before deleting.
>
>My question is, is this an abuse/misuse of branches?  Will it 
>make history look funny after a long time?  Will it degrade 
>performance after a long time?
>
>I wouldn't need steps 7 and 8 if merge tracking were 
>implemented into svn because I would simply merge branch to 
>trunk and trunk to branch at the start of each beta phase.
>
>The whole point of it is to be able to continue some work on 
>the trunk while beta testing is going on, and being able to 
>fix bugs in branch for beta users without them having to get 
>any potentially broken changes from the trunk until the next 
>beta phase starts.
>
>Is there a ETA on a merge tracking feature in svn?  Will it 
>help with this issue?
>
>If this is fine, just let me know.  If this proceedure is 
>silly and there is a better way, then I'd like to know that too.
>
>Thanks in advance,
>   Davy
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: users-help@subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org