On Thu, 21 Jan 2016 at 20:24 Nick Coghlan
On 22 January 2016 at 03:21, Brett Cannon
wrote: If I remember correctly, the original argument for not going generic is there is no guarantee future VCSs will have similar semantics that will fit into whatever tuple or dict structure we chose.
Yep, the name of the attribute conveys how to interpret it, while a generic name means you need some *other* data source to tell you "OK, up to version X.Y it's a subversion version, up to 3.5 it's a Mercurial hash, in 3.6+ it's a git hash..."
With the attribute changing names, folks trying to use the VCS info at least get a really clear indicator when we change version control systems, even if they're not closely following upstream process changes.
Actually, do people find the sys._mercurial attribute useful? I just want to double-check that this is worth continually going through this every few years when we change VCSs to swap in a new attribute. I will definitely update the PEP to set sys._mercurial to `('CPython', '', '')` (the attribute isn't even documented so there's no real deprecation to do).