]> git.phdru.name Git - git-scripts.git/blobdiff - submodules/diff-name-only
Feat(submodules/remove): Add option `-c`
[git-scripts.git] / submodules / diff-name-only
index 2209563f725ee62693257002f8642a77254d115d..90f481d4cf310d84457fee7107ec2ffd824e7744 100755 (executable)
@@ -6,6 +6,17 @@ if [ -z "$1" ]; then
     exit 1
 fi
 
+if [ -z "$prog_dir" -o -z "$prog_name" ]; then
+    start_dir="`pwd`"
+    prog_dir="`dirname \"$0\"`"
+    prog_name="`basename \"$0\"`"
+    cd "$prog_dir"
+    # Get full path
+    prog_dir="`pwd`"
+    cd "$start_dir"
+    export prog_dir prog_name
+fi
+
 from_commit="$1"
 to_commit="${2:-HEAD}"
 export from_commit to_commit
@@ -15,7 +26,7 @@ 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
+    prev_commit=`(git -C "$toplevel" rev-parse "$from_commit":"$sm_path")`
+    curr_commit=`(git -C "$toplevel" rev-parse "$to_commit":"$sm_path")`
+    "$prog_dir/$prog_name" $prev_commit $curr_commit
 '