git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/6] unpack-trees: fix '--recurse-submodules' when switching from no submodules to nested submodules

From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
Date
Feb 17, 2020, 04:53 UTC
Message-ID
<pull.555.git.1581915186.gitgitgadget@gmail.com>

Currently, using git checkout --recurse-submodules (or the submodule.recurse config) to switch from a commit with no submodules to a commit with initialized nested submodules fails because a child git process tries to cd to a yet non-existing nested submodule directory. reset and read-tree are also affected in the same way since they also use the unpack-trees machinery.

The 5th commit in this series fixes this bug. The first four are clean-up patches in tests and in unpack-trees that mostly remove outdated comments/dead code. The 6th commit adds a test for the reverse transition (nested submodules -> no submodules) as it was not being tested.

The commit message of the 5th commit is quite long, as I tried to describe clearly what is the cause of the bug.

Philippe Blain (6):
  t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED
  t/lib-submodule-update: remove outdated test description
  t/lib-submodule-update: move a test to the right section
  unpack-trees: remove outdated description for verify_clean_submodule
  unpack-trees: check for missing submodule directory in merged_entry
  t/lib-submodule-update: add test removing nested submodules
 t/lib-submodule-update.sh  | 68 +++++++++++++++++++++++++++-----------
 t/t7112-reset-submodule.sh |  1 -
 unpack-trees.c             |  7 ++--
 3 files changed, 51 insertions(+), 25 deletions(-)
base-commit: d8437c57fa0752716dde2d3747e7c22bf7ce2e41
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-555%2Fphil-blain%2Fcheckout-recurse-nested-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-555/phil-blain/checkout-recurse-nested-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/555
-- 
gitgitgadget
Next: Philippe Blain via GitGitGadget
Message 1 of 9 in “unpack-trees: fix '--recurse-submodules' when switching from no submodules to nested submodules”
  1. 0/6 unpack-trees: fix '--recurse-submodules' when switching from no submodules to nested submodulesPhilippe Blain via GitGitGadget, Feb 17, 2020
  2. 2/6 t/lib-submodule-update: remove outdated test descriptionPhilippe Blain via GitGitGadget, Feb 17, 2020
  3. 4/6 unpack-trees: remove outdated description for verify_clean_submodulePhilippe Blain via GitGitGadget, Feb 17, 2020
  4. 5/6 unpack-trees: check for missing submodule directory in merged_entryPhilippe Blain via GitGitGadget, Feb 17, 2020
  5. Junio C HamanoFeb 19, 2020
  6. 1/6 t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTEDPhilippe Blain via GitGitGadget, Feb 17, 2020
  7. Junio C HamanoFeb 19, 2020
  8. 3/6 t/lib-submodule-update: move a test to the right sectionPhilippe Blain via GitGitGadget, Feb 17, 2020
  9. 6/6 t/lib-submodule-update: add test removing nested submodulesPhilippe Blain via GitGitGadget, Feb 17, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.