Mercurial > hg > vamp-build-and-test
changeset 100:793467b5e61c
Don't use subrepos, they're too fragile. Just use a list of repos and a script instead.
author | Chris Cannam |
---|---|
date | Fri, 04 Sep 2015 12:01:02 +0100 |
parents | f51f242840d5 |
children | c530137014c0 |
files | .hgsub .hgsubstate METADATA/repos.txt SCRIPTS/process.sh SCRIPTS/summarise.sh SCRIPTS/update-all.sh |
diffstat | 6 files changed, 57 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsub Wed Aug 12 16:05:17 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -vamp-plugin-sdk = https://code.soundsoftware.ac.uk/hg/vamp-plugin-sdk -vamp-plugin-tester = https://code.soundsoftware.ac.uk/hg/vamp-plugin-tester -vamp-aubio-plugins = https://code.soundsoftware.ac.uk/hg/vamp-aubio-plugins -# mazurka-plugins = https://code.soundsoftware.ac.uk/hg/mazurka-plugins -qm-vamp-plugins = https://code.soundsoftware.ac.uk/hg/qm-vamp-plugins -segmenter-vamp-plugin = https://code.soundsoftware.ac.uk/hg/segmenter-vamp-plugin -vamp-libxtract-plugins = https://code.soundsoftware.ac.uk/hg/vamp-libxtract-plugins -vamp-onsetsds-plugin = https://code.soundsoftware.ac.uk/hg/vamp-onsetsds-plugin -vamp-test-plugin = https://code.soundsoftware.ac.uk/hg/vamp-test-plugin -match-vamp = https://code.soundsoftware.ac.uk/hg/match-vamp -vampy = https://code.soundsoftware.ac.uk/hg/vampy -nnls-chroma = https://code.soundsoftware.ac.uk/hg/nnls-chroma -pyin = https://code.soundsoftware.ac.uk/hg/pyin -silvet = https://code.soundsoftware.ac.uk/hg/silvet -constant-q-cpp = https://code.soundsoftware.ac.uk/hg/constant-q-cpp -# predomino = https://code.soundsoftware.ac.uk/hg/predomino -vamp-tempogram = https://code.soundsoftware.ac.uk/hg/vamp-tempogram -vamp-simple-cepstrum = https://code.soundsoftware.ac.uk/hg/vamp-simple-cepstrum -cepstral-pitchtracker = https://code.soundsoftware.ac.uk/hg/cepstral-pitchtracker -tempest = https://code.soundsoftware.ac.uk/hg/tempest -miredu = [git]https://github.com/MTG/miredu
--- a/.hgsubstate Wed Aug 12 16:05:17 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -29936292cec05fe06756baa9e51f43f04481175c cepstral-pitchtracker -500416b7a651efa2a334ef0ee75fffde0d1f755d constant-q-cpp -cb3098285a521f0ae6a479d948b7e6ad0ec01e9b match-vamp -96c11ea1deeb1c00c5c9429663a5c9ec95a8f3b3 miredu -c585c95f2d860a96c6a66c8cd1a51a1292a2358b nnls-chroma -060ae29d3fdf1d976571f6ac19ffdf4772a8eb8f pyin -8e3a0da83e87973a1c83abb16453dd3500a8b4f5 qm-vamp-plugins -11a826034a9d67fc3ba36ceea052ccd4554f82f2 segmenter-vamp-plugin -eee4c7fd15abdd0142cef229f87f81f46845f471 silvet -f6597489acf5f93163214874c0cd346d6e65ed95 tempest -3aee7fc5c39cd1b856030ea452de7abfe62f033e vamp-aubio-plugins -81146373f024be1c82371f04262cf2ae1680cb61 vamp-libxtract-plugins -8bc4ec815b6b695371dc9dda500191892ca5d2a7 vamp-onsetsds-plugin -c42aeb56d8288001ff45d6f00594e5f5b1e8f3de vamp-plugin-sdk -436a14a12242ea195c18076321892660c89e906a vamp-plugin-tester -f021dc97da29d9c92cfec37b0a100723b6921f3e vamp-simple-cepstrum -02721bb9c4f07dadfe5fd32e2ac9d6f6958749a5 vamp-tempogram -89e7c9a834d3ec05cece0ed1c4b9a8ac825775e8 vamp-test-plugin -f5c028376bf9331e5eeeed2e25d1edf61bdfb79f vampy
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/METADATA/repos.txt Fri Sep 04 12:01:02 2015 +0100 @@ -0,0 +1,22 @@ +vamp-plugin-sdk = https://code.soundsoftware.ac.uk/hg/vamp-plugin-sdk +vamp-plugin-tester = https://code.soundsoftware.ac.uk/hg/vamp-plugin-tester +vamp-aubio-plugins = https://code.soundsoftware.ac.uk/hg/vamp-aubio-plugins +mazurka-plugins = https://code.soundsoftware.ac.uk/hg/mazurka-plugins +qm-vamp-plugins = https://code.soundsoftware.ac.uk/hg/qm-vamp-plugins +segmenter-vamp-plugin = https://code.soundsoftware.ac.uk/hg/segmenter-vamp-plugin +vamp-libxtract-plugins = https://code.soundsoftware.ac.uk/hg/vamp-libxtract-plugins +vamp-onsetsds-plugin = https://code.soundsoftware.ac.uk/hg/vamp-onsetsds-plugin +vamp-test-plugin = https://code.soundsoftware.ac.uk/hg/vamp-test-plugin +match-vamp = https://code.soundsoftware.ac.uk/hg/match-vamp +vampy = https://code.soundsoftware.ac.uk/hg/vampy +nnls-chroma = https://code.soundsoftware.ac.uk/hg/nnls-chroma +pyin = https://code.soundsoftware.ac.uk/hg/pyin +silvet = https://code.soundsoftware.ac.uk/hg/silvet +constant-q-cpp = https://code.soundsoftware.ac.uk/hg/constant-q-cpp +predomino = https://code.soundsoftware.ac.uk/hg/predomino +vamp-tempogram = https://code.soundsoftware.ac.uk/hg/vamp-tempogram +vamp-simple-cepstrum = https://code.soundsoftware.ac.uk/hg/vamp-simple-cepstrum +cepstral-pitchtracker = https://code.soundsoftware.ac.uk/hg/cepstral-pitchtracker +tempest = https://code.soundsoftware.ac.uk/hg/tempest +miredu = https://github.com/MTG/miredu +ua-vamp-plugins = https://github.com/pertusa/UAVampPlugins
--- a/SCRIPTS/process.sh Wed Aug 12 16:05:17 2015 +0100 +++ b/SCRIPTS/process.sh Fri Sep 04 12:01:02 2015 +0100 @@ -162,7 +162,7 @@ plugindirs="$@" if [ -z "$plugindirs" ]; then - plugindirs=$(cat .hgsub | grep -v vamp-plugin-sdk | grep -v vamp-plugin-tester | awk '{ print $1; }') + plugindirs=$(cat METADATA/repos.txt | grep -v vamp-plugin-sdk | grep -v vamp-plugin-tester | awk '{ print $1; }') else for dir in $plugindirs ; do if [ ! -d "$dir" ]; then
--- a/SCRIPTS/summarise.sh Wed Aug 12 16:05:17 2015 +0100 +++ b/SCRIPTS/summarise.sh Fri Sep 04 12:01:02 2015 +0100 @@ -7,7 +7,7 @@ plugindirs="$@" if [ -z "$plugindirs" ]; then - plugindirs=$(cat .hgsub | grep -v vamp-plugin-sdk | grep -v vamp-plugin-tester | awk '{ print $1; }') + plugindirs=$(cat METADATA/repos.txt | grep -v vamp-plugin-sdk | grep -v vamp-plugin-tester | awk '{ print $1; }') else for dir in $plugindirs ; do if [ ! -d "$dir" ]; then
--- a/SCRIPTS/update-all.sh Wed Aug 12 16:05:17 2015 +0100 +++ b/SCRIPTS/update-all.sh Fri Sep 04 12:01:02 2015 +0100 @@ -1,14 +1,37 @@ #!/bin/bash +set -eu + # Run this from the top-level vamp-build-and-test directory -cat .hgsub | grep -v '^#' | awk '{ print $1 }' | while read x; do - if [ -d "$x"/.hg ]; then - ( cd $x ; hg pull && hg update ) - elif [ -d "$x"/.git ]; then - ( cd $x ; git pull ) - else - url=$(grep "^$x " .hgsub | awk '{ print $3; }') - hg clone "$url" "$x" - fi -done +failed=/tmp/failed_$$ +rm -f "$failed" +trap "rm -f $failed" 0 + +cat METADATA/repos.txt | grep -v '^#' | awk -F= '{ print $1, $2 }' | + while read name loc; do + if [ -d "$name"/.hg ]; then + ( cd $name ; hg pull && hg update ) || echo "$name" >> "$failed" + elif [ -d "$name"/.git ]; then + ( cd $name ; git pull ) || echo "$name" >> "$failed" + elif [ -d "$name" ]; then + echo "ERROR: Directory \"$name\" exists, but is not a git or hg repo" 1>&2 + exit 1 + else + case "$loc" in + */hg/*) + hg clone "$loc" "$name" || echo "$name" >> "$failed";; + *//git*) + git clone "$loc" "$name" || echo "$name" >> "$failed";; + *) + echo "ERROR: Can't deduce repo type from URL \"$loc\"" 1>&2 + exit 1;; + esac + fi + done + +echo "Done" +if [ -f "$failed" ]; then + echo "Failed repos:" + cat "$failed" +fi