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:
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.
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.
That's exactly it. LinoTadros is really right and one person should do the mapping, but with our team we were willing to take the risk of each person doing their own mapping. We choose a mutually good day to give all the mappings to one person and they merge and resolve conflicts with the TC tool. That copy is passed back to the team and we run our tests with it and adjustments are made if necessary. The new copy that works for everyone is then checked in. Any of us are capable of doing it, so we avoid problems with vacations and such.
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.
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.
Sorry to potentially necro-bump but we are facing the same issue here, and IMO having only one person maintain name mapping is just a work-around to the real problem: TestComplete's approach of using one single monolithic file for the entire name mapping just doesn't scale well. It should be broken up into somewhat of a folder structure or something.
Relying on one person to maintain the name mapping is just inefficient.