Hello, I've recently stubled upon that very same problem and I think that I found a solution that at least solves some of the possible problems.
First here my guess what the problem is, why the conversion doesn't work. In the conversion process darcs might change the patch dependencies. That means that a patch P1 suddenly depends on a patch P2 after the conversion which it didn't before the conversion. Additionally these changes depend on the order the patches get presented to darcs in the conversion process. So we have to make sure that common patches are presented to the repository converter in the exactly same order. This order is dependent on the order the patches get added (recorded, pulled) to the repository. First creating a tree that contains all patches converting that tree and then removing the pathes not wanted may but will probably not work because after the conversion the patch dependencies might have changed so that it might not be possible to remove exactly those patches that you want. My setup has been a bit different. I was having one tree that contains the main branch (Base) and several trees containing additional patches (Branch1, ... BranchN). The first step in the conversation progress was to create new darcs-1 trees containing the patches in the right order. So "darcs get" the Base tree again. Repeat that for all branches. Now you have a new base and new trees for the branches that all contain only the patches from the base tree. Now go to each new tree and pull the additional changes. With this action you will make sure that the addional patches actually come AFTER the base patches in the darcs internal database. This might not be the case in the original branches because of the order the patches get recorded. Maybe you did pull patches from base to the branches after you recorded changes in the branches. Anyway now you can convert those trees to darcs-2 each one independently. And it should also be possible to push and pull patches from the new trees. In case I have written it up too confusing here a list of commands to convert 2 trees base and 2 branches (with additional patches) to darcs-2. darcs get base base_new darcs get base branch1_new darcs get base branch2_new cd branch1_new darcs pull ../branch1 cd ../branch2_new darcs pull ../branch2 darcs convert base_new d2_base darcs convert branch1_new d2_branch1 darcs convert branch2_new d2_branch2 now you have the converted 3 trees in d2_xxxxx All this is without guarantee though. I used it to convert my 2 trees. But please try and see if you can still push your patches around in the new trees and if the results are what you expect. Things become more complicated if the branches to not contain all the patches from the base. In that case you probably need to find the common base of the 2 branches and then pull the additional changes of both trees into the conversion trees. I hope this helps and I hope I was able to make myself clear. Andreas _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
