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

Reply via email to