{"push_id":1099117721,"size":6,"distinct_size":0,"ref":"refs/heads/jk/submodule-c-credential","head":"4e6706a53818d1c04a5c86b88c62e6c1604f4da3","before":"d1f884986d4bdea6b2d5f424ef7d2ca441070a61","commits":[{"sha":"1149ee214e6b9e2450f817a808f74e4e761e7295","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t5550: fix typo in $HTTPD_URL\n\nCommit 14111fc (git: submodule honor -c credential.* from\ncommand line, 2016-02-29) accidentally wrote $HTTP_URL. It\nhappened to work because we ended up with \"credential..helper\",\nwhich we treat the same as \"credential.helper\", applying it\nto all URLs.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/1149ee214e6b9e2450f817a808f74e4e761e7295"},{"sha":"455d22c1c6abc19693beb8a25bc3d976290d6b84","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t5550: break submodule config test into multiple sub-tests\n\nRight now we test only the cloning case, but there are other\ninteresting cases (e.g., fetching). Let's pull the setup\nbits into their own test, which will make things flow more\nlogically once we start adding more tests which use the\nsetup.\n\nLet's also introduce some whitespace to the clone-test to\nsplit the two parts: making sure it fails without our\ncmdline config, and that it succeeds with it.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/455d22c1c6abc19693beb8a25bc3d976290d6b84"},{"sha":"860cba61a3eac38151fd203547df7515023303e9","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"submodule: export sanitized GIT_CONFIG_PARAMETERS\n\nCommit 14111fc (git: submodule honor -c credential.* from\ncommand line, 2016-02-29) taught git-submodule.sh to save\nthe sanitized value of $GIT_CONFIG_PARAMETERS when clearing\nthe environment for a submodule. However, it failed to\nexport the result, meaning that it had no effect for any\nsub-programs.\n\nWe didn't catch this in our initial tests because we checked\nonly the \"clone\" case, which does not go through the shell\nscript at all. Provoking \"git submodule update\" to do a\nfetch demonstrates the bug.\n\nNoticed-by: Lars Schneider <larsxschneider@gmail.com>\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/860cba61a3eac38151fd203547df7515023303e9"},{"sha":"4638728c632e59715b7346ddeca83528d37a4894","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"submodule--helper: move config-sanitizing to submodule.c\n\nThese functions should be used by any code which spawns a\nsubmodule process, which may happen in submodule.c (e.g.,\nfor spawning fetch). Let's move them there and make them\npublic so that submodule--helper can continue to use them.\n\nSince they're now public, let's also provide a basic overview\nof their intended use.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/4638728c632e59715b7346ddeca83528d37a4894"},{"sha":"c12e8656700be6084aec49df66447e701fda1ecf","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"submodule: use prepare_submodule_repo_env consistently\n\nBefore 14111fc (git: submodule honor -c credential.* from\ncommand line, 2016-02-29), it was sufficient for code which\nspawned a process in a submodule to just set the child\nprocess's \"env\" field to \"local_repo_env\" to clear the\nenvironment of any repo-specific variables.\n\nThat commit introduced a more complicated procedure, in\nwhich we clear most variables but allow through sanitized\nconfig. For C code, we used that procedure only for cloning,\nbut not for any of the programs spawned by submodule.c. As a\nresult, things like \"git fetch --recurse-submodules\" behave\ndifferently than \"git clone --recursive\"; the former will\nnot pass through the sanitized config.\n\nWe can fix this by using prepare_submodule_repo_env()\neverywhere in submodule.c.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/c12e8656700be6084aec49df66447e701fda1ecf"},{"sha":"4e6706a53818d1c04a5c86b88c62e6c1604f4da3","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"submodule: stop sanitizing config options\n\nThe point of having a whitelist of command-line config\noptions to pass to submodules was two-fold:\n\n  1. It prevented obvious nonsense like using core.worktree\n     for multiple repos.\n\n  2. It could prevent surprise when the user did not mean\n     for the options to leak to the submodules (e.g.,\n     http.sslverify=false).\n\nFor case 1, the answer is mostly \"if it hurts, don't do\nthat\". For case 2, we can note that any such example has a\nmatching inverted surprise (e.g., a user who meant\nhttp.sslverify=true to apply everywhere, but it didn't).\n\nSo this whitelist is probably not giving us any benefit, and\nis already creating a hassle as people propose things to put\non it. Let's just drop it entirely.\n\nNote that we still need to keep a special code path for\n\"prepare the submodule environment\", because we still have\nto take care to pass through $GIT_CONFIG_PARAMETERS (and\nblock the rest of the repo-specific environment variables).\n\nWe can do this easily from within the submodule shell\nscript, which lets us drop the submodule--helper option\nentirely (and it's OK to do so because as a \"--\" program, it\nis entirely a private implementation detail).\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/4e6706a53818d1c04a5c86b88c62e6c1604f4da3"}]}