Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- Notes: The output of the differential testing is below, which points out 2 bugs: * resolving relative paths seems is broken, so we would need to have the equivalent of eval "set $(git rev-parse --sq --prefix "$wt_prefix" -- "$@")" (091a6eb0, 2013-06-16, submodule: drop the top-level requirement) * The handling of funny characters is broken. ---------------------------------------------- ../init 160000 9ab41d0d44279924747e3eafa6da77966579aa45 0 init ---- ---- ---- fatal: ../init: '../init' is outside repository ---------------------------------------------- ../init 160000 37b832c3ae4dcc0830b173572ff59be6b089bdcd 0 init ---- ---- ---- fatal: ../init: '../init' is outside repository ---------------------------------------------- ../init 160000 9ab41d0d44279924747e3eafa6da77966579aa45 0 init ---- ---- ---- fatal: ../init: '../init' is outside repository ---------------------------------------------- 160000 37b832c3ae4dcc0830b173572ff59be6b089bdcd 0 example2 160000 9ab41d0d44279924747e3eafa6da77966579aa45 0 init 160000 01b25b1d44b1049978e053768790100df8b8d9d9 0 å äö ---- 160000 37b832c3ae4dcc0830b173572ff59be6b089bdcd 0 example2 160000 9ab41d0d44279924747e3eafa6da77966579aa45 0 init 160000 01b25b1d44b1049978e053768790100df8b8d9d9 0 "\303\245 \303\244\303\266" ---- ---- git-submodule.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index 36797c3..717b74d 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -149,7 +149,7 @@ relative_path () # Get submodule info for registered submodules # $@ = path to limit submodule list # -module_list() +module_list_shell() { eval "set $(git rev-parse --sq --prefix "$wt_prefix" -- "$@")" ( @@ -187,6 +187,29 @@ module_list() ' } +module_list() +{ + # call both the old and new code + module_list_shell $@ >/u/git_submodule_module_list_shell 2>/u/git_submodule_module_list_shell2 + git submodule--helper --module_list $@ >/u/git_submodule_module_list 2>/u/git_submodule_module_list2 + # if there is a diff record it + DIFF=$(diff /u/git_submodule_module_list_shell /u/git_submodule_module_list) + if [ "$DIFF" != "" ] + then + echo "----------------------------------------------">>/u/git_submodule_module_diffs + echo $@ >>/u/git_submodule_module_diffs + cat /u/git_submodule_module_list_shell >>/u/git_submodule_module_diffs + echo "----" >>/u/git_submodule_module_diffs + cat /u/git_submodule_module_list >>/u/git_submodule_module_diffs + echo "----" >>/u/git_submodule_module_diffs + cat /u/git_submodule_module_list_shell2 >>/u/git_submodule_module_diffs + echo "----" >>/u/git_submodule_module_diffs + cat /u/git_submodule_module_list2 >>/u/git_submodule_module_diffs + fi + # output to the caller + cat /u/git_submodule_module_list +} + die_if_unmatched () { if test "$1" = "#unmatched" -- 2.5.0.5.gf4cd9ae.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html