On Fri, 04 Nov 2016, Ian Jackson wrote: > Raphael Hertzog writes ("Re: DEP14 policy for two dots"): > > We have defined simple "readable" mappings for the common cases that > > we encounter frequently. Now if we need mappings for silly things > > that we don't encounter, I would suggest to use something easily > > reversible and extendable. > > My proposal is reversible. It does not need to be extensible.
So what about "..."? Would it give ".#.#."? What's the rule to apply? if it's just to drop the "#", then yes it's reversible in a single step. If it's "s/\.#\./../g" then you need to do it multiple times until you no longer find ".#.". I wanted something extensible because what's allowed in git ref names might evolve. It would not be the first time that a special syntax is introduced with a new feature. > > My suggestion would be to allow "#<hexadecimal unicode code point>#". > > Thus my personal preference would be to replace ".." with ".#2e#". > > This is a bad idea because it (implicitly) makes the conversion > nondeterministic. We define the conversion rule in DEP-14. We can define it in a deterministic way. > You might write some rule about which . should be replaced by #2e# > but it would be easy to misimplement. It's possible to misimplement almost any rule. > Also if we are going to introduce an arbitrary codepoint quoting > system like this it should be identical to quoted-printable (bad as > that is). It's limited to ASCII but I guess it's highly unlikely that we will one day allow unicode in version strings. So yes, that would be an option as well. Given that "=" is forbidden in version numbers and allowed in git refnames, it should work. Which of # or = is more likely to be used for a new syntax/feature in git? My bet would go for "#" so that "=" is an even better choice. Cheers, -- Raphaël Hertzog ◈ Debian Developer Support Debian LTS: http://www.freexian.com/services/debian-lts.html Learn to master Debian: http://debian-handbook.info/get/