[Svnmerge] Difference between avail and merge header / body revision lists

Mark Kempster mark at kempster.org
Wed Apr 4 12:20:44 PDT 2007


Hi there.
Short time lurker, first time poster.

I've got a simple release-branch / trunk scenario:
 - SVN/branches/0.2 was made from SVN/trunk (svn cp $SVN/trunk $SVN/branches/0.2)
 - bugs are fixed and checked in to /branches/0.2
 - checkins to /branches/0.2 are merged into /trunk
 - next-release checkins are made to /trunk
 - nothing from /trunk is merged to /checkins/0.2 (therefore this is not a --bidirectional situation, right?)

This is from memory, but the svnmerge init on trunk to pull from /branches/0.2 looked like
 cd /merge/trunk
 svn log --stop-on-copy $SVN/branches/0.2
 svnmerge init $SVN/branches/0.2 -r 1-BRANCHPOINT_VER (I don't think this is supposed to be required, but not specifying -r errors, and of course I can't remember the error offhand..)

So at this point, I've got /branches/0.1 (from last release, still active), /branches/0.2 and /trunk. Both /branches/0.1 and /branches/0.2 are merging into /trunk, but nothing is merged out of trunk.

So, now I can 'svnmerge avail -S 0.2', and I get the existing 4 revisions on /branches/0.2 that need merging:

mark@ n06 /merge/trunk
$ svnmerge avail -S 0.2
2270-2273

At this point, if I specify 'svnmerge merge -S 0.2 -r 2270-2273', everything happens as expected (so I won't list the details). If instead I let svnmerge decide on what revisions to merge like so:

mark@ n06 /merge/trunk
$ svnmerge merge -S 0.2
... proper files listed in svn output ...

This is what's listed in svnmerge-commit-message.txt
Header line:  Merged revisions 2202-2207,2210,2223-2224,2233-2237,2242,2246,2260-2261,2263-2264,2267-2274
Details list 2270, 2271, 2272, 2273

I really only want the revisions listed in the Details section of the commit message. Why the difference between the summary line and the details section?

The change to property svnmerge-integrated reflects the longer list of properties, not the shorter one.

One interesting change is to r2233, which was a 'svnmerge block' command for some prior revisions, which should have just been a property change on /trunk. r2210 was a checkin to /trunk. Why would those be listed when I'm trying to pull from /branches/0.2?

I'm guessing that I mucked something up during init, but I'm not sure what.

Can anybody help me find what I'm doing wrong?

Thanks much in advance.
- Mark






More information about the Svnmerge mailing list