Hi, Gary. :-) On Wed, 19 Mar 2003, GARY GENDEL wrote: >Andreas Aardal Hanssen wrote: ><snip> >> If foo is an mbox, foo/bar is a maildir and foo/bar/foo is an mbox, how >> would you represent this structure with your suggested scheme? >I'm fairly new to this conversation and I'm confused by this example. >How can foo be both an mbox and a maildir, or is this the crux of the >problem? If I understand it correctly, you want to represent hierarchy >via two differing mechanisms; one for mbox (flat) and one for maildir >(hierarchical). The problem then is how to resolve the namespace >mapping into a single namespace.
We are mapping all mailbox formats in which one mailbox can be identified by a file name or directory (link), into the same hierarchical structure using a soft hierarchy delimiter '.'. So wether the mailbox is a Maildir or an mbox should not make any difference. If we use the name of the mbox and Maildir to both denote the mailbox' name and location in the hierarchy, then there is no need to differ between the two. In my opinion, utilizing the fact that a Maildir is a directory based format, to provide a file system based hierarchy is wrong, because that means that if foo is a Maildir: foo/ And foo/bar is an mbox, that is - inside the Maildir directory: foo/bar And you delete foo, perhaps by removing the new/tmp/cur directories inside foo/ and leave the directory itself: foo/bar then create a mailbox called "foo" which is an mbox, then you have a problem. The link "foo" is already occupied by a directory. This problem is completely solved if the original Maildir "foo" is called foo/ The mbox mailbox at second level is called: foo.bar Note - it's in the same directory, not inside foo/. So you have: foo/ | Maildir foo.bar | mbox Removing foo/ is now a logical operation, leaving only: foo.bar Andy :-) -- Andreas Aardal Hanssen | http://www.andreas.hanssen.name/gpg Author of Binc IMAP | Nil desperandum

