[Numpy-discussion] Using svnmerge on numpy: am I missing something ?

Fernando Perez fperez.net@gmail....
Tue Jan 8 00:01:12 CST 2008

On Jan 7, 2008 10:41 PM, David Cournapeau <david@ar.media.kyoto-u.ac.jp> wrote:
> Hi,
>     for my work related on scons, I have a branch build_with_scons in
> the numpy trunk, which I have initialized exactly as documented on the
> numpy wiki (http://projects.scipy.org/scipy/numpy/wiki/MakingBranches).
> When I try to update my branch with the trunk, I got suprising merge
> request, in perticular, it tried to merge all trunk revision up to 2871,
> whereas I created my branch with a copy from the trunk at revision 4676.
> Am I missing something ? Shouldn't it try to merge from the revision I
> started the branch (since this revision is a common ancestor) ?

AFAIK, the merge command must ALWAYS be given with explicit revision
brackets, since this is precisely the information SVN does not track
at all.  Quoting:

But as discussed in the section called "Best Practices for Merging",
you don't want to merge the changes you've already merged before; you
only want to merge everything "new" on your branch since the last time
you merged. The trick is to figure out what's new.

The first step is to run svn log on the trunk, and look for a log
message about the last time you merged from the branch:

$ cd calc/trunk
$ svn log
r406 | user | 2004-02-08 11:17:26 -0600 (Sun, 08 Feb 2004) | 1 line

Merged my-calc-branch changes r341:405 into the trunk.

Aha! Since all branch-changes that happened between revisions 341 and
405 were previously merged to the trunk as revision 406, you now know
that you want to merge only the branch changes after that—by comparing
revisions 406 and HEAD.

As you can see, they recommend that you indicate in that particular
log message the revision brackets of what you've already merged, so
you can find that information easily later. Once you have this
information on record, you start doing all your future updates on the
branch with specific revision ranges, and that seems to work
reasonably well.



More information about the Numpy-discussion mailing list