Working for a small software company, I recently ran into a number of merge conflicts trying to pull in changes from a 3rd party upstream repository.
The problem is that the upstream repository includes a lot of constantly growing binary assets.
After some deliberation, it was decided that our fork would strip those out and place them into submodules.
As the maintainer of the original repo is against using submodules for the binary assets as well as third party libraries, this creates some difficulties merging changes.
What would be considered the best strategy here?
I've been thinking about adding a .gitattributes file and defining the "ours" merge target for the main repository and then separately pulling in changes for all the submodules.
Is there anything more straightforward? Perhaps a way to make the submodules behave just like the original directories during a merge?
PS: It probably doesn't matter much. But the original repo is on Github while ours is stored on bitbucket.
EDIT: I just realized the maintainer of the original repo has added .gitattributes to .gitignore. This will probably make it harder to apply a merge strategy, won't it?