Nick Patavalis <npat@inaccessnetworks.com> wrote:
> Several days pass by, the restructuring of my-mod0 progresses, and at
> the same time others commit minor changes to mod0 at the trunk. From
> time to time, I check these trunk-changes and merge them in my branch:
>
> svn merge -r r7:r8 svn://host/repo/proj/trunk/mod0
> svn merge -r r12:r13 svn://host/repo/proj/trunk/mod0
>
> (assuming of course a working copy on the branch)
>
> As far as I understand, once I've merged from the trunk to the branch,
> I can no longer hope for a way to merge from the branch back to the
> trunk; at least not without risking conflicts from the changes merged
> earlier from the trunk. So practically it's "one-way" merges only:
> Either you merge from branch to trunk, or the other way arround, but
> not both. Am I getting something fundamentally wrong?
Yes, this is wrong. You can merge both ways without problems provided
that you have a way to remember which revision ranges you have merged
from trunk to branch; then you merge everything *except* those ranges
back from the branch to the trunk. In your example:
cd trunk-wc
svn merge -r r1:r7 svn://host/repo/proj/branches/my-mod0
svn merge -r r8:r12 svn://host/repo/proj/branches/my-mod0
svn merge -r r13:HEAD svn://host/repo/proj/branches/my-mod0
However, this is inconvenient and error-prone. In my experience, it is
much easier to keep the range of revisions that you merge from trunk to
branch contiguous, like this:
cd branch-wc
svn merge -r r1:r8 svn://host/repo/proj/trunk/mod0
# a week later:
svn merge -r r8:r13 svn://host/repo/proj/trunk/mod0
# yet another week later:
svn merge -r r13:r27 svn://host/repo/proj/trunk/mod0
At the end, you have a branch that consists of trunk plus changes on
branch, which means that the final merge back is a single merge like
this:
cd trunk-wc
svn merge svn://host/repo/proj/trunk/mod0_at_r27 \
svn://host/repo/proj/branches/my-mod0 .
--
Stefan Haller
Ableton
http://www.ableton.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Dec 8 17:01:22 2004