[Svnmerge] Unable to get --bidirectional flag to work.

Blair Zajac blair at orcaware.com
Sun May 18 19:52:53 PDT 2008


If you can provide a recipe with an empty repository, that would be good.

Use 'svnadmin create repos' and 'svn co file://`pwd`/repos wc'.

Blair

JL wrote:
> Hi all,
> 
> I've spend some more time on this and I still can't figure out how to 
> get svnmerge.py to ignore reflected revisions.  The --bidirectional 
> switch just doesn't seem to be working.
> 
> Are there any steps I can run so people can see what is occurring or 
> other information I can provide?  It is this bidirectional support which 
> is the main reason I wish to use the script and since it seems to work 
> for everyone else, I can't see why it isn't working for me.
> 
> Thanks in advance,
> Jeremy
> 
> JL wrote:
>> Hi
>>
>> I probably didn't give enough information last time.
>>
>> Thanks for all your replies.  Here is a log of what I'm doing.  I 
>> think I'm using it correctly, but I can't get the bidirectional option 
>> to work in the way I thought it should.
>>
>> 1) Go to a clean checkout of the trunk and do an update.
>> 2) Merge in the changes from my branch to the trunk.
>> 3) Go back to my branch
>> 4) Check to see what is available to be merged.  However this last 
>> step is showing the commit from step 3.
>>
>> I'm on Windows XP.  I've tried both the python.py script and the 
>> windows prebuilt version.  However python is running under cygwin.
>>
>> Here are the steps I'm doing.
>>
>> 1) Clean checkout of trunk and branch
>>
>> D:\Home\jeremyl\clean>cd trunk
>>
>> D:\Home\jeremyl\clean\trunk>svn update
>> At revision 61.
>>
>> D:\Home\jeremyl\clean\trunk>cd ..\BR_CODELINE_phase1
>>
>> D:\Home\jeremyl\clean\BR_CODELINE_phase1>svn update
>> A    testing
>> A    testing\unit
>> A    testing\unit\core
>> A    testing\unit\reference
>> A    testing\system
>> A    testing\doc
>> Updated to revision 61.
>>
>> 2) Merge my branch into the trunk
>> D:\Home\jeremyl\clean\BR_CODELINE_phase1>cd ../trunk
>>
>> D:\Home\jeremyl\clean\trunk>svnmerge.py avail --bidirectional
>> 55-61
>>
>> D:\Home\jeremyl\clean\trunk>svnmerge.py merge --bidirectional
>> property 'svnmerge-integrated' set on '.'
>>
>> property 'svnmerge-blocked' deleted from '.'.
>>
>> U    prototypes\RgbBitmapEffect\readme.htm
>> A    testing
>> A    testing\unit
>> A    testing\unit\core
>> A    testing\unit\reference
>> A    testing\system
>> A    testing\doc
>>
>> property 'svnmerge-integrated' set on '.'
>>
>> property 'svnmerge-blocked' deleted from '.'.
>>
>>
>> D:\Home\jeremyl\clean\trunk>svn commit . -F svnmerge-commit-messag
>> e.txt
>> Sending        .
>> Sending        prototypes\RgbBitmapEffect\readme.htm
>> Adding         testing
>> Adding         testing\doc
>> Adding         testing\system
>> Adding         testing\unit
>> Adding         testing\unit\core
>> Adding         testing\unit\reference
>> Transmitting file data .
>> Committed revision 62.
>>
>> 3) Go back to my branch
>> D:\Home\jeremyl\clean\trunk>cd ..\BR_CODELINE_phase1
>>
>> D:\Home\jeremyl\clean\BR_CODELINE_phase1>svn update
>> At revision 62.
>>
>>
>> 4) See what is available.  Revision 62 is listed as available even 
>> though it is a merge from the branch.
>> D:\Home\jeremyl\clean\BR_CODELINE_phase1>svnmerge.py avail 
>> --bidirectional
>> 20,22,51,54,62
>>
>> Thanks!
>> Jeremy
>>
>> Raman Gupta wrote:
>>> Dustin J. Mitchell wrote:
>>>  
>>>> On Wed, May 14, 2008 at 9:43 PM, JL <jeremyl at research.canon.com.au> 
>>>> wrote:
>>>>    
>>>>> When I commit these merges into the trunk I get a revision number. 
>>>>> (eg,
>>>>> revision 52).   The problem is when I go back to my branch and use
>>>>> svnmerge to update the branch with the latest trunk changes, it sees
>>>>> revision 52 as a revision available for merging, and when it does the
>>>>> merge, it conflicts on all the binary files.  How do I indicate that
>>>>> revision 52 was actually a merge from the branch and therefore 
>>>>> there is
>>>>> no need to merge it back to the branch?  I can 'block' it however this
>>>>> doesn't seem to be the right way of doing it.
>>>>>       
>>>> --bidirectional is supposed to fix that.  Are you always using that
>>>> flag (even with the 'avail' subcommand)?
>>>>     
>>> Or grab the latest trunk version of svnmerge.py which should ignore
>>> rev 52 automatically, even without --bidirectional.
>>>
>>> Cheers,
>>> Raman



More information about the Svnmerge mailing list