#!/bin/sh -efu subdir="$1" && shift files= while [ $# -gt 0 ]; do case "$1" in --) shift; break;; *) files="$files $1" ;; esac shift done for f in $files; do case "$f" in *.tar) ext="tar";; *.tar.gz) ext="tar.gz";; *.tar.bz2) ext="tar.bz2";; *.cpio) ext="cpio";; *.cpio.gz) ext="cpio.gz";; *.cpio.bz2) ext="cpio.bz2";; *.zip) ext="zip";; *) echo "fatal!"; exit 1;; esac nv="${f%.$ext}" [ -z "${nv##*-src}" ] && nv="${nv%-src}" n="${nv%-*}" v="${nv##*-}" git clean -f -d "$subdir" gear-update "$@" -- "$f" "$subdir" faketime -r "$f" -- git commit -m "Imported $f" faketime -r "$f" -- git tag -f -m "$n $v" "$n-$v" done