Page MenuHomec4science

test_repo.sh
No OneTemporary

File Metadata

Created
Thu, May 9, 13:07

test_repo.sh

#!/bin/bash -e
TMPDIR=$(mktemp -d)
LOGFILE='/tmp/test_repo.log'
REPO_GIT='ssh://git@c4science.ch/diffusion/PHMONITGIT/monitoring-git.git'
REPO_SVN='svn+ssh://git@c4science.ch/diffusion/PHMONITSVN/'
REPO_HG='ssh://git@c4science.ch/diffusion/PHMONITHG/monitoring-hg/'
error() {
cat $LOGFILE | mail -s "Error $1" jean-baptiste.aubort@epfl.ch
}
prepare() {
git config --global user.name 'c4science bot'
git config --global user.email 'bot@c4science.ch'
echo -e "[ui]\nusername = scitas-bot <bot@c4science.ch>" > ~/.hgrc
}
clean() {
cd
rm -fr $TMPDIR
}
#
# GIT
#
test_clone_git() {
git clone $REPO_GIT $TMPDIR
}
test_push_git() {
cd $TMPDIR
echo test >> README.md
git add README.md
git commit -m "Testing GIT..."
git push origin master
}
#
# SVN
#
test_checkout_svn() {
svn checkout $REPO_SVN $TMPDIR
}
test_commit_svn() {
cd $TMPDIR
echo test >> README.md
svn commit -m "Testing SVN..."
}
#
# Mercurial
#
test_clone_hg() {
hg clone $REPO_HG $TMPDIR
}
test_push_hg() {
cd $TMPDIR
echo test >> README.md
hg commit -m "Testing Mercurial..."
hg push
}
exec 2> $LOGFILE
date >> $LOGFILE
prepare
test_clone_git || error "git clone"
test_push_git || error "git push"
clean
test_checkout_svn || error "svn checkout"
test_commit_svn || error "svn commit"
clean
test_clone_hg || error "hg clone"
test_push_hg || error "hg push"
clean

Event Timeline