commit bb5b357fa5a8200d4fbc9bac7c9771ba97dde9b5 parent 1b6b0f583d43b01b39b923eebca1f9536a5ffc23 Author: Cem Keylan <cem@ckyln.com> Date: Fri, 2 Oct 2020 19:13:18 +0300 cpt-fork: add ability to fork multiple packages Diffstat:
M | contrib/cpt-fork | | | 27 | ++++++++++++++------------- |
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git 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