chiark / gitweb /
README.update: dgit-test-dummy is through NEW now
[dgit-junk.git] / copy-alioth-to-gideon
index 0e65b87c7555eaae6c074313d8f66a419fa47d1e..81e2421b3d1f79109de28300da61dede2bdf910f 100755 (executable)
@@ -12,7 +12,7 @@ ssh iwj@gideon.debian.org "
        mkdir -p transfer.tmp
        cd transfer.tmp
 
-       rsync -rltHxp --delete iwj@git.debian.org:/git/dgit-repos/repos/. .
+       rsync -rltHxp --delete iwj@git.debian.org:/git/dgit-repos/repos.now-on-gideon/. .
 
        find \(         \( ! -type f ! -type d \) \
                -o      -perm +5002 -o \! -perm +2555 \
@@ -26,10 +26,35 @@ ssh iwj@gideon.debian.org "
                exit 1
        fi
 
+       (
+        cd $d/transfer.tmp
+        mv irker.git irker.arrgh
+        cp -a _template irker.git
+        cd irker.git
+        git fetch -p ../irker.arrgh "+refs/heads/dgit/*:refs/dgit/*"
+       )
+
        set +x
        for f in $d/transfer.tmp/*.git; do
                cp $d/repos/_template/description $f/description
                touch $f/git-daemon-export-ok
+               (export GIT_DIR=$f
+                master=`git for-each-ref "[r]efs/heads/master"`
+                sid=`git for-each-ref "[r]efs/dgit/sid"`
+                if [ "x$master" = x ] && [ "x$sid" != x ]; then
+                       git update-ref refs/heads/master refs/dgit/sid
+                fi)
+               (export GIT_DIR=$f
+                git for-each-ref --format="%(refname)" | while read r; do
+                       case "$r" in
+                       refs/heads/master)      ;;
+                       refs/tags/debian/*)     ;;
+                       refs/dgit/*)            ;;
+                       *)
+                               git update-ref -d "$r"
+                               ;;
+                       esac
+               done)
        done
 
        cat <<END >$d/transfer.run
@@ -40,7 +65,7 @@ ssh iwj@gideon.debian.org "
                echo done locally, copying...
 
                distrodir=$d/dispatch-dir/distro\=debian
-               \$distrodir/mirror-hook \$distrodir/mirror-hook all
+               \$distrodir/mirror-hook \$distrodir all
                echo done all.
 END
        chmod +x $d/transfer.run