From 37e87c0917fd872b793f2e712e9e5679c375da47 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 12 Jul 2009 15:49:35 +0200 Subject: Added support for unlisted packages That is, packages which are not from the package root, but have a working git origin --- bin/ct | 12 +++++------- man/7/caretaker.pod | 6 ++++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bin/ct b/bin/ct index 1cfaced..c9ff4cc 100755 --- a/bin/ct +++ b/bin/ct @@ -670,8 +670,7 @@ function pkg_add { function pkg_push { check_installed $1 - check_valid $1 - if list_incoming $1; then + if list_incoming $1 || ! list_exists $1; then clear_line info "Pushing $1\n" global_hook $1 pre-update @@ -694,14 +693,13 @@ function pkg_remove { function pkg_upgrade { check_installed $1 - check_valid $1 - if [[ $(list_type $1) != $(list_type_local $1) ]] { + if list_exists $1 && [[ $(list_type $1) != $(list_type_local $1) ]]; then clear_line warn "Incompatible systems. Please reinstall: $1\n" warn " remote '$(list_type $1)' <-> local '$(list_type_local $1)'\n" return 9 - } - if list_incoming $1; then + fi + if list_incoming $1 || ! list_exists $1; then clear_line info "Updating $1 to $(list_version_remote $1)\n" global_hook $1 pre-update @@ -761,7 +759,7 @@ function pkg_update { } function pkg_info { - check_valid $1 + list_is_installed $1 || list_exists $1 || die "No such package: $1\n" typeset name=$1 typeset repo_type=$(list_type $1) diff --git a/man/7/caretaker.pod b/man/7/caretaker.pod index 0b7cbb6..096c651 100644 --- a/man/7/caretaker.pod +++ b/man/7/caretaker.pod @@ -141,6 +141,12 @@ Packages with a priority above 3 require user confirmation to be removed =back +=head1 UNLISTED PACKAGES + +It is possible to have local packages which do not exist in the package root, +as long as they have a working git origin. Note that they will always be +pulled/pushed when doing batch pull/push, though. + =head1 PREREQUISITES The prerequisites are stored in a package in the file F. -- cgit v1.2.3