How do you suggest to share the files between multiple animators in the most efficient and safe way, and makes sure everyone has the latest version of the file?
We each work in our Skeletons in own Project spine file. It's easy to use Import Project > Skeleton to bring in stuff from another animator into your own Project.
Other wise we need to communicate who is working on what spine file at the moment.
We currently use MS OneDrive SharePoint to host our files. We also use Bitbucket repositories for our games and some times store and work on the Spine files in there directly.
How difficult is it to merge various spine files into one file? (unfortunately when importing data the constraints are lost)
Merging Spine files are easy, you use Import Project > Skeleton. But merging Skeleton in the Tree list into a single Skeleton is quite bad in Spine. Not being able to easily and quickly move bone hierarchies with constraints and animation between Skeletons in the Tree list is a big issue for us, the partial work around is to copy over the bone hierarchy by temporarily duplicating the "from" Skeleton then drag and drop the bone hierarchy onto the "to" Skeleton. thus making sure the bones have the same names and hierarchical structure as in the original Skeleton, then use Importing Project (not Data) to copy over Animations from one the "from" skeleton to the "to" skeleton, and as long as the bones names match the animation will be imported, but as you said, constraints are lost which is terrible.
How easy is it to use the texture packer (i've never tried it before)?
Using either the built in texture packer or the application is fairly easy. How ever if you use the actual TP app you need to maintain the correct folder structure as you drop in the images as the image paths need to match how it's set up in spine for each skeleton and the resulting exported Spine JSON file and the Texture Packer atlas data file or you may have problem with say Pixi runtime won't find the assets due to mismatching asset paths.
What challenges did you face? how did you overcome them?
To easily share image assets between skeletons and to maintain image paths in the TP data and Spine JSON files we put all the Spine project files in a folder called Spine, then put all the images in folders in the same Spine folder. In each skeleton we always use the Spine folder as root for image assets so all the skeletons see all the image folders as well, this also helps when moving bones and importing animations with Import Project > Animation so the assets don't lose the image paths and need to be linked. Then We simply drag and drop the Spine folder into Texture Packer.
We also ave an inhouse tool which exports all the spine file animations (only), and then it also exports all the texture packer projects as well.