I've committed r729587 which reestablishes the allowance of '/' in design doc paths (somehow Paul Davis's COUCHDB-49 was overridden in the move to Erlang binary path parts.)
> > /db/_design/name > /db/_design/name/attachment.file > /db/_design/name/attachment/with/slashes.file > > r729587 also allows slashes in attachment paths. This change is backwards compatible with the existing test suite. I've added a new set of test cases to make sure we don't see a regression here. > Rules for attachments on regular docs are the same as above: > > /db/docid > /db/docid/attachment.file > /db/docid/attachment/with/slashes.file > my only qualm about this code is that the old urlencoded slashes are still valid. This means that eg, these four urls point to the same attachment. /db/_design/name/attachment/with/slashes.file /db/_design/name/attachment%2Fwith%2Fslashes.file /db/_design%2Fname/attachment/with/slashes.file /db/_design%2Fname/attachment%2Fwith%2Fslashes.file I've taken care to ensure that an attachment that is actually named "foo%2Fbaz.txt" can still be accessed at /db/docid/foo%252Fbaz.txt so I don't think there's any problems such as making particular attachment names unusable. This does nothing to address the restrictions on the character set of database and design doc names. Antony's patch looks like it works as advertised. If people are happy with the way it reorganizes couchdb data files, then I don't see a reason not to apply it (especially with the addition of a slug). -- Chris Anderson http://jchris.mfdz.com
