Re: [Evolution] Removing dupes



This time, Evolution finished the import without crashing.  The
problem is that both imports worked - I now have two copies of every
message in my archives, which is close to 100MB of messages (now
taking up almost 200MB.)  Is there any way or any tool to go through
and weed out the duplicate messages?

I don't believe there is any simple method for doing this at this point 
in time - something that I've been asking for for ages...

If you really need it, use the 'formail' method I just posted yet again.
There already is a working [1] solution. You can wrap in an easy to use
shell script. And I doubt, the average user really needs such a feature
with the potential to shoot his foot.

(And no, there is no option "remove duplicates" in formail either. It's
just clever usage of an available filter.)


In fact, this is the sole reason I have opted to dump Evolution and 
return to kmail - kmail (from version 1.61 onwards) has a "remove 
duplicate messages" option which seems to work pretty well - I've about 
5Gb of mail archives here and I've probably had 2 false deletions out 
of the whole  lot.

Still unacceptable IMHO.


Surely it can't be *that* hard to implement ?  I mean, pinck the code 
from kmail if you must, but it seems to work well there, why not here ?

This already has been beaten to death on this list. There are a couple
of threads arguing why it should go in, and a lot of reasons, why it can
not work reliably. Please search the archives first.

This is Open Source. If you really need that feature, go ahead and hack
it.


That said, duplicate mails always are due to broken software. Shouldn't
that software be fixed, rather than writing software to correct known
bugs of other software?

Feels quite ironic, that KMail implements such a "feature"...

...guenther


[1] based on Message-Id headers, which are *not* guaranteed to be unique


-- 
char *t="\10pse\0r\0dtu\0  ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]