0

We had a ten developers who do commits in the dev branch. After a week once all the tasks are through, i need to merge all the commits to test branch for rebasing before i tag and merge the releases to trunk. While merging a range of revisions i am getting strucked and time consuming to resolve with svn conflicts. When i get conflict : I used to do the following :

  1. I allways consider the latet revision file for eg: .r500 is the latest revision which i need, and removing the extension it generate like filename.java.rev500, and deleting the remaining like mine,base file and previsous revision files which it genrates when the conflicts occur. Is this a best practise and advisable.I allways use diff in the log and check the latest version file manually while considering a revision when i get the conflict.

  2. While merging most of the conflicted, updated files i am getting these symbols, <<<<<<< .working and >>>>>>> .merge-right.r500. Do we need to manually remove this in the files, when we perform releases. Even some times these symbols effect my build, resolving after i manually remove them.

  3. Is it advisable to merge 15 to 20 revisions at a time, for eg: consisting 70 files in the entire release, is it better to merge 4 to 5 revisions solve the conflicts and move forward with remaning revisions, but if i merge few revisions and again after with remaining revisions its conumes a lot of time. When ever i do merge, i should allways manually edit, or any best methods and practises i need to follow.

4

1 回答 1

0

为了避免许多冲突,您只需要一个活动的开发分支,或者每个存储库子树(例如 project1、project2)至少有一个开发分支。

从你写的我可以看到测试/主干分支也有很多变化。这就是为什么你会遇到这么多冲突。您需要将更改从测试和主干分支合并回开发。这将减少冲突的数量。

一般来说,您应该尽量避免在同一代码库上工作的许多并行活动分支,否则您将无法避免许多冲突。

您也可以在开发人员身上投入一些工作。如果他们在测试分支中修复了某些东西,他们的任务也应该是将其合并到开发分支。这又将减少冲突量。

于 2011-07-05T12:09:41.767 回答