I just found that in jobs (created from Job-DSL code if that matters), the Gradle plugin behaves differently depending on whether a Mercurial checkout using the Subdirectory setting is used with plain SCM vs. MultiSCM. Here's a simplified example:
Executing the resulting job yields the expected result (the Gradle wrapper contained in the repository is executed successfully, like:
However, if I change "multiscm" to just "scm", the build runs into an error:
Notice the doubled "/repo" at the end of the path. I'd expect both to behave identically.