On Tue, Jun 27, 2017 at 1:11 AM, Prathamesh Chavan <pc44800@xxxxxxxxx> wrote: > +static char *get_up_path(const char *path) > +{ > + int i = count_slashes(path); > + int l = strlen(path); Nit: "l" is quite similar to "i" in many fonts, so maybe use "len" instead of "l", but see below. > + struct strbuf sb = STRBUF_INIT; > + > + while (i--) > + strbuf_addstr(&sb, "../"); Nit: a regular "for" loop like the following might be easier to review: for (i = count_slashes(path); i; i--) strbuf_addstr(&sb, "../"); > + /* > + *Check if 'path' ends with slash or not > + *for having the same output for dir/sub_dir > + *and dir/sub_dir/ > + */ > + if (!is_dir_sep(path[l - 1])) As "l" is used only here, maybe we could get rid of this variable altogether with something like: if (!is_dir_sep(path[strlen(path) - 1])) > + strbuf_addstr(&sb, "../"); > + > + return strbuf_detach(&sb, NULL); > +} > +static void sync_submodule(const struct cache_entry *list_item, void *cb_data) > +{ > + struct sync_cb *info = cb_data; > + const struct submodule *sub; > + char *sub_key, *remote_key; > + char *sub_origin_url, *super_config_url, *displaypath; > + struct strbuf sb = STRBUF_INIT; > + struct child_process cp = CHILD_PROCESS_INIT; > + > + if (!is_submodule_initialized(list_item->name)) > + return; > + > + sub = submodule_from_path(null_sha1, list_item->name); > + > + if (!sub && !sub->url) I think it should be "(!sub || !sub->url)". > + die(_("no url found for submodule path '%s' in .gitmodules"), > + list_item->name);