Max Kirillov <max@xxxxxxxxxx> writes: > Functions which directly operate submodule's object database do not > handle the case when the submodule is linked worktree (which are > introduced in c7b3a3d2fe). Instead of fixing the path calculation use > already existing strbuf_git_path_submodule() function without changing > overall behaviour. Then it will be possible to modify only that function > whenever we need to change real location of submodule's repository > content. > > Edited-by: Jeff King <peff@xxxxxxxx> > Signed-off-by: Max Kirillov <max@xxxxxxxxxx> > --- > submodule.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) This certainly is a lot nicer ;-) Thanks. > > diff --git a/submodule.c b/submodule.c > index 245ed4d..16b7c35 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -124,13 +124,7 @@ static int add_submodule_odb(const char *path) > int ret = 0; > const char *git_dir; > > - strbuf_addf(&objects_directory, "%s/.git", path); > - git_dir = read_gitfile(objects_directory.buf); > - if (git_dir) { > - strbuf_reset(&objects_directory); > - strbuf_addstr(&objects_directory, git_dir); > - } > - strbuf_addstr(&objects_directory, "/objects/"); > + strbuf_git_path_submodule(&objects_directory, path, "objects/"); > if (!is_directory(objects_directory.buf)) { > ret = -1; > goto done; -- 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