Propagate patch and module-list failures, normalize the script directory, and expand the actual Mercurial subrepository name when matching paths. Keep the existing no-optional-patches behavior unchanged.