]> git.ozlabs.org Git - next-scripts/blobdiff - to_ozlabs
update to_build_host a bit
[next-scripts] / to_ozlabs
index 64a0684ac6482dbe794c699e5b7c767674782f39..5666c9f33b27c1b41cabd09e20289a67d161e35d 100755 (executable)
--- a/to_ozlabs
+++ b/to_ozlabs
@@ -1,30 +1,56 @@
 #!/bin/bash
 
-echo "Updating Linus' tree"
-ssh ozlabs.org "cd kernels/linus.git; git remote update"
-
-echo "Pushing next"
-cd ~/kernels/next/next
-git push bilbo
-ssh ozlabs.org "cd kernels/next/next; git reset --hard"
-
-echo "Pushing next-history"
-cd ~/kernels/next/next-history.git
-git push bilbo
-
-echo "Pushing quilt"
-cd ~/kernels/next/quilt
-git push bilbo
-ssh ozlabs.org "cd kernels/next/quilt; git reset --hard"
-
-echo "Pushing next-fixes"
-cd ~/kernels/next/next-fixes
-git push bilbo
-ssh ozlabs.org "cd kernels/next/next-fixes; git reset --hard"
-
-cd ~/kernels/next
-rsync -avHP --exclude gitk.cache --exclude 'patch-*-next-2*' --exclude next-2'*'/ --include 'next/.git/' --include 'next/.git/rr-cache/' --include 'next/.git/rr-cache/**' --exclude next/'**' --exclude quilt/'**' --exclude next-fixes/'**' --exclude next-history.git/'**' --delete . ozlabs.org:kernels/next/.
-
-ssh ozlabs.org "touch kernels/NEXT-DONE"
+GIT_REPOS='next next-history.git quilt next-fixes tools etc mmotm'
+
+NEXT_DIR="$HOME/kernels/next"
+
+if ! cd "$NEXT_DIR"; then
+       printf '%s: cannot cd to %s\n' "$0" "$NEXT_DIR" 1>&2
+       exit 1
+fi
+
+printf 'Updating Linus'\'' tree\n'
+ssh ozlabs.org 'cd kernels/linus.git; git remote update'
+
+for i in $GIT_REPOS; do
+       printf 'Pushing %s\n' "$i"
+       ( cd "$i" && git push --prune bilbo )
+       if [ "${i%.git}" = "$i" ]; then
+               ssh ozlabs.org 'cd kernels/next/'"$i"'; git reset --hard'
+       fi
+done
+
+{
+       cat <<EOF
+- gitk.cache
+- /merge.debug
+- /merge.log
+- /akpm-import.log
+- /summ
+- /patch-*-next-2*
+- /next-2*/
++ .git/
++ .git/config
++ .git/hooks
++ .git/hooks/**
++ /next/.git/rr-cache/
++ /next/.git/rr-cache/**
+EOF
+       for i in $GIT_REPOS; do
+               echo "- $i/**"
+       done
+} | rsync -avHP --open-noatime --include-from - --delete . ozlabs.org:kernels/next/.
+
+ssh ozlabs.org 'touch kernels/NEXT-DONE'
+
+# Fix up the git configs so that the next pushes will work
+ssh ozlabs.org '
+cd kernels/next
+for i in '"$GIT_REPOS"'; do
+(
+       cd $i
+       git config receive.denyCurrentBranch ignore
+)
+done'
 
 exit 0