diff options
Diffstat (limited to 'contrib/cpt-fork')
-rwxr-xr-x | contrib/cpt-fork | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/contrib/cpt-fork b/contrib/cpt-fork new file mode 100755 index 0000000..bfaaa7d --- /dev/null +++ b/contrib/cpt-fork @@ -0,0 +1,24 @@ +#!/bin/sh -ef +# Fork a package to the current directory + +case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [pkg]" ; exit 0 ; esac +[ "$KISS_FORCE" ] || { + [ -d "$1" ] && { + printf '\033[1;31m!> \033[m%s\n' "$1 already exists on the current directory" \ + "You can set KISS_FORCE=1 to ignore this." + exit 1 + } +} + +kiss s "$1" >/dev/null + +# Disable this warning as globbing is disabled and word splitting +# is intentional. This grabs the location of the package's files. +# shellcheck disable=2046 +( + set -- $(kiss s "$1") + + cp -r "$1" . +) + +printf 'forked package to %s\n' "$PWD/$1" |