aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/cpt-fork27
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