This is an attempt to fix GH #86. The goal was to
just remove targets from the log message that have already
been pulled. But this turns out to be more complicated
because you might pull a target just to register its
prereqs, even though the target itself is already
So now, the message is reduced to the fewest possible
targets, removing those that were not affected by the
operation unless one of it's prereqs was affected.
However, it's not perfect. Sometimes you really want
that target in the list, or you may be confused about
why it isn't there. To avoid confusion, I've added
a warning about pulling targets that are already on
- Fixed behavior of the --force flag on the new "update" command.
It now applies to all packages that might be updated, not just the
targets list on the command line.
- When generating the title for the log message, only the targets
at the top of the dependency graph are listed, and only if they
(or one of their prerequisites) were actually affected by the
operation. In effect, redundant and prereq targets are therefore
excluded from the message. This attempts to fix GH #86. Thanks @akarelas.