Code for 'clean total'

Dirk Traulsen dirk.traulsen at lypso.de
Mon Oct 31 09:15:30 CET 2005


Am 30 Oct 2005 um 23:06 hat David Shaw geschrieben:

> I have no problem with the function concept.  

I'm delighted to hear that.

> I have to confess my problem with this is the name ;)
> Right now we have "import-clean-sigs" and "import-clean-uids".  To get
> both, you can either use both, or use "import-clean".  Adding
> something called "import-clean-total" looks like it should mean the
> same thing as "import-clean" (i.e. all possible import-clean-xxx
> values).  I think it would confuse people.
> 
> The thesaurus lists these verbs for 'clean':
> 
> absterge, bath, bathe, blot, blow, brush, cauterize, clarify, cleanse,
> clear up, deodorize, depurate, deterge, disinfect, do up, dredge,
> dust, edulcorate, elutriate, erase, expunge, expurgate, flush, hackle,
> launder, lave, mop, neaten, pick, pick up, polish, purge, purify,
> rake, rasp, refine, rinse, rout out, sanitize, scald, scour, scrape,
> scrub, shake out, shampoo, soak, soap, sponge, spruce up, sterilize,
> straighten up, swab, sweep, tidy up, vacuum, wash, whisk, winnow, wipe
> 
> Most of these are silly, but some are not too bad: purge perhaps, or
> neaten.  Maybe even wipe.  What do you think?

'shampoo' sounds nice... :)
No, all three are fitting ('wipe' maybe being too near to 'minimal' and as a german I first had to look up 'neaten', so maybe 'purge' would be the best of the three.), but the idea was to not take a completely new name for a function which does what 'clean' does according to the man-page:

("clean    Cleans keys by removing unusable pieces. ...
clean sigs:     Remove any signatures that are not usable
                    by the trust calculations. ..."),

I was sure that the signatures with no available signing key would be 
meant too, as they are not usable by the trust calculations. I think 
that the current implementation/man-page is misleading. 'clean' does 
not remove all unusable pieces, which are not part of the trust 
calculation.
I think this confuses people. Well, maybe this is too bold, it 
confused me... There are so many options that it is intimidating for 
a new user. In the beginning I read the man-page again and again, and 
there was always something new which I hadn't registered before.
Why take a completely different name for a function which does 
exactly what's in the man-page?

First I thought it would be best to change 'clean' and 'clean sigs' 
to do what is in the man-page (and what does the code for 'clean 
total'). But maybe you wouldn't like it as you implemented it this 
way and there are sure (some|a lot of) people who want to keep their 
'flag12'-signatures. So if it is newly stated clearly in the man-page 
that 'clean' and 'clean sigs' keep these signatures and a new option 
does the same as 'clean', but additionally deletes them, I thought 
you would be more 'open' to include it. Don't you think it is easier 
to find for the users if it just another 'clean' option?

As 'clean' is still a new feature, maybe the first idea was better 
and you could change the way 'clean' works? Let it do what you said 
above:  'clean' stands for all possible import-clean-xxx values.
There could be the three options: 
'clean sigs'    like today but stated differently in the man-page
'clean uids'    like today
'clean total' or 'clean complete' or 'clean all'    as proposed.

Another idea would be to enhance 'clean sigs':
'clean sigs'     like today
'clean sigs (all | total | complete)'    all unusable sigs, no UIDs
'clean uids     like today'
and 'clean', which means all three.

But again, there shouldn't be two different names for the same 
function.

Dirk

PS:
As the code was my first 'commit', the first time I tried to read a C 
program and to understand a big project like gnupg, I would 
appreciate if you could tell me what was ok and what abysmal. Did I 
find the right places to tweak 'clean'?
Ah, and was it ok to put the diffs inside the mail?
Was it even ok to send you my diffs or shouldn't I have done it?
As you didn't comment on the subject on gnupg-users, I thought you 
maybe wanted to see a least a rudimentary implementation, before you 
put effort in this subject..
Another question: Is this the right place to discuss such things? 
There is not a lot traffic on this list. Where do you discuss such 
things normally?



More information about the Gnupg-devel mailing list