From 7801ef88df5182c00db14af7d49afe76148d3e77 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 18 Jul 2015 16:20:35 +0100 Subject: [PATCH] as found, moving from .. --- TODO | 47 +++++++++++++++++++++++++++++++++++++++++++ copy-alioth-to-gideon | 47 +++++++++++++++++++++++++++++++++++++++++++ pretest-to-master | 16 +++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 TODO create mode 100755 copy-alioth-to-gideon create mode 100755 pretest-to-master diff --git a/TODO b/TODO new file mode 100644 index 0000000..c45e714 --- /dev/null +++ b/TODO @@ -0,0 +1,47 @@ +THINGS FROM IRC TRANSCRIPTS + +in copy script + set git-daemon-export-ok in template + set git-daemon-export-ok in all repos being copied + set description in template + set description in all repos being copied + +arrange push hook to update list of repos for cgit +arrange cron job to update list of repos for cgit + +change to use push.dgit.d.o + +set up a way to add userkeys to +/etc/ssh/userkeys/dgit.more + + +TRANSITION + +do things from irc transcripts + +make repo move script create refs/heads/master + +make announcement when in testing + +remove old version from wheezy-backports + +wait + +switch: + - announce + - disable write to old repos (by linkfarming) + - copy repos + check no unexpected branches + check none ahead of archive or at least some signed tag, or something + check no unexpected enabled hooks + - switch divert + - test a clone + - test a push of dgit-test-dummy + - announce + + +CONSULT LATER + +ssh for DMs + +cgit diff --git a/copy-alioth-to-gideon b/copy-alioth-to-gideon new file mode 100755 index 0000000..f7cf913 --- /dev/null +++ b/copy-alioth-to-gideon @@ -0,0 +1,47 @@ +#!/bin/bash +set -ex + +d=/srv/dgit.debian.org + +ssh iwj@gideon.debian.org " + set -ex + + d=$d"' + + cd $d + mkdir -p transfer.tmp + cd transfer.tmp + + rsync -rltHxp --delete iwj@git.debian.org:/git/dgit-repos/repos/. . + + find \( \( ! -type f ! -type d \) \ + -o -perm +5002 -o \! -perm +2555 \ + -o -type d \! -perm +2775 \ + -o -path \*/hooks/\* ! -name \*.sample \ + \) -ls \ + >$d/transfer.bad + if [ -s $d/transfer.bad ]; then + head $d/transfer.bad + echo >&2 " BAD" + exit 1 + fi + + set +x + for f in $d/transfer.tmp/*.git; do + cp $d/repos/_template/description $f/description + done + + cat <$d/transfer.run + #!/bin/sh -ex + cd $d/transfer.tmp + rsync -rltHxp --delete *.git $d/repos/ + # _template + echo done. +END + chmod +x $d/transfer.run +' + +: "on gideon + sudo -u dgit bash + $d/transfer.run +" diff --git a/pretest-to-master b/pretest-to-master new file mode 100755 index 0000000..b093241 --- /dev/null +++ b/pretest-to-master @@ -0,0 +1,16 @@ +#!/bin/bash +# +# run git fetch main +# and then this + +set -e +set -o pipefail + +git-rev-list main/master..main/pretest | nl -ba | tac | \ +while read num rev; do + echo >&2 "" + echo >&2 "testing $num $rev" + git checkout $rev + nice tests/using-intree tests/run-all + git push main HEAD:master +done -- 2.30.2