#!/bin/zsh die() { print -r - "$@" exit 1 } if [[ -z $SNAP_SRCS ]]; then SNAP_SRCS=$1;shift fi SNAP_SRCS=${SNAP_SRCS%%/} if [[ -z $SNAP_DST ]]; then SNAP_DST=$1;shift fi SNAP_DST=${SNAP_DST%%/} typeset -A snapshots for ts in ${(f)"$(snap.list $SNAP_SRCS/)"}; do snapshots[$ts]=$SNAP_SRCS/$ts done for ts in ${(f)"$(snap.list $SNAP_DST/)"}; do unset "snapshots[$ts]" done export SNAP_SRC SNAP_DST for SNAP_SRC in $snapshots; do if [[ -o xtrace ]]; then zsh -x $commands[snap.push.single] "$@" else snap.push.single "$@" fi done