Smsync is a powershell utility designed to help manage git repositories with submodules. It is a fully interactive command line program which supports any submodule configuration, including complex nested structures and siblings.
Add the ability to create a JSON configuration file, say, "smsync.json," that can be optionally placed in the base directory of a repository. If the program detects such a configuration file, it will read it to determine options that should be automatically applied to the program when running smsync from that directory. Initial features shall include:
Default trybranch
Ability to set a branch for each submodule
Ability to automatically select unclean working tree behaviour
Ability to automatically select submodule ref update behaviour
May be worth creating a default set of options, which can then all be overridden in a separate section which pertains to each submodule.
If you select "(C)ommit" in the unclean working tree prompt, it will also commit any submodule ref changes if they are present. This should not happen.
Hide submodule ref changes in the git status during the unclean working tree prompt
Do not commit submodule ref changes if the user selects "(C)ommit"