On Mon, Jul 17, 2017 at 4:17 AM, Joachim Durchholz <jo@xxxxxxxxxxxxx> wrote: > Hi all > > I'm hacking some script that calls into git, and I need to detect whether a > repository was configured with a submodule name that will work on "git > submodule init" and friends. There is no such a thing as "git submodule valid-name" unfortunately. Looking through "git submodule add", I think it is safe to assume that any string valid as a subsection in git-config is a valid submodule name. Our man page says: Subsection names are case sensitive and can contain any characters except newline (doublequote " and backslash can be included by escaping them as \" and \\, respectively). I am not sure about the quality of submodule shell code to handle the quotations for double quote and backslash correctly, so I would suggest not using them, either. > I *can* run a git init and see whether it works, but I need to be 100% sure > that the error was due to an invalid submodule name and not something else. > Bonus points for every version of git for which it works. I do not think Git offers a universal solution across versions except actually running "submodule init" and then making an educated guess if the error comes from bad naming or something else. This sounds like you're taking user input or otherwise untrustworthy data as submodule names? Thanks, Stefan > > Any suggestions? > Thanks! > > Regards, > Jo