On Thu, Apr 29, 2010 at 9:17 PM, Vadym Chepkov <vchep...@gmail.com> wrote:

>
> On Apr 29, 2010, at 3:47 AM, Daniel Becroft wrote:
>
>
>
> [b2]$ svn merge --dry-run ^/branches/b1
>> --- Merging r2 through r4 into '.':
>>    C README
>> Summary of conflicts:
>>   Tree conflicts: 1
>>
>
>
> After r3, you'll need to do a '--record-only' merge of r4 into the second
> branch:
>
> (untested) svn merge --record-only -c 4 ^/branches/b1
>
> SVN doesn't seem to trace back through the commits to see that r3 was
> really a merge from b2->b1. Like yourself, I initially though that it would
> be able to deal with this, but it doesn't seem to (and there is probably a
> very good reason why it can't).
>
> Cheers,
> Daniel B.
>
>
> Well, as you can see in the log, it also wants to merge r3 back, not just
> r4, so we would have to "record-only" 2 of them, it seems.
>

I'm pretty sure that you only need to do a record-only of r4. If you do a
'svn merge -r 2:3 ^/branches/b1, I don't think it will actually do anything
(other than modify the mergeinfo property). When I get a chance, I'll run a
quick test on it (or if you have the WCs from the above example, you could
try it yourself).


> The problem is, we utilize a "home made" automerge utility  that constantly
> merges all changes from b1 to b2,
> but merges from b2 to b1 are done manually. After r4 is committed, it
> produces conflict for automerge immediately and this is what I am trying to
> avoid.  By the way, maybe there is an intelligent automerge utility out
> there that can handle this kind of things, if anyone knows.
>

You could check if r4 contains mergeinfo for b2, and if so, don't worry
about doing the merge between b1->b2, or force it to be record-only.

Cheers,
Daniel B.

Reply via email to