+ const char *const git_submodule_helper_usage[] = {
+ N_("git submodule status [--quiet] [--cached] [--recursive]
[<path>]"),
+ NULL
the manpage over here says
git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
ie. multiple path arguments. Should this usage string be tweaked?
+static void print_status(struct status_cb *info, char state, const char *path,
+ const struct object_id *oid, const char *displaypath)
+{
could do with a comment. What are the options for the `state` char?
+ if (state == ' ' || state == '+') {
+ struct argv_array get_rev_args = ARGV_ARRAY_INIT;
+
+ argv_array_pushl(&get_rev_args, "get-rev-name",
+ path, oid_to_hex(oid), NULL);
+ get_rev_name(get_rev_args.argc, get_rev_args.argv,
+ info->prefix);
since you're not really subprocessing, can't you simply have a
do_print_rev_name(char *path, char *sha) {
..
printf("\n");
}
and call that directly? Or call compute_rev_name directly. Then you
don't have to do argv setup here.
Also, the name get_rev_name() is a little unfortunate, since it
doesn't return a name, but rather prints it. Maybe the functions
implementing helper commands could be named like:
command_get_rev_name
or similar.