On Sun, Apr 19, 2015 at 12:24 PM, Oswald Buddenhagen <oswald.buddenha...@gmx.de> wrote: > the next question is whether anyone uses the Flatten option with > anything but the dot as separator? i suspect no, so i'd take away that > configurability.
Sorry for the late reply. Yes, I do use `Flatten` with `#` as the separator instead of `.`. (In fact before there was this option I had applied a patch to allow hierarchical IMAP folders and flatten them with such a pattern.) > Verbatim - verbatim folder names: top/sub/subsub > Legacy - subfolder names are prefixed with dots: top/.sub/.subsub > (default for backwards compatibility reasons) > Maildir++ - subfolder names are joined with dots and the > result is prefixed with another dot: top/.sub.subsub > (this is what the Legacy format should have been to start with) > Flatten - folder names are joined with dots: top.sub.subsub A minor comment: except `Flatten`, all the others seem to introduce some naming ambiguity, because a maildir already has `cur`, `new` and `tmp` folders, plus a few other `.*` files used by `mbsync` and perhaps other external tools. Therefore adding new `.*` folders for the IMAP sub-folders would introduce some naming ambiguity especially when one uses other tools that create `.*` folders or files. (That is why I use `Flatten` option.) For example I have `.md5` folders, with timestamped `md5sum` outputs, under each maildir to checksum my email files, and I use Git in the "top" directory to snapshot everything. If I would to implement it from scratch, and having hierarchical maildirs would be the requirement, I would go with the following rules: * given a target folder for `mbsync` to store emails into, all its children must obey the following rules; * all names starting with `_` are reserved to `mbsync`; * all names starting with `.` are ignored by `mbsync`, and any tool (including `mbsync`) is free to create files or folders starting with `.`; * all other children must folders and have names starting with either a letter, a number, or a set of limited special characters like `[` and a few others; these folders must obey the same rules as the target folder; (i.e. apply rules recursively, thus yielding a hierarchical structure;) * a special folder named `_maildir` is to be used as a maildir to store the emails for the current folder; (i.e. it contains only `cur`, `new`, and `tmp`;) * inside the `_maildir` folder all files or folders starting with `.` are ignored by `mbsync`; Based on your example such a hierarchy would look like: * top * _maildir * cur, new, tmp * .something * sub * _maildir * cur * .something * subsub * _maildir * new * .something Thus with such a structure all ambiguity is gone, and finding, for example, all email files is as simple as: find /target/ \ -type f \ \( -path '*/_maildir/cur/*' -o -path '*/_maildir/new/*' \) \ -not -path '*/.*/*' \ -print > objections? better ideas? Please allow `Flatten` to specify the separator. Thanks, Ciprian. ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel