Forum Discussion
Best practice is, always, to have a single person maintaining your NameMapping.
However, if you're going to have multiple, don't let the merge happen on the commit, have the merge happen on the pull.
1) Make NameMapping changes
2) Pull latest
3) Reconcile
4) Commit
5) Push
And, something else that has helped us, make small, incremental changes to the mapping. The bigger the mapping change, the more chances there are to end up with conflicts.
- Marsha_R6 years agoModerator
What we did was allow everyone to do their own mapping but not check it in. Then every week or so, (we rotatethis amongst the team because it's a rotten rotten job lol) one person takes everyone's name mapping and merges them one at a time into an empty project and fixes all the conflicts. Then each person gets a copy of the merged mapping and tries their tests and if it works for everyone, it gets checked in.
- LinoTadros6 years agoCommunity Hero
I understand your intent but please allow me to express my deepest recommendation of NOT allowing multiple people to make changes to the tcnm file.
I recommend for you to work the way TestComplete would like you to work and not go against the grain.
I hope in the future that Testcomplete will implement a different way of using Name Mapping, maybe even a database like other products do, but until then, life is too short to have multiple people make changes to the tcnm file.
Cheers
-Lino
- RileyMartinez6 years agoOccasional Contributor
Hi tristaanogre ,
We have attempted a similar git workflow, and of course, run into conflicts on the pull. Could you elaborate more on how you reconcile the conflicts you run into? We're afraid of the consequences that could result from attempting to manually resolve each file. These are the files where we run into conflicts:
- .tcNM
- .NMimg
If there's no elegant way to handle this, we will most likely have a single curator handle all of our NameMapping, but that really hampers our productivity. If that person were to be out of the office, then everyone else is kind of left stranded.
Our plan B is similar to what Marsha_Ris doing, where we would pass each other's unique NameMapping files to a single person. Have them merge in each file one-by-one using TestComplete's merging tool, then pass the updated "master" file back out to everyone.
As your title says, you appear to be a real "Community Hero" in these forums, so we appreciate your advice.
Thanks,
Riley M.
- Marsha_R6 years agoModerator
Hi RileyMartinez, I'm a Community Hero too. :)
Really really really you can see that all the experts in this thread have said *DON'T* use your usual file source control process on the name mapping file. We are just trying to save you the pain that we have all been through when we tried it some other way and totally trashed the name mapping and had to start over again from scratch.
If you are going to continue this way anyway, just make sure you have backups of all the different versions of your name mapping for when you have to go back.
Also, you don't have to be stranded with one person handling the name mapping file. Make sure everyone can do it and switch it off once a month or something.
- RileyMartinez6 years agoOccasional Contributor
Hi Marsha_R,
Yes sorry, I should have mentioned you are Community Hero of equal stature haha. Giving what you're saying about this, would you recommend Option B?
Also, Option B is how I understood the explanation of how your team handles multiple contributors. Let me know if I got the details wrong there.
Thanks!
- tristaanogre6 years agoEsteemed Contributor
For us, we're using TF Version control and not Git. Small, incremental merges within that tool have been doing well for us. We haven't had any major problems. We don't use the NameMapping imaging. Of course, lately, we've only really had two people doing the work against the NameMapping file so it's really rather easy to track merges and such.
- Marsha_R6 years agoModerator
RileyMartinez Maybe one or two conflicts a month? We're usually working in separate areas of the application so we don't bounce off each other much. They're really pretty easy to fix. It's not as complicated as resolving code conflicts.
Related Content
- 11 years ago
- 11 years ago