]> git.phdru.name Git - git-scripts.git/commitdiff
Refactoring: Factor out run-repos and run-workdirs
authorOleg Broytman <phd@phdru.name>
Thu, 28 Feb 2019 12:56:47 +0000 (15:56 +0300)
committerOleg Broytman <phd@phdru.name>
Thu, 28 Feb 2019 12:59:19 +0000 (15:59 +0300)
18 files changed:
edit-description-repos
fix-config-repos
fsck-repos
ls-assumed
ls-assumed-repos
ls-branches-repos
ls-dirty
ls-dirty-repos
ls-no-description-repos
ls-remotes-repos
ls-stash
ls-stash-repos
ls-status
ls-status-repos
run-recursive
run-repos [new file with mode: 0755]
run-workdirs [new file with mode: 0755]
set-commit-date-repos

index bd6c81afb75aea2620ef6362fd892efda3dd9799..8c48ca5994ee5b45d37d75d1e6427e22632aa5fb 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/edit-description-recursive || exit 1'
+exec "$prog_dir"/run-repos "$prog_dir"/edit-description-recursive
index 404f7d2de1541956bd3acc948186c9aa2c77d60a..da5e46e9d4281f198108528cde342a31d97fc925 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/fix-config-recursive || exit 1'
+exec "$prog_dir"/run-repos "$prog_dir"/fix-config-recursive
index a31c8bb817cbb023df5b36f186c54dcbade23f94..7e05666a2b41ce991edb5cd1617f981afbf73009 100755 (executable)
@@ -4,6 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all \
-   'echo "----- $d -----" && cd "$d" &&' \
-   '"$prog_dir"/fsck-recursive || exit 1'
+exec "$prog_dir"/run-repos -v $prog_dir"/fsck-recursive
index 7f7a4079e7a5b932b20562ce49bb073db5959fb3..7516733a854299e26e343094e36b3a0fe0c78821 100755 (executable)
@@ -1,8 +1,5 @@
 #! /bin/sh
 
-d="`git rev-parse --show-toplevel`" &&
-g="`git rev-parse --git-dir`" &&
-
-if [ -n "$d" ]; then
-   if [ -n "`git ls-files -v | grep ^[a-z]`" ]; then echo "$d"; fi
+if [ -n "`git ls-files -v | grep ^[a-z]`" ]; then
+   pwd
 fi
index c3d177f4c79b25d8758335b8f9976529daa0b7a5..085626f178917615b620b378fb83390b0c66dacf 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-assumed-recursive || exit 1'
+exec "$prog_dir"/run-workdirs "$prog_dir"/ls-assumed-recursive
index 737a0a3277fd407b41758799b3e3ff51a8ebe538..6efd1128445f46f6b3e3c264209b6f9216613faa 100755 (executable)
@@ -9,4 +9,4 @@ if [ "$1" = "-v" ]; then
 fi
 export verbose
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-branches-recursive || exit 1'
+exec "$prog_dir"/run-repos "$prog_dir"/ls-branches-recursive
index 77cad68b9f80f0917d24b02bfed54dd3d0952285..d2eaac48afe24f3c491487724e9425c341160bb7 100755 (executable)
--- a/ls-dirty
+++ b/ls-dirty
@@ -1,10 +1,6 @@
 #! /bin/sh
 
-d="`git rev-parse --show-toplevel`" &&
-
-if [ -n "$d" ]; then
-   if [ -n "`git ls-files --deleted --modified --others --unmerged --killed --exclude-standard --directory --no-empty-directory`" ]
-   then
-      echo "$d"
-   fi
+if [ -n "`git ls-files --deleted --modified --others --unmerged --killed --exclude-standard --directory --no-empty-directory`" ]
+then
+   pwd
 fi
index fa9df2f6af02b2de8cc44c4296e1fb391a53733e..d22680fcc153f99172f1358720c24866e81d7653 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-dirty-recursive || exit 1'
+exec "$prog_dir"/run-workdirs "$prog_dir"/ls-dirty-recursive
index 76c689bffbf66d67039eeab89aaed83156c49c8d..e80a3e0691f5a777674175a5f3d9bee8ddfe488e 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-no-description-recursive || exit 1'
+exec "$prog_dir"/run-repos "$prog_dir"/ls-no-description-recursive
index 966989f40f5e567772fb4df71f87b558936893e7..5cfb3913c20671aa872dd9c908b8f72920be4766 100755 (executable)
@@ -9,4 +9,4 @@ if [ "$1" = "-v" ]; then
 fi
 export verbose
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-remotes-recursive || exit 1'
+exec "$prog_dir"/run-repos "$prog_dir"/ls-remotes-recursive
index 193350820193a6c3b374c90f028a61bd6c0bdf0b..5f1e57feec4fceca35b8529142ec8917aac00d93 100755 (executable)
--- a/ls-stash
+++ b/ls-stash
@@ -1,7 +1,5 @@
 #! /bin/sh
 
-d="`git rev-parse --show-toplevel`" &&
-
-if [ -n "$d" ]; then
-   if [ -n "`git stash list`" ]; then echo "$d"; fi
+if [ -n "`git stash list`" ]; then
+   pwd
 fi
index 9e057ba8ed522753ab57412feb20e25949693979..4dcca8636eeaab417ddd57f950f399abd04a6fba 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-stash-recursive || exit 1'
+exec "$prog_dir"/run-workdirs "$prog_dir"/ls-stash-recursive
index 5d3808392d8233b223a82b0c556ae1520386551d..3bcc50cab7970ca060a3f45a6b5a9909b7f9e442 100755 (executable)
--- a/ls-status
+++ b/ls-status
@@ -1,12 +1,9 @@
 #! /bin/sh
 
-d="`git rev-parse --show-toplevel`" &&
+d="`pwd`" &&
+cd "`dirname \"$0\"`" &&
+prog_dir="`pwd`" &&
+export prog_dir &&
+cd "$d" &&
 
-if [ -n "$d" ]; then
-   cd "`dirname \"$0\"`" &&
-   prog_dir="`pwd`" &&
-   export prog_dir &&
-   cd "$d" &&
-
-   if [ -n "`"$prog_dir"/git-status.sh --short`" ]; then echo "$d"; fi
-fi
+if [ -n "`"$prog_dir"/git-status.sh --short`" ]; then echo "$d"; fi
index 349cee718b0493026c3eadb2f85f52f81ac05a88..bfae2ff5e43fcad274e0cbbf6b505790d037d14e 100755 (executable)
@@ -4,4 +4,4 @@ cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 export prog_dir
 
-exec "$prog_dir"/do-all 'cd "$d" && "$prog_dir"/ls-status-recursive || exit 1'
+exec "$prog_dir"/run-workdirs "$prog_dir"/ls-status-recursive
index 35992939c5b5993cda830df0ad09da9e887865bc..5881aedd1d7b395d847825b9c1e0ea509afe33d6 100755 (executable)
@@ -3,5 +3,5 @@
 "$@" &&
 
 if [ -f .gitmodules ]; then
-   exec git submodule foreach --quiet --recursive "$@"
+   exec git submodule foreach --quiet --recursive "$@" || exit 1
 fi
diff --git a/run-repos b/run-repos
new file mode 100755 (executable)
index 0000000..c38b923
--- /dev/null
+++ b/run-repos
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+cd "`dirname \"$0\"`" &&
+prog_dir="`pwd`" &&
+export prog_dir
+
+if [ "$1" = "-v" ]; then
+   verbose=1
+   shift
+fi
+
+cat "$prog_dir"/locate-all.list |
+while read d; do
+   if ! test -d "$d"; then echo "No such dir: $d" >&2; continue; fi
+   if [ "$verbose" = 1 ]; then echo "$d"; fi
+   cd "$d" && "$@" < /dev/tty || exit 1
+done
diff --git a/run-workdirs b/run-workdirs
new file mode 100755 (executable)
index 0000000..01b6a3d
--- /dev/null
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+cd "`dirname \"$0\"`" &&
+prog_dir="`pwd`" &&
+export prog_dir
+
+if [ "$1" = "-v" ]; then
+   verbose=1
+   shift
+fi
+
+cat "$prog_dir"/locate-all.list |
+while read d; do
+   if ! test -d "$d"; then echo "No such dir: $d" >&2; continue; fi
+   if ! test -d "$d/.git"; then continue; fi # Skip bare repos
+   if [ "$verbose" = 1 ]; then echo "$d"; fi
+   cd "$d" && "$@" < /dev/tty || exit 1
+done
index 727b0830faa7c39f8f908b2c2d94c7206b687f6e..cdf1bc0057cdf0883c24b12d0a8d971e08044980 100755 (executable)
@@ -5,6 +5,4 @@
 cd "`dirname \"$0\"`" &&
 prog_dir="`pwd`" &&
 
-exec "$prog_dir"/do-all \
-   'test "$g" = "$d/.git" || continue &&' \
-   'cd "$d"; echo "----- $d -----"; "$prog_dir"/set-commit-date-recursive'
+exec "$prog_dir"/run-workdirs -v "$prog_dir"/set-commit-date-recursive'