cannot reintegrate branch

I created a branch from another branch, and after I am ready to merge, I encounter this problem:

$ cd photon-branch; svn update

$ svn merge –reintegrate https://nanoes.svn.sourceforge.net/svnroot/nanoes/branches/photon-recursive/
svn: Cannot reintegrate from ‘https://nanoes.svn.sourceforge.net/svnroot/nanoes/branches/photon-recursive’ yet:
Some revisions have been merged under it that have not been merged into the reintegration target; merge them first, then retry.

It turns out to be a problem in subversion 1.5. I found a blog that speaks about this problem. And then, in one of the forum, someone gave a clear explanation on how to do it. So basically what I need to do is to go back to my other branch, in this case “photon-recursive”, and delete the merge info of the files except the “.” merge info.

$ cd photon-recursive

$ svn propget svn:merge info –depth=infinity

you will many list, the term before “-” is the file. You will find one for “.” and maybe some other files. Mine is like this:

. – /branches/photon-branch:115-181
src/parallel – /branches/photon-branch/src/parallel:115-181
/trunk/src/parallel:2
src/globalconst.h – /branches/photon-branch/src/globalconst.h:115-181
/trunk/src/globalconst.h:2-3
src/parallel/deviceinfo.h – /branches/photon-branch/src/parallel/deviceinfo.h:11
5-181
/trunk/src/parallel/deviceinfo.h:2-11
src/negf.cpp – /branches/photon-branch/src/negf.cpp:115-181
/trunk/src/negf.cpp:2-3
src/output – /branches/photon-branch/src/output:115-181
/trunk/src/output:2-4
src/deviceinfo.h – /branches/photon-branch/src/deviceinfo.h:115-181
/trunk/src/deviceinfo.h:2-11
src/main.cpp – /branches/photon-branch/src/main.cpp:115-181
/trunk/src/main.cpp:2-3
src/negf.h – /branches/photon-branch/src/negf.h:115-181
/trunk/src/negf.h:2-3
src/solvebias.cpp – /branches/photon-branch/src/solvebias.cpp:115-181
/trunk/src/solvebias.cpp:2-3
src/devrtd.cpp – /branches/photon-branch/src/devrtd.cpp:115-181
/trunk/src/devrtd.cpp:2-3
src/poisson.cpp – /branches/photon-branch/src/poisson.cpp:115-181
/trunk/src/poisson.cpp:2-3
src/itppmath.h – /branches/photon-branch/src/itppmath.h:115-181
/trunk/src/itppmath.h:2-3
src/solvebias.h – /branches/photon-branch/src/solvebias.h:115-181
/trunk/src/solvebias.h:2-3
src/Makefile – /branches/photon-branch/src/Makefile:115-181
/trunk/src/Makefile:2-3
src/finvhalff77h.f – /branches/photon-branch/src/finvhalff77h.f:115-181
/trunk/src/finvhalff77h.f:2-3
src/DevRTD.h – /branches/photon-branch/src/DevRTD.h:115-181
/trunk/src/DevRTD.h:2-3
src/finvhalf.cpp – /branches/photon-branch/src/finvhalf.cpp:115-181
/trunk/src/finvhalf.cpp:2-3
src/output.log – /branches/photon-branch/src/output.log:115-181
/trunk/src/output.log:2-4
src/poisson.h – /branches/photon-branch/src/poisson.h:115-181
/trunk/src/poisson.h:2-3

So now what I need to do is to delete the merge info from all other files except the “.” (root). To do this :

$ svn propdel svn:merge info ./src/globalconst.h

$ svn propdel svn:mergeinfo ./src/parallel/deviceinfo.h

Once it is done, it will only leave the merge info for “.”

$ svn propget svn:mergeinfo –depth=infinity
. – /branches/photon-branch:115-181

and we can commit

$ svn commit -m “Removed bogus merge info.”

After this, I went back to the main branch (in my case photon-branch) and do a merge –reintegrate. it turns out to solve the problem 🙂