X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit-junk.git;a=blobdiff_plain;f=copy-alioth-to-gideon;h=81e2421b3d1f79109de28300da61dede2bdf910f;hp=77173490cd9fd4ac0ed21b27eca657883d601a2a;hb=7f22ddb4e0ae8e45295784e62e39498b7cc14495;hpb=88c3fd38540714efd1e79ac02cecac9020ccafaf diff --git a/copy-alioth-to-gideon b/copy-alioth-to-gideon index 7717349..81e2421 100755 --- a/copy-alioth-to-gideon +++ b/copy-alioth-to-gideon @@ -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 <$d/transfer.run