]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
setup.sh: Improve setup support.
authorSimon Ruderich <simon@ruderich.org>
Wed, 3 Jun 2009 14:12:11 +0000 (16:12 +0200)
committerSimon Ruderich <simon@ruderich.org>
Wed, 3 Jun 2009 14:12:11 +0000 (16:12 +0200)
A better find rule is used and the correct project path is printed (instead of
project/.git).

If a setup.sh shouldn't be used just remove the executable bit.

Also only existing setup.sh files are used. This prevents the "no such file or
directory: setup.sh" warning.

setup.sh

index 74da7c167cf08c0a2c749730134b2a39df1b7ba2..6e5a69ae0b71c3fe3801fff8e8df89140be76e2d 100755 (executable)
--- a/setup.sh
+++ b/setup.sh
@@ -57,12 +57,14 @@ git_remote_init_update() {
 
 # Run setup.sh in each project.
 if [ "$#" -eq "0" ]; then
-    for project in `find . -name .git -type d`; do
+    for path in `find . -name setup.sh -type f -executable`; do
         # Skip this directory to prevent an infinite loop.
-        [ "$project" = "./.git" ] && continue
+        [ "$path" = "./setup.sh" ] && continue
+
+        project=`echo "$path" | sed 's|/setup.sh$||'`
 
         echo "running setup.sh in '$project'"
-        ( cd "$project/.."; ./setup.sh > /dev/null )
+        ( cd "$project"; ./setup.sh > /dev/null )
     done
 # Create git repository if necessary and/or additional remotes and fetch them.
 elif [ "$#" -ge "2" ]; then