Search code examples
svnversion-controltortoisesvncvstortoisecvs

Is there anyway to get TortoiseSVN to act more like TortoiseCVS?


I work in a mixed source control environment. We are still mostly on CVS, but newer projects are in SVN. However, I am finding it hard to get buy-in for SVN because TortoiseSVN doesn't work like TortoiseCVS.

The 3 way merge has a lot of cognitive dissonance and while TortoiseCVS seems to always get the merges right, TortoiseSVN almost always requires manual help. Also after fixing any conflicts, you have to manually mark the file as ok.

Does anyone have any tips on how to get TortoiseSVN working more like TortoiseCVS?

EDIT

To be more clear, I don't want to do a three way merge, if possible, I would like to do a two way merge like TortoiseCVS does. I know that the resulting file is the same in CVS and SVN, for example a Visual Studio project file has two different Versions. This will always end in a conflict in TortoiseSVN and never in a conflict in TortoiseCVS.

SVN looks like:

<<<<<<< .mine
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> .r195290

CVS loks like

<<<<<<< SomeFile.cproj
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> 1.121

so I should be able to get the same kind of merge. Also, TortoiseSVN almost always has conflicts when updating if two people work on the same file, even though they are working in different locations, TortoiseCVS doesn't have this problem. I assume TortoiseSVN is being more conservative and forcing you to check the merge TortoiseCVS is assuming CVS got it right. I was wondering if there where some options hidden somewhere in TortoiseSVN for it to be more liberal, and also to do a two way merge instead of a three way.

Oh, and yes we are using Subversion 1.5 which has merge points (branches were basically useless without this).


Solution

  • Take a look at BeyondCompare and Araxis Merge. They offer instructions on integrating them into TortoiseSVN as custom merge/diff tools.