summaryrefslogtreecommitdiff
path: root/builtin/submodule--helper.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-04-28 13:38:20 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-04-28 19:15:21 (GMT)
commit4638728c632e59715b7346ddeca83528d37a4894 (patch)
tree2cdedb14547ccf6179e05ccc9556a9f47099b699 /builtin/submodule--helper.c
parent860cba61a3eac38151fd203547df7515023303e9 (diff)
downloadgit-4638728c632e59715b7346ddeca83528d37a4894.zip
git-4638728c632e59715b7346ddeca83528d37a4894.tar.gz
git-4638728c632e59715b7346ddeca83528d37a4894.tar.bz2
submodule--helper: move config-sanitizing to submodule.c
These functions should be used by any code which spawns a submodule process, which may happen in submodule.c (e.g., for spawning fetch). Let's move them there and make them public so that submodule--helper can continue to use them. Since they're now public, let's also provide a basic overview of their intended use. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/submodule--helper.c')
-rw-r--r--builtin/submodule--helper.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 3d37c3f..16d6432 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -125,54 +125,6 @@ static int module_name(int argc, const char **argv, const char *prefix)
return 0;
}
-/*
- * Rules to sanitize configuration variables that are Ok to be passed into
- * submodule operations from the parent project using "-c". Should only
- * include keys which are both (a) safe and (b) necessary for proper
- * operation.
- */
-static int submodule_config_ok(const char *var)
-{
- if (starts_with(var, "credential."))
- return 1;
- return 0;
-}
-
-static int sanitize_submodule_config(const char *var, const char *value, void *data)
-{
- struct strbuf *out = data;
-
- if (submodule_config_ok(var)) {
- if (out->len)
- strbuf_addch(out, ' ');
-
- if (value)
- sq_quotef(out, "%s=%s", var, value);
- else
- sq_quote_buf(out, var);
- }
-
- return 0;
-}
-
-static void prepare_submodule_repo_env(struct argv_array *out)
-{
- const char * const *var;
-
- for (var = local_repo_env; *var; var++) {
- if (!strcmp(*var, CONFIG_DATA_ENVIRONMENT)) {
- struct strbuf sanitized_config = STRBUF_INIT;
- git_config_from_parameters(sanitize_submodule_config,
- &sanitized_config);
- argv_array_pushf(out, "%s=%s", *var, sanitized_config.buf);
- strbuf_release(&sanitized_config);
- } else {
- argv_array_push(out, *var);
- }
- }
-
-}
-
static int clone_submodule(const char *path, const char *gitdir, const char *url,
const char *depth, const char *reference, int quiet)
{