git-migration updates for openais, corosync, xvm-host-setup-notes.
[invirt/scripts/git-migration.git] / git-migrate-fast.sh
index 9df05e7..6ae4f30 100755 (executable)
@@ -13,6 +13,16 @@ SVN=${1:-/mit/xvm/svn}
 
 mako-render rules.mako > rules
 
+packages=($(python -c '
+import yaml
+svn = yaml.load(file("svn.yml"))
+packages = svn["packages"]
+current_packages = sorted(package for package in packages
+                          if "punt" not in packages[package] and
+                             "merge" not in packages[package])
+print "\n".join(current_packages)
+'))
+
 rm git -rf
 mkdir git
 cd git
@@ -76,8 +86,8 @@ git branch -f upstream 0.1.1
 git branch -f prod 0.1.1-1
 popd
 
-for r in $(ls packages); do
-    pushd "packages/$r"
+for package in "${packages[@]}"; do
+    pushd "packages/$package.git"
     git branch dev prod
     popd
 done
@@ -93,21 +103,20 @@ git symbolic-ref HEAD refs/heads/prod
     echo 'data <<EOF'
     echo 'Initial superproject creation.'
     echo 'EOF'
-    for r in $(ls ../packages); do
-       pushd "../packages/$r" &>/dev/null
+    for package in "${packages[@]}"; do
+       pushd "../packages/$package.git" &>/dev/null
        commit="$(git rev-parse refs/heads/prod)"
        popd &>/dev/null
 
-       echo "M 160000 $commit ${r%.git}"
+       echo "M 160000 $commit $package"
     done
 
     echo 'M 100644 inline .gitmodules'
     echo 'data <<EOF'
-    for r in $(ls ../packages); do
-       r="${r%.git}"
-       printf '[submodule "%s"]\n' "$r"
-       printf '\tpath = %s\n' "$r"
-       printf '\turl = ../packages/%s.git\n' "$r"
+    for package in "${packages[@]}"; do
+       printf '[submodule "%s"]\n' "$package"
+       printf '\tpath = %s\n' "$package"
+       printf '\turl = ../packages/%s.git\n' "$package"
     done
     echo 'EOF'