cfengine/core — pull request #832 by tzz (2013-07-23 04:40:38+00:00)
Title: add new canonifyuniquely function

This function is extremely useful when you need a unique canonical classname (e.g. as an array key or as a unique class per filename) but there may be a collision between the two keys, like `h?llo` and `h!llo` which both canonify to `h_llo`.

Has acceptance test. Uses SHA-1. I will write docs if it's accepted. Basically the equivalent of `concat(canonify(string), "_", sha1(string))` but much more convenient.

This was discussed with @zzamboni last year but I kept forgetting to write it up...