When doing pkgin upgrade, it can be the case that there aren't repo packages for some packages that are installed. The list of installed packages missing from the repo should be printed out clearly so that the user can decide to stop.
Arguably, packages are that are not keepable and are not dependencies in the target state should be listed separately, and perhaps pkgin should offer to remove them as part of the upgrade, as a question "Remove non-keepable packages that are both not in the repo and not needed after upgrade after the upgrade?". Or maybe that should be default, but that seems a bit scary.