You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ma...@micorp.com on 2004/07/14 12:13:10 UTC

Recommended Merge Procedure for Trunk -> Branch

Hi,

Our repository is setup as the following on Win2K platform using svn win32 
1.0.5, as suggested:

$REPOS_HOME/subversion/repos
$REPOS_HOME/subversion/repos/project
$REPOS_HOME/subversion/repos/project/trunk
$REPOS_HOME/subversion/repos/project/tags

The trunk head is currently at revision 12.  I have created a tagged 
revision called tags/2.1 that was created (committed) as revision 11 that 
is a copy of the trunk at revision 8.  Several changes have been made to 
the trunk since revision 8.  I would like to rev up the tags/2.1 revision 
to get the missing changes from the trunk (rev 12).  The merging from the 
docs is a little confusing, and it does not discuss reving from the trunk 
with higher revision to a branch or tag at a lower revision.

Could you please help us with this.  In general, our new development is 
done on branches, while bug fixes, etc., are done either on the trunk or a 
bug fix branch.  We will certainly need to merge occassionally to get bug 
fixes to the dev branches.  The docs had a lot of warning about simple 
direct merging from the head of one branch to the head of another, so I 
don't want to mess up with a brute force attempt.

Any help or URL pointers would be appreciated.

Thanks, in advance, for checking out this post.

Regards,
Matt Hanson

Re: Recommended Merge Procedure for Trunk -> Branch

Posted by Ben Collins-Sussman <su...@collab.net>.
On Wed, 2004-07-14 at 07:13, Matthew.Hanson@micorp.com wrote:
> Hi,
> 
> Our repository is setup as the following on Win2K platform using svn
> win32 1.0.5, as suggested:
> 
> $REPOS_HOME/subversion/repos
> $REPOS_HOME/subversion/repos/project
> $REPOS_HOME/subversion/repos/project/trunk
> $REPOS_HOME/subversion/repos/project/tags
> 
> The trunk head is currently at revision 12.  I have created a tagged
> revision called tags/2.1 that was created (committed) as revision 11
> that is a copy of the trunk at revision 8.  Several changes have been
> made to the trunk since revision 8.  I would like to rev up the
> tags/2.1 revision to get the missing changes from the trunk (rev 12).

You want to change your tag?  It's not really a tag then, is it?  Isn't
it more of a branch?  :-)

'svn merge' compares two trees and applies the diffs to a working copy. 
So if you want /tags/2.1 to "absorb all changes between r8 and r12 that
happened on trunk", then you would compare two snapshots of trunk -- r8
and r12 -- and apply those to a working copy of /tags/2.1.

   $ cd tag-working-copy
   $ svn merge -r8:12 URL-of-trunk

>   The merging from the docs is a little confusing, and it does not
> discuss reving from the trunk with higher revision to a branch or tag
> at a lower revision.

The revision is global to the repository;  you need to stop talking
about different directories "being at different revisions".  They're
not.  Every directory in the repository is at HEAD, that is, at r12.  It
may be that /tags/2.1 is a 'snapshot' of /trunk@r8, but that's about the
origin of /tags/2.1.




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