Update scripts/cvs-update.sh to git-update.sh; add git-version.sh
authorThomas Vander Stichele <thomas (at) apestaart (dot) org>
Sat, 13 Jun 2009 12:53:24 +0000 (14:53 +0200)
committerThomas Vander Stichele <thomas (at) apestaart (dot) org>
Sat, 13 Jun 2009 12:53:24 +0000 (14:53 +0200)
    add script to get git versions
    first update all, then build
    add gnonlin too
    specify where to pull from
    also update submodule
    rename and change cvs-update script to git-update

scripts/git-update.sh [moved from scripts/cvs-update.sh with 59% similarity]
scripts/git-version.sh [new file with mode: 0644]

similarity index 59%
rename from scripts/cvs-update.sh
rename to scripts/git-update.sh
index a0437e1..bd66745 100755 (executable)
@@ -8,21 +8,48 @@
 
 FAILURE=
 
-for m in \
-  gstreamer gst-plugins-base \
-  gst-plugins-good gst-plugins-ugly gst-plugins-bad \
-  gst-ffmpeg \
-  gst-python \
-  ; do
+MODULES="\
+    gstreamer gst-plugins-base \
+    gst-plugins-good gst-plugins-ugly gst-plugins-bad \
+    gst-ffmpeg \
+    gst-python \
+    gnonlin"
+
+for m in $MODULES; do
   if test -d $m; then
+    echo "+ updating $m"
     cd $m
-    cvs update -dP
+
+    git pull origin master
+    if test $? -ne 0
+    then
+      git stash
+      git pull origin master
+      if test $? -ne 0
+      then 
+        git stash apply
+        FAILURE="$FAILURE$m: update\n"
+      else
+        git stash apply
+      fi
+      cd ..
+      continue
+    fi
+    git submodule update
     if test $? -ne 0
     then
       FAILURE="$FAILURE$m: update\n"
       cd ..
       continue
     fi
+    cd ..
+  fi
+done
+
+# then build
+for m in $MODULES; do
+  if test -d $m; then
+    cd $m
     if test ! -e Makefile
     then
       ./autoregen.sh
diff --git a/scripts/git-version.sh b/scripts/git-version.sh
new file mode 100644 (file)
index 0000000..e92c4c5
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# update all known gstreamer modules
+# build them one by one
+# report failures at the end
+# run this from a directory that contains the checkouts for each of the
+# modules
+
+FAILURE=
+
+for m in \
+  gstreamer gst-plugins-base \
+  gst-plugins-good gst-plugins-ugly gst-plugins-bad \
+  gst-ffmpeg \
+  gst-python \
+  gnonlin \
+  ; do
+  if test -d $m; then
+    cd $m
+      echo $m
+      git branch | grep '*'
+      git log | head -n 1
+    cd ..
+  fi
+done