On Sat, Nov 15, 2014 at 03:49:56PM -0200, Henrique de Moraes Holschuh wrote: > On Sat, 15 Nov 2014, Raphael Hertzog wrote: > > On Fri, 14 Nov 2014, Ian Jackson wrote: > > > > What exactly is your use case you feel this is essential for? > > > > > > I think this discussion is in danger of going round in circles. > > > I'm going to leave it here and let Raphael get on with it. > > > > I understand Ron's logic and there's certainly value in questioning the > > need for something. But this is always a question of cost/value. > > > > Even if we don't have an immediate need for this property, the problem > > is that we can't always envision all the ways people will want to use > > the repositories (isn't that what you were trying to tell me about > > how upstream can use git?) and I'm pretty sure that dropping the epoch > > will be annoying to someone at some point. And the cost of not dropping > > the epoch is not very high.
Yes, absolutely. I think this got kind of derailed through failing to understand (and answer) the very simple question I asked. When I asked "Why include the epoch in tags at all?", that was not some politically correct euphemism for the statement "I object to including them" (which I certainly do not), it was an actual question. If the answer to that is simply "it's relatively harmless, has minimal cost, some things already do it, and it may be a useful visual cue to human users, and that's all", then that's a perfectly good reason. If the answer is instead something like "I want automated tools to be able to assume they can perfectly reverse the mangling and assume some semantic meaning to the text in the tag", then we're into Broken By Design territory and we really need to look more closely at *exactly* what it is that people want to do and/or assume, and we probably need to look at less fragile solutions that really do satisfy that need. But we can't suggest things for that without some clear statements of what exactly are the use cases people have in mind. I'm never a fan of discarding information unless you're certain you won't ever need it back. But information that you can't trust is always a mixed blessing, and epochs themselves bring their own extra caveats too. I was hoping to get people to think about this in a bit more detail than they'd already appeared to and have a sensible discussion to enumerate the pros and cons, and possibly any warnings we ought to explicitly offer about this. Having people dig trenches for a simplistic "for or against" war isn't really going to solve anything, or advance us to anything better than what we already have. > I fully agree. Please, lets just keep the epoch which is the safer design > choice anyway, and get done with it. Henrique, would you care to elaborate on your definition of "safer"? I already pointed out some ways it's not. A well reasoned middle ground might let us offer people some actually useful advice about this in a way that "just bury your head in the sand and pretend everything is ok" would not. > Also, we have a fully reversible, human-friendly mapping to deal with Unless you really do something crazy, like URL encoding (which I don't think we should do, the cost to humans is way higher than the benefit to machines, and tags *are* for the benefit of humans), the manglings to the allowed ref names have never been guaranteed to be reversible, and we have a decade worth of existing practice where they definitely were not. They still aren't guaranteed to be so even with this convention, because there's no hard guarantee that everyone or everything will use them. And even if they did, I still don't think you've covered every combination of things that are illegal in a git refname which might need to be mangled here. The really crazy cases might be rare, but just because you've never hit them doesn't mean they can't or won't ever exist in a way that means someone one day will need to deal with them. Why paint those people into a corner when there are fairly easy ways to not do that? > Whether the upstram version string is compatible or not with the Debian > version namespace and the Debian git-tag version namespace is a non-problem: > the upstream version WILL have been reduced to something compatible to be > usable for the package version in debian/changelog already, anyway. > > Therefore, there is no space for ambiguity here. % and _ are *illegal* in > the Debian version namespace, so they can be freely used to translate from > the Debian version namespace to the Debian version git-tag namespace. > > And anything that compares the upstream version namespace and the Debian > version namespace directly (or via their git-tag namespaces) is Utterly > Broken in the general case anyway, even if it will often just work > (particular case). Anything that assumes you can always determine the exact release version from a tag name is Utterly Broken in the general case too. I don't think conflating these things is helpful here. The question of "should we recommend people include epochs in their tag names" is entirely separate to the question of "how should tools determine the version of a package at a particular ref in the repo". Individually, we can answer those things sensibly. If we try to pretend they are the same question, people are just going to argue things that are fairly self-evident and that we all agree on in a tug over war over which point is more important (to them). Which I think squanders the opportunity we have here to actually really identify a more complete set of best practices from the knowledge people have accumulated. As I said elsewhere, if all you want to do is rubber-stamp "this is how I work with gpb and it Works For Me", that's fine. But it's not what this document is currently claiming to want to do. I'm genuinely interested in the questions of Best Practice. I'm far less interested in arguing which current practice is "near enough" to form a "white lies for children" simplification that's only good for "educating" novices. I really think we can also have the latter, built on an exploration of the hard problems that even lots of existing "veteran" users haven't really thought through to completion before now. That would be the kind of show of Debian Excellence that I remember and love. Cheers, Ron -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20141116052730.gk10...@hex.shelbyville.oz