From 7ca782188bb509b1ba815f6842834509611f4687 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Thu, 27 May 2021 20:34:23 +0300 Subject: [PATCH] Add script `submodules/diff-name-only` --- submodules/diff-name-only | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 submodules/diff-name-only diff --git a/submodules/diff-name-only b/submodules/diff-name-only new file mode 100755 index 0000000..d513613 --- /dev/null +++ b/submodules/diff-name-only @@ -0,0 +1,20 @@ +#! /bin/sh +# See the discussion at https://stackoverflow.com/q/67724347/7976758 + +if [ -z "$1" ]; then + echo "Usage $0 from_commit [to_commit]" + exit 1 +fi + +from_commit="$1" +to_commit="${2:-HEAD}" + +# In the superproject +git --no-pager diff --name-only "$from_commit" "$to_commit" + +git submodule foreach " + # In submodule \"\$name\" + prev_commit=\`(git -C \"\$toplevel\" ls-tree "$from_commit" \"\$sm_path\" | awk '{print \$3}')\` + curr_commit=\`(git -C \"\$toplevel\" ls-tree "$to_commit" \"\$sm_path\" | awk '{print \$3}')\` + git --no-pager diff --name-only \$prev_commit \$curr_commit +" -- 2.39.5