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=0a6cc4c1ef461806d6390eac80ae3d355a493eaf;hp=77173490cd9fd4ac0ed21b27eca657883d601a2a;hb=14c45be41ba1507fd71a2dd4ed86f22fa7860c28;hpb=88c3fd38540714efd1e79ac02cecac9020ccafaf;ds=sidebyside diff --git a/copy-alioth-to-gideon b/copy-alioth-to-gideon index 7717349..0a6cc4c 100755 --- a/copy-alioth-to-gideon +++ b/copy-alioth-to-gideon @@ -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