EdDev Posted February 27, 2013 Report Share Posted February 27, 2013 Hello, I have encountered a scenario in which a merge is not possible, or at least I could not find a way to perform it. It originated from a mistake where we forgot to add a specific folder into the repo and we had to add it in parallel on several branches. Is there a way to overcome such incidents? Here is the scenario: /main: CS11-->CS12-->CS13-->CS14 /main/branch1: \-->CS21-->CS22 In CS13, folder D1 and file f1 was added. In CS21, folder D1 and file f1 was added. In CS22, file f1 was changed. D1 and f1 on both branches are the same, they have been added at a later stage in parallel because of various reasons. After changing f1 (in CS22) a cherry pick merge is attempted from CS22 to CS14 (creating CS15). However this attempt fails and gives a "directory conflict" with a "change/delete conflict" with a resolution method that does not fit.It just asks me to choose which folder is to be left, but does not try to compare the two. Is there any way out of this? Thanks, Ed. Link to comment Share on other sites More sharing options...
manu Posted February 28, 2013 Report Share Posted February 28, 2013 Hi Ed! Thanks for the scenario! We'll test it. My initial thought is that it should be detected as a "Evil twin" conflict. But let's take a look into it. Link to comment Share on other sites More sharing options...
arva Posted May 9, 2013 Report Share Posted May 9, 2013 Is there any resolution for this issue? We also landed up in the same issue. Link to comment Share on other sites More sharing options...
manu Posted May 9, 2013 Report Share Posted May 9, 2013 There's a solution. First, a short explanation. Since you are cherripicking contents that are not present in the destination branch (Remember that it's an evil twin, different items with the same name in parallel branches) plastic checks that the file you are cherrypicking is not present and the translation is a changed/deleted operation. Changed because it was changed in the source branch. Deleted because it's not present in the destination branch. How to solve it. In the directory conflict you can select keep the changed. Then although it seems there's nothing to be merged, if you click process all merge the evil twin will be placed in your workspace with an automatic directory or file name, for example, in the example that EdDev gave us you will have something like this after the merge: \ \(name_conflict)_D1 \(name_conflict)_D1\f1.txt \D1\f1.txt \D1 It's not the best solution but at last you have the merge done and you can continue working. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.