jaromail

a commandline tool to easily and privately handle your e-mail
git clone git://parazyd.org/jaromail.git
Log | Files | Refs | Submodules | README

commit 9d030d18c1bea76f56df9a8c4d7b44d4dbe20c2e
parent 467ce510afe29f659c3bdcd46f1a351810756fcd
Author: Jaromil <jaromil@dyne.org>
Date:   Wed, 19 Dec 2012 12:20:45 +0100

fixes to backup

Diffstat:
Msrc/zlibs/maildirs | 4++--
Msrc/zlibs/search | 14++++++++------
2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/zlibs/maildirs b/src/zlibs/maildirs @@ -146,8 +146,8 @@ rmdupes() { } merge() { - src=${PARAM[1]} - dst=${PARAM[2]} + src=${1} + dst=${2} { test "$src" = "$dst" } && { error "Cannot merge same directory in itself: $src = $dst" diff --git a/src/zlibs/search b/src/zlibs/search @@ -201,21 +201,23 @@ backup() { base=$basedir database=$mairixdb maildir=${folders} -mfolder=$dst mformat=maildir EOF mairix -F -f ${mairixrc} 2> /dev/null - act "Moving matches to $dst" - pushd `dirname $dst`; basedir=`pwd`; popd + tempdst="bck.`basename $dst`" + notice "Backup of $dst" rm -f ${mairixrc}; cat <<EOF > ${mairixrc} base=$basedir database=$mairixdb maildir=${folders} -mfolder=$dst +mfolder=$tempdst mformat=maildir EOF - found=`mairix -F -f ${mairixrc} -t -M ${expr} 2>/dev/null | awk '{print $2}'` - notice "$found matches found, destination folder size is `du -hs $basedir/$dst | awk '{print $1}'`" + mairix -F -f ${mairixrc} -t -M ${expr} + { test -r $basedir/$tempdst } && { + merge $basedir/$tempdst $dst + notice "Destination folder size is `du -hs $dst | awk '{print $1}'`" + } ${=rm} ${mairixrc} ${=rm} ${mairixdb}