> 
Okay, I finally figured out how to trip up SVN:



> > I built my own experiment which I'll try to reconstruct here:
> > mkdir test
> > mkdir test/foo
> > mkdir test/foo/bar
> > mkdir test/baz
> > echo "a" > test/foo/bar/example.c
> > svn import test svn+ssh://theserver/var/svn/playground/test
> > rm -rf test
> > svn co svn+ssh://theserver/var/svn/playground/test
> > cd test

Now I did something that SVN apparently doesn't like:

svn mv foo/bar/example.c baz
svn cp . ^/playground/test2

Problem:  This prevents SVN's mergeinfo search since on merge it looks
for the info on foo/bar/example.c at its previous revision in test2. 
The test2 repository itself does not exist in the previous revision,
let alone any file in it.  So, for example, we continue:


> > svn revert -R .
> > echo "b" > foo/bar/example.c
> > svn commit
> > cd ..
svn co svn+ssh://theserver/var/svn/playground/test2
cd test2
> > svn merge ^/playground/test 


And now here come the unresolvable conflicts!

So lesson learned:  Always make a pristine copy of the trunk before
making ANY changes, so that there is a revision to fall back on where
the two branches exactly match.

Reply via email to