[Svnmerge] r22788: some discussion

Giovanni Bajo rasky at develer.com
Thu Jul 12 16:08:23 PDT 2007


Hi Luke,

I'm try to make some sense out of this r22788 confusion. I saw several patches 
from you and Dustin, but I'm still unclear about the root cause of confusion. 
I'll quote a mail of yours:

=============================================================================
The problem is that r22788 is initializing to the wrong revision number.  If
we copy, say, branch from trunk (becoming, respectively, the merge source and
merge target--I prefer the names source and target in the code, since the
merges could go in any direction), then there are 2 revision numbers of
interest:
    1) the particular revision number of the trunk (merge target) from which
    the branch (merge source) was copied
    2) and the revion number in which the copy was committed to create the
    branch (merge source)
#1 above is the one that r22788 uses. This causes problems I'll demonstrate
below. #2 is the one that we want to use for initializing a branch in *this
scenario*.  We want to use #2 because the changes that occur between revisions
#1 and #2 are not of interest (we are trying to merge in changes that occurred
ON the branch, which didn't exist before #2).
=============================================================================

Let's move to examples to see if I understood you. I don't like the terms 
"trunk" or "branch" either. I think it's misleading. Let's call all of them 
"branches".

We start from branch A. In commit r20, we create a new branch, B, as a copy 
from A at 10.

Now, what should svnmerge init do?

* In A's working copy, "svnmerge init" should set the property to B:1-20. To 
the best of my understanding, this is not what it does now.
* In B's working copy, "svnmerge init" should set the property to A:1-10. To 
the best of my understanding, this works now.

So, am I getting this right?
-- 
Giovanni Bajo




More information about the Svnmerge mailing list