cancel
Showing results for 
Search instead for 
Did you mean: 

Managing Test Complete project in GIT

shankar_r
Community Hero

Managing Test Complete project in GIT

Hellow All,

 

I'm struggling with GIT code maintenance with Test Complete project.

 

Scenario:

 

We have a customized data-driven framework which created like One project in a Project Suite. All the Business components will be inside of the Project and etc. And we are having GIT repo which used by us to commit our Project. In the same branch 2 resources are working with same Project. When committing script files we not having any problems. But when it is come to Project files like .mds, .pjs, .tc** we are facing lot of issues since git not able to merge these files.

 

So, If my above scenario bit of confusing then I just need to know how you guys managing the Project files in GIT repo.

 


Thanks
Shankar R

LinkedIn | CG-VAK Software | Bitbucket | shankarr.75@gmail.com

“You must expect great things from you, before you can do them”


Extension Available

12 REPLIES 12
tristaanogre
Community Hero

Re: Managing Test Complete project in GIT

We're not using GIT but we are using the TFS Version Control.  In Visual Studio, the merge and compares are working but they take some gentle guidance at times.

 

The thing to remember is that those files you mentioned are formatted as XML files. What you can do is set up your version control to look at those extensions and treat them as XML.  That should get you started at least.  This is what I've done in the past with Mercurial.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available
Colin_McCrae
Community Hero

Re: Managing Test Complete project in GIT


@shankar_r wrote:

 

I just need to know how you guys managing the Project files in GIT repo.

 


Easily.

 

Because I'm the only one that ever pushes to my repo! Smiley LOL

 

Sorry. I know that doesn't help. But as I'm the only one committing to it, I've never had to bother with a merge.

shankar_r
Community Hero

Re: Managing Test Complete project in GIT

@Colin_McCraeI was in the same stage where you was. But just a week ago it changed and i got bulk of confusions in Code merge 😞


Thanks
Shankar R

LinkedIn | CG-VAK Software | Bitbucket | shankarr.75@gmail.com

“You must expect great things from you, before you can do them”


Extension Available

shankar_r
Community Hero

Re: Managing Test Complete project in GIT

@tristaanogreThanks for the input, I will try this option. If i got any better idea during this thing will share here.


Thanks
Shankar R

LinkedIn | CG-VAK Software | Bitbucket | shankarr.75@gmail.com

“You must expect great things from you, before you can do them”


Extension Available

AlexKaras
Community Hero

Re: Managing Test Complete project in GIT

Hi Shankar,

 

Any merging is an evil that must be avoided at all possible means because of high risk of merged items corruption. With this in mind, the best version control systems are those that lock changed files and do not allow concurrent changes (except of special cases set manually and explicitly).

Unfortunately, this is something that is hardly achievable nowadays... 😞

I would recommend to set a process when all TestComplete project files except script unit ones are not changed concurrently. If any modification of any of these files is required, only one person must do it, commit changes to the repository and flag others that they can proceed.

As for the script unit files, they can be merged with much lower risk, but only in a case when changes are small and merges done often. This also must be set as an enforced development process. Otherwise you will get into merging nightmare when it is near to impossible to merge fine and quickly because of massive concurrent changes required to be merged.

 

P.S. Sounds not optimistic, but I never observed a real process that really worked when implemented different way.

Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================
tristaanogre
Community Hero

Re: Managing Test Complete project in GIT

Fully on board with @AlexKaras on this.  File locking is almost a must with many of the files.  Things like tcScript and such not so much.  NameMapping, however... hoo-boy....

 

What I've found is that the merging isn't as bad with these files if you're simply adding or modifying data.  But, with NameMapping especially, if you delete large chunks of data or move objects around so that there are large changes of "delete from here, add to there", THAT'S where things get ugly.

 

We've managed to work through this by having our engineers do small, incremental changes.  Basically, as soon as you add a new item to NameMapping and Alias it, check it in to source and then re-get the latest to get all current updates.  Lather, rinse, repeat.  This works fine for adding a new child object, modifying a property value, etc.  For larger more "invasive" changes, we establish a file lock to prevent changes until the person is done making those changes.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available
Colin_McCrae
Community Hero

Re: Managing Test Complete project in GIT

This all sounds truly horrible and I'm more glad than ever I don't have to deal with merges!

AlexKaras
Community Hero

Re: Managing Test Complete project in GIT

Absolutely in line with Robert.

 

P.S. @Colin_McCrae: You are a lucky one... Really... But keep working hard, so that management never come to the idea to hire someone else to help you with tests automation. 😄 🙂

Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================
shankar_r
Community Hero

Re: Managing Test Complete project in GIT

Hrm...Looks like i will get into a very good bad times when doing merge. But nevertheless I having some options in my plate now, will try to do those if i got any luck then fine otherwise as i say VERY GOOD BAD times. Robot Mad


Thanks
Shankar R

LinkedIn | CG-VAK Software | Bitbucket | shankarr.75@gmail.com

“You must expect great things from you, before you can do them”


Extension Available

New Here?
Join us and watch the welcome video:
Announcements
Top Kudoed Authors