The gitsm fetcher inherits from the git fetcher but it does hardcodes git into the runfetchcmd() calls in update_submodules(): def update_submodules(self, u, ud, d): ... runfetchcmd("git reset --hard", d) runfetchcmd("git submodule init", d) runfetchcmd("git submodule update", d) ... It should use ud.basecmd instead. (Interestingly enough it does so in uses_submodules()). That is merely an inconsistency. However, it also does not allow for FETCHCMD_git to be used to override the command. Proposed fix: runfetchcmd("%s reset --hard" % (ud.basecmd), d) runfetchcmd("%s submodule init" % (ud.basecmd), d) runfetchcmd("%s submodule update" % (ud.basecmd), d)
Fixed in master http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7b580cd25c09f178515282ad7b74de7e8672374e