Original series: https://lore.kernel.org/git/20220210092833.55360-1-chooglen@xxxxxxxxxx = Patch summary - Patch 1 adds extra tests to "git submodule update" to make sure we don't break anything - Patch 2 removes dead code that used to be part of "git submodule update" - Patch 3 prepares for later changes by introducing the C function that will hold most of the newly converted code - Patch 4 moves run-update-procedure's --suboid option into C - Patch 5 moves ensure-core-worktree into C - Patches 6-8 move run-update-procedure's --remote option into C - Patches 9-11 move "git submodule update"'s --init into C - Patches 12-13 move "git submodule update"'s --filter option into C = Changes Since v3: - Move 'remove ensure-core-worktree' towards the end (see xmqqbkymaftr.fsf@gitster.g). - Fix typo Since v2: - Patch 6: Fix a stale commit message that said 'in the next patch'. - Patch 9: Fix an overly long line (spotted by Ævar in an older iteration of ar/submodule-update) - Patch 12: Test for usage using test_expect_code - Patch 13: Add missing spaces to the usage string Since v1: - Fix compilation error due to bad rebase - Remove accidentally included tests - Fix a NEEDSWORK (it was a leftover from ar/submodule-update) Atharva Raykar (3): submodule--helper: get remote names from any repository submodule--helper: refactor get_submodule_displaypath() submodule--helper: allow setting superprefix for init_submodule() Glen Choo (8): submodule--helper: remove update-module-mode submodule--helper: reorganize code for sh to C conversion submodule--helper run-update-procedure: remove --suboid submodule--helper run-update-procedure: learn --remote submodule--helper update-clone: learn --init submodule--helper: remove ensure-core-worktree submodule update: add tests for --filter submodule--helper update-clone: check for --filter and --init Ævar Arnfjörð Bjarmason (2): submodule tests: test for init and update failure output submodule--helper: don't use bitfield indirection for parse_options() builtin/submodule--helper.c | 248 +++++++++++++++++++-------------- git-submodule.sh | 54 +------ t/t7406-submodule-update.sh | 26 +++- t/t7408-submodule-reference.sh | 14 +- 4 files changed, 183 insertions(+), 159 deletions(-) Range-diff against v3: 1: 6138f4682c = 1: 6138f4682c submodule tests: test for init and update failure output 2: 6c83c78819 = 2: 6c83c78819 submodule--helper: remove update-module-mode 3: 9524986096 = 3: 9524986096 submodule--helper: reorganize code for sh to C conversion 4: f42f3de2b7 ! 4: 533de2c787 submodule--helper run-update-procedure: remove --suboid @@ Commit message submodule--helper run-update-procedure: remove --suboid Teach run-update-procedure to determine the oid of the submodule's HEAD - instead of doing it in git-subomdule.sh. + instead of doing it in git-submodule.sh. Signed-off-by: Glen Choo <chooglen@xxxxxxxxxx> 6: 8dc7bc5894 = 5: bcc90c332b submodule--helper: get remote names from any repository 7: feaf9f45d8 = 6: 93dd851882 submodule--helper: don't use bitfield indirection for parse_options() 8: 91e8e1a007 = 7: 1aff3622bc submodule--helper run-update-procedure: learn --remote 9: aba851e71e = 8: c59d6a9b3c submodule--helper: refactor get_submodule_displaypath() 10: 2155c049a2 = 9: 28bc5887ea submodule--helper: allow setting superprefix for init_submodule() 11: 03bbc39a06 = 10: 364d996481 submodule--helper update-clone: learn --init 5: b0a0cae633 ! 11: 3b7d961ade submodule--helper: remove ensure-core-worktree @@ Commit message submodule--helper: remove ensure-core-worktree Move the logic of "git submodule--helper ensure-core-worktree" into - run-update-procedure. Since the ensure-core-worktree command is - obsolete, remove it. + run-update-procedure, and since this makes the ensure-core-worktree + command obsolete, remove it. + + As a result, the order of two operations in git-submodule.sh is + reversed: 'set the value of core.worktree' now happens after the call to + "git submodule--helper relative-path". This is safe - "relative-path" + does not depend on the value of core.worktree. Signed-off-by: Glen Choo <chooglen@xxxxxxxxxx> 12: e49b26ad94 = 12: 70e00d294c submodule update: add tests for --filter 13: c97c97948a = 13: ed7f8d57dc submodule--helper update-clone: check for --filter and --init base-commit: 715d08a9e51251ad8290b181b6ac3b9e1f9719d7 -- 2.33.GIT