-
Suggestion
-
Resolution: Unresolved
-
None
-
None
Our project uses git submodules, and I am the one mantaining the submodules. Other developers simply don't care about submodules: I am the one who decides which version of sqlite-net the program must use, for example.
Now: even if I instructed all the programmers to use the option "perform submodule actions recursively" this option is not honored when they are performing a merge from master to their local branches.
Long story short:
- Master references commit xyz of sqlite-net
- I modify something in sqlite-net and commit it this generates commit abc of sqlite-net
- I modify master in order to use commit abc as submodule to be extracted for sqlite-net
- other developers pull modifications from master into their local branches, all the local source copies get updated, their local repository does now reference commit abc of sqlite, but since sourcetree, during a merge, ignores the configuration flag "perform submodule action recursively", they still have in the sumodule subdirectory the old version xyz instead of abc, as they instead should after the merge
- from now on Sourcetree, in developers' local repositories, shows there is a modification to the "sqlite-net" reference.. they didn't change anything, but they still have in local version xyz instead of abc and this is displayed as a change they inevitably stage, commit and push to master, reverting my change, making master point again to xyz instead to abc...
Now: I am personally tired of having to explain to all newcomer developer what the heck is that sqlite-net file and what they have to do when they see that file as changed.
Would you please update the submodules recursively during a merge if that option is checked?
Thank you and have a nice day