Forum Discussion

Adam_Zehavi's avatar
Adam_Zehavi
Occasional Contributor
14 years ago

Using TestComplete and SVN

Hi,



We are a team of people working on the same project, we were wondering, if an SVN repository would keep us synchronized, while few people change the project on different computers.



our concern is that while one of us would erase a script file, other would create a new one, and the project XML script file would change, and we would like to know if the changes are handled by the SVN? (to the point of Conflict -> Merge solution)



Hope this is clear,



Adam.

5 Replies

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    Hi Adam,



    According to my understanding and experience, the automatic conflicts merge is a functionality that is the less used the better. This is because it just handles physical differences between code lines but not the code logic or dependent changes in several files.

    Besides that, practically all items of the TestComplete project (except code units) are xml-based files that cannot be merged but must be handled as an atomic entity.

    Considering the above, the recommended approach with TestComplete (see the 'Working With Source Control Systems' and 'Teamwork' ('How to Organize Simultaneous Work With Shared Projects') help topics for more details) is to split the testers' activities so that they do not interfere with one another.
  • Adam_Zehavi's avatar
    Adam_Zehavi
    Occasional Contributor
    Thank you for your quick response,



    our main concern was the name mapping, if two project members map a new component then we have an issue... I'll look into the help topics you mentioned and report back!



    Adam.
  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    Hi Adam,



    Namemapping functionality is one of the things that you must consider really good and make a well-grounded decision on whether to use it or not and how to build the architecture of your tests in case you decide to use namemapping.

    The case here is that namemapping cannot be shared between projects. The only thing you can do is to merge (import) namemapping from another project into your current one and manually resolve the conflicts. If the mapping of some object changes you'll have either to correct namemapping scheme in all relevant projects or to correct it in one place and merge it one more time into all other projects and resolve the conflicts one more time.

    My advise would be to spend some time for playing around with namemapping to see how it works for you and does it fit your requirements (localization, unstable objects' hierarchy, etc.).
  • Adam_Zehavi's avatar
    Adam_Zehavi
    Occasional Contributor
    Thanks,



    We have found our way to handle this...



    Since we have two applications, and two projects working on simultaneously, we have assigned two SVN passwords, one for each project, and we have locked the files that might conflict and cause problems, this way only one person may commit the changes in these files, and everyone can commit scripts... what do you think?
  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    Hi Adam,



    Your approach sounds reasonable and... I think that it should work.