diff options
Diffstat (limited to 'submodule.c')
-rw-r--r-- | submodule.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/submodule.c b/submodule.c index 6e14547..058fc9f 100644 --- a/submodule.c +++ b/submodule.c @@ -22,6 +22,7 @@ #include "worktree.h" #include "parse-options.h" #include "object-store.h" +#include "commit-reach.h" static int config_update_recurse_submodules = RECURSE_SUBMODULES_OFF; static struct string_list changed_submodule_names = STRING_LIST_INIT_DUP; @@ -93,7 +94,7 @@ int update_path_in_gitmodules(const char *oldpath, const char *newpath) if (!file_exists(GITMODULES_FILE)) /* Do nothing without .gitmodules */ return -1; - if (is_gitmodules_unmerged(&the_index)) + if (is_gitmodules_unmerged(the_repository->index)) die(_("Cannot change unmerged .gitmodules, resolve merge conflicts first")); submodule = submodule_from_path(the_repository, &null_oid, oldpath); @@ -127,7 +128,7 @@ int remove_path_from_gitmodules(const char *path) if (!file_exists(GITMODULES_FILE)) /* Do nothing without .gitmodules */ return -1; - if (is_gitmodules_unmerged(&the_index)) + if (is_gitmodules_unmerged(the_repository->index)) die(_("Cannot change unmerged .gitmodules, resolve merge conflicts first")); submodule = submodule_from_path(the_repository, &null_oid, path); @@ -188,7 +189,7 @@ void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt, if (ignore) handle_ignore_submodules_arg(diffopt, ignore); - else if (is_gitmodules_unmerged(&the_index)) + else if (is_gitmodules_unmerged(the_repository->index)) diffopt->flags.ignore_submodules = 1; } } @@ -258,7 +259,7 @@ int is_submodule_active(struct repository *repo, const char *path) } parse_pathspec(&ps, 0, 0, NULL, args.argv); - ret = match_pathspec(&ps, path, strlen(path), 0, NULL, 1); + ret = match_pathspec(repo->index, &ps, path, strlen(path), 0, NULL, 1); argv_array_clear(&args); clear_pathspec(&ps); @@ -1534,18 +1535,6 @@ out: return ret; } -void submodule_unset_core_worktree(const struct submodule *sub) -{ - char *config_path = xstrfmt("%s/modules/%s/config", - get_git_common_dir(), sub->name); - - if (git_config_set_in_file_gently(config_path, "core.worktree", NULL)) - warning(_("Could not unset core.worktree setting in submodule '%s'"), - sub->path); - - free(config_path); -} - static const char *get_super_prefix_or_empty(void) { const char *s = get_super_prefix(); @@ -1711,8 +1700,6 @@ int submodule_move_head(const char *path, if (is_empty_dir(path)) rmdir_or_warn(path); - - submodule_unset_core_worktree(sub); } } out: |