~bitfehler/m2dir

100b7683f53899c836e76c13ad9fb825e827f78e — Conrad Hoffmann 2 months ago 79c9644
Use comma instead of colon as UID separator

The comma has two slight advantages over the colon:

* Bash completion for some reason wants to escape colons, making their
  usage a bit awkward at times
* Colons are not usable on NTFS due to ADS [1]

Combined, this makes a compelling case to use the comma instead, which
has none of these issues.

[1] https://en.wikipedia.org/wiki/NTFS#Alternate_data_stream_(ADS)
1 files changed, 5 insertions(+), 5 deletions(-)

M index.md
M index.md => index.md +5 -5
@@ 178,7 178,7 @@ section below.
A message's filename is structured as follows:

```
<HUMAN_CENTRIC_PART>:<UNIQUE_ID>
<HUMAN_CENTRIC_PART>,<UNIQUE_ID>
```

The unique ID part is structured as follows:


@@ 204,8 204,8 @@ described in the [Unique ID][uid] section.
## Parsing filenames

An m2dir-compliant application **must** parse the ID by searching backwards
from the end of the filename for the first colon (`:`). This is because the
human-centric part may contain colons itself.
from the end of the filename for the first comma (`,`). This is because the
human-centric part may contain commas itself.

Note that applications **must not** attempt to parse the human-centric part or
derive any properties from it.


@@ 216,14 216,14 @@ Example filename of an email in an m2dir, using the specification's example
naming scheme for the human-centric part of the filename:

```
2023-09-04_13:47_builds@sr.ht:GTfrlwJfN5vyR28R
2023-09-04_13:47_builds@sr.ht,GTfrlwJfN5vyR28R
```

Storing the same message twice leads to a hash collision. Therefore, the next
copy would have the filename:

```
2023-09-04_13:47_builds@sr.ht:GTfrlwJfN5vyR28R.1
2023-09-04_13:47_builds@sr.ht,GTfrlwJfN5vyR28R.1
```

## Metadata