summaryrefslogtreecommitdiff
path: root/submodule.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-11-03 15:32:34 -0800
committerJunio C Hamano <gitster@pobox.com>2015-11-03 15:32:35 -0800
commit1bf986bc9c1e823da27465bfd9faf2b725bbcc09 (patch)
treeb47aa7c235ebf2bf958f7906e58a0750a418f0db /submodule.c
parentc1324e66d44b7d58915cd7e61c1ea85ed3db6a58 (diff)
parent11f9dd719104a960d3e2b478477d9055141d1dbc (diff)
downloadgit-1bf986bc9c1e823da27465bfd9faf2b725bbcc09.tar.gz
Merge branch 'mk/submodule-gitdir-path' into maint
The submodule code has been taught to work better with separate work trees created via "git worktree add". * mk/submodule-gitdir-path: path: implement common_dir handling in git_pathdup_submodule() submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
Diffstat (limited to 'submodule.c')
-rw-r--r--submodule.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/submodule.c b/submodule.c
index 245ed4dfbb..5e5a46fe2a 100644
--- a/submodule.c
+++ b/submodule.c
@@ -122,15 +122,8 @@ static int add_submodule_odb(const char *path)
struct strbuf objects_directory = STRBUF_INIT;
struct alternate_object_database *alt_odb;
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;