On Tue, Sep 01, 2015 at 02:52:54PM -0400, Eric Sunshine wrote: > > + /* Redirect the worktree of the submodule in the superproject's config */ > > + if (strbuf_getcwd(&sb)) > > + die_errno(_("unable to get current working directory")); > > + > > + if (!is_absolute_path(sm_gitdir)) { > > + if (strbuf_getcwd(&sb)) > > + die_errno(_("unable to get current working directory")); > > Why does this need to call getcwd() on 'sb' when it was called > immediately above the conditional and its value hasn't changed? Even weirder, the next code is: > > > + strbuf_addf(&sb, "/%s", sm_gitdir); > > + free(sm_gitdir); > > + sm_gitdir = strbuf_detach(&sb, NULL); > > + } > > + > > + > > + strbuf_addf(&sb, "/%s", path); So if it _was_ an absolute path, we are adding "/$path" to nothing (having just detached the strbuf in the conditional above). That seems weird. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html