diff options
author | merakor <cem@ckyln.com> | 2020-10-02 16:13:18 +0000 |
---|---|---|
committer | merakor <cem@ckyln.com> | 2020-10-02 16:13:18 +0000 |
commit | 10f0543d2e521dcea53839ff87438a774ede44ef (patch) | |
tree | c9d9eb54b7c17a96346b1a1ec8a66b63281ecd08 | |
parent | 8bdd9f78b6cbba345d7e26eb99e02ada2078a90a (diff) | |
download | cpt-10f0543d2e521dcea53839ff87438a774ede44ef.tar.gz |
cpt-fork: add ability to fork multiple packages
FossilOrigin-Name: 7e5b294ae09df14b59f5c6d02987e49fc77b3feb94f426e51f7a9648870dd7a8
-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 |