I'm starting to think this is getting out of scope for my patch. For the errors, "not checked out" and "commits not present", I will have a NEEDSWORK bit attached to them in print_submodule_conflict(), and if any of the submodules has those errors, then my message won't print out. That way, we are guaranteed to have 'a' checked out when my message prints, rendering it redundant.