Max Kirillov <m...@max630.net> 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 <p...@peff.net>
> Signed-off-by: Max Kirillov <m...@max630.net>
> ---
>  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to