diff options
-rwxr-xr-x | contrib/cpt-fork | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/contrib/cpt-fork b/contrib/cpt-fork index 8922f0d..0851d9a 100755 --- a/contrib/cpt-fork +++ b/contrib/cpt-fork @@ -1,21 +1,22 @@ #!/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 -[ "$CPT_FORCE" ] || { - [ -d "$1" ] && { - printf '\033[1;31m!> \033[m%s\n' "$1 already exists on the current directory" \ - "You can set CPT_FORCE=1 to ignore this." +case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [pkg...]" ; exit 0 ; esac + +for pkg; do + [ "$CPT_FORCE" != 1 ] && [ -d "$pkg" ] && { + printf '\033[1;31m!> \033[m%s\n' \ + "$pkg already exists on the current directory. You can set" \ + "CPT_FORCE=1 to ignore this." exit 1 } -} - -cpt-search "$1" >/dev/null + cpt-search "$pkg" >/dev/null -cp -r "$(cpt-search --single "$1")" . + cp -r "$(cpt-search --single "$pkg")" . -# Sometimes forked packages are from the database and not from a repository. -# We should remove the manifest in such a case. -rm -f "$1/manifest" + # Sometimes forked packages are from the database and not from a repository. + # We should remove the manifest in such a case. + rm -f "$pkg/manifest" -printf 'forked package to %s\n' "$PWD/$1" + printf 'forked package to %s\n' "$PWD/$pkg" +done |