]> git.cworth.org Git - sup/blob - doc/FAQ.txt
added sup-sync-back
[sup] / doc / FAQ.txt
1 Sup FAQ
2 -------
3
4 Q: What does Sup stand for?
5 A: It stands for "what's up?", which is more or less the question in
6    mind when I fire up my mail client.
7
8 Q: If you love Gmail so much, why not just use it?
9 A: I hate ads, I hate using a mouse, and I hate non-programmability
10    and non-extensibility.
11
12    Also, Gmail encourages top-posting. THIS CANNOT BE TOLERATED!
13
14    Also, Gmail doesn't let you use a monospace font, which is just
15    plain lame.
16
17 Q: Why the console?
18 A: Because a keystroke is worth a hundred mouse clicks (as any Unix
19    user knows). Because you don't need web browser. Because you get
20    instantaneous response and a simple interface.
21
22 Q: How does Sup deal with spam?
23 A: You can manually mark messages as spam, which prevents them from
24    showing up in future searches, but that's as far as Sup goes. Spam
25    filtering should be done by a dedicated tool like SpamAssassin.
26
27 Q: How do I delete a message?
28 A: Why delete? Unless it's spam, you might as well just archive it.
29
30 Q: C'mon, really now!
31 A: Ok, press the 'd' key.
32
33 Q: But I want to delete it for real, not just add a 'deleted' flag in
34    the index. I want it gone from disk!
35 A: Ok, at some point I plan to have a batch deletion tool that will
36    run through a source and delete all messages that have a 'spam' or
37    'deleted' tags. But that doesn't exist yet.
38
39 Q: I got some error message about needing to run sup-sync --changed
40    when I tried to read a message. What's that about?
41 A: If messages have been moved, deleted, or altered in a source, Sup
42    may have to rebuild its index for that source. For example, for
43    mbox files, reading a single unread message changes the offsets of
44    every file on disk. Rather than rescanning every time, Sup assumes
45    sources don't change except by having new messages added. If that
46    assumption is violated, you'll have to sync the index.
47
48    The alternative is to rescan every source when Sup starts up.
49    Because Sup is designed to work with arbitrarily large mbox files,
50    this would not be a good idea.
51
52 Q: How do I back up my index?
53 Q: How do I make a state dump?
54 A: Since the contents of the messages are recoverable from their
55    sources using sup-sync, all you need to back up is the message
56    state. To do this, simply run:
57       sup-dump > <dumpfile>
58    This will save all message state in a big text file, which you
59    should probably compress.
60
61 Q: How do I restore the message state I saved in my state dump?
62 A: Run:
63      sup-sync [<source>+] --restored --restore <dumpfile>
64    where <dumpfile> was created as above.
65
66 Q: I upgraded Ferret and the index format changed. I need to
67    completely rebuild my index. How do I do this?
68 A: First, you'll need a complete state dump. If you haven't made
69    one, you'll need to downgrade Ferret and make a state dump as
70    above. Then run these commands:
71      rm -rf ~/.sup/ferret    # omg wtf
72      sup-sync --all-sources --all --restore <dumpfile>
73    Voila! A brand new index.
74
75 Q: I want to move messages from one source to another. (E.g., my
76    primary inbox is an IMAP server with a quota, and I want to move
77    some of those messages to local mbox files.) How do I do that while
78    preserving message state?
79 A: Move the messages from the source to the target using whatever tool
80    you'd like. Then (and this is the important part), run:
81      sup-sync --changed <source1> <source2>
82
83    If you sup-sync only one source at a time, depending on the order,
84    the messages may be treated as missing and then deleted from the
85    index, which means that their states will be lost when you sync the
86    other source.
87
88 Q: What are all these "Redwood" references I see in the code?
89 A: That was Sup's original name. (Think pine, elm. Although I am a
90    Mutt user, I couldn't think of a good progression there.) But it was
91    taken by another project on RubyForge, and wasn't that original,
92    and was too long to type anyways.
93
94    Maybe one day I'll do a huge search-and-replace on the code, but it
95    doesn't seem that important at this point.
96
97 Q: How is Sup possible?
98 A: Sup is only possible through the hard work of Dave Balmain, the
99    author of ferret, which is the search engine behind Sup. Ferret is
100    really a first-class piece of software, and it's due to the
101    tremendous amount of time and effort he's put in to it.
102
103 Common Problems
104 ---------------
105
106 P: I see this message from Ferret:
107      Error occured in index.c:825 - sis_find_segments_file
108 S: Yikes! You've upgraded Ferret and the index format changed beneath
109    you. Follow the index rebuild instructions above.
110
111 P: I get some error message from Rubymail about frozen strings when
112    importing messages with attachments.
113 S: The current solution is to directly modify RubyMail. Change line 159 of
114    multipart.rb to:
115      chunk = chunk[0..start]
116    This is because RubyMail hasn't been updated since like Ruby 1.8.2.
117    Please bug Matt Lickey.
118
119 P: I see this error:
120      /usr/local/lib/ruby/1.8/yaml.rb:133:in `transfer': allocator undefined for Bignum (TypeError)
121 S: You need to upgrade to Ruby 1.8.5. YAML in earlier versions can't
122    parse BigNums, but Sup relies on that for Maildir and IMAP.
123
124 P: I see this error:
125      /usr/lib/ruby/1.8/net/imap.rb:204: uninitialized constant Net::IMAP::SSL (NameError)
126 S: You need to install a package called libssl-ruby or something similar.
127    Or, don't use imaps:// sources. Ruby's IMAP library otherwise fails in
128    this somewhat uninformative manner.
129