#!/bin/sh -e

function merge_goodies()
{
    local dir
    dir="$1" && shift
    [ -n "$dir" ] || exit 1
    # also checks if $dir already exists
    mkdir $dir
    mv task*-[0-9]*/$dir/* $dir/ 2>/dev/null ||:
    rmdir -p task*-[0-9]*/$dir 2>/dev/null ||:
    rmdir -p $dir 2>/dev/null ||:
}

if [ -n "$1" ]; then
    while [ -n "$1" ]; do
	dir="$1" && shift;
	case "$dir" in
	    TASK.*)
		merge_goodies "$dir"
		;;
	    *)
		echo "Invalid argument: $dir"
		exit 1
		;;
	esac
    done
else
    merge_goodies TASK.GOOD
    merge_goodies TASK.UGLY
    merge_goodies TASK.UNMETS
fi
