[Aptitude-devel] Bug#707320: Bug#707320: marked as done (aptitude: implement partially forgetting new packages)

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Sun Jul 24 14:41:59 UTC 2016


2016-07-24 14:51 Christoph Anton Mitterer:
>Hey Manuel.
>I've seen the new functionality for marking new packages forgotten, but
>to be honest, it seems rather a bit unflexible in use (especially when
>one wants to mark only a certain set of packages as forgotten).

Given that it's an improvement over the previous functionality (all or
nothing), in any case, it's more flexible than before...  but I disagree
that it's more unflexible than your proposal (read on).

>Have you seen the ideas I've had proposed in #707320? Where the "f"
>button would basically be similar to the current semantics (i.e. not
>opening a pop-up), but depending on the current selected item, either
>forgot single packages, or subtrees, or everything.
>I could imagine e.g. the following:
>- if a single package under "New" is selected (and f pressed), forgot
>  the single package
>- if a tree like "Admin section" is selected, forget everything there
>- if the whole "New" tree is selected, forget all new packages
>- if the cursor is completely outside the New tree (but e.g. under
>  updates or so), let f jump to the new tree, or give a popup warning,
>  or e.g. give the same pop-up you have now, that allows to ender
>  expressions.

Yes, but there are several problems that I tried to address and which
with these suggestions do not cover, specially given the way that it
worked previously (for a decade or more).

Had the "F" shortcut not been taken for a completely different purpose,
I would have let "f" behave as before or perhaps implement your
suggestions (context-based, forgetting depending on where you are).  But
I didn't want to add a completely different shortcut, or have the new
feature only accessible through a menu, that perhaps people would not
discover for a long while.

One of the problems that I found with your suggestions is that if people
don't know about the feature and press "f" expecting that everything is
forgotten as before, and only one package or a small section is
forgotten, they might think that forgetting-new is not working at all,
or not working properly, or at least it will be puzzling for a while
until they learn that it's a "new feature" and how to use it.

In the new implementation, the pop-up might be surprising the first
time, but it's pretty obvious what it needs to happen: just press
"enter" for the old behaviour, or use package names for patterns, as
suggested in the dialog.  I think that it introduces nicely the new
feature to the users, while only being minimally disruptive for the ones
used to the old behaviour.

Added bonus is that at least it needs an extra key stroke to have the
old behaviour clear all new ("f + Enter"), so it's likely to trigger by
mistake than before (which happens from time to time, and a case for
which your suggestions in that bug report don't improve when people
press the key by mistake).

Also, it's easier to clear away all packages in ways that do not conform
to the current visible hiearchy, e.g.:

- forgetting-new all packages from a source package

- or a pattern based on source package names (e.g. ~n*texlive*)

- or everything not in section games or kde -- which maybe is the only
  set of packages that you're really interested in keeping as "new" to
  install later

So yes, I considered your suggestions before implementing this, but for
the reasons above I think that this way is actually much more flexible
-- it's not limited to the current visible hierarchy, but exploits the
full power of search patterns, which is about the epitome of flexibility
that aptitude brings to package management.

Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>

More information about the Aptitude-devel mailing list