On Fri, 11 Nov 2016 09:25:30 +0100
Ulrich Mueller <[email protected]> wrote:

> >>>>> On Fri, 11 Nov 2016, Michał Górny wrote:  
> 
> > Most of your comments don't make sense if you are commenting on the
> > actual proposal. However, it seems that you immediately ignored the
> > core part of the proposal, and then commented on stupidity of some
> > distorted, imagined, half-ass proposal you imagined that lacks the
> > core part.  
> 
> I had merely addressed the following two points:
> 
> - The proposal would split the behaviour of the existing operators
>   depending on context: a) They ignore the revision when in a [] group
>   but don't when used in the traditional way, and b) syntax is changed
>   unnecessarily, e.g. ~ vs == and = vs ===.

The traditional way is only meant as a backwards compatibility
solution. I don't think we really should keep two syntax variants
supported forever, just because some developers are opposed to learn
anything new, and prefer contributing through every-half-a-year bursts
of drive-by commits.

Since the syntax needs to be changed anyway, why not introduce
a consistent set of operators instead of being forced to use whatever
was accidentally used years ago?

==, !=, <=, >= -- all consistent with one another. Same for ===, !==,
<==, >==. Using some old ~ and = wouldn't fit that. The gain is greater
than any benefit keeping old operator in a completely new syntax.

If you think it necessary, we can also change > to >> and to << to
have matching length for all relevant operators. Doesn't Debian do
that?

> - The number of operators is doubled for no good reason. Revisions are
>   not so special that they would justify that. In addition, if we
>   limit the allowed range of revisions to 9999, the need for such
>   operators will go away entirely. The most common cases (namely >=
>   and ~) can be expressed already now, and the rather more rare

That's non-symmetrical -> ugly. I'm proposing a pretty solution that
doesn't go and tell everyone else what is justified and what is not.

>   less-than-or-equal-to-but-ignoring-revision can be expressed using
>   r9999 (in those even more rare cases where a < comparison with the
>   next PV doesn't work).

That's a Gentoo policy. PMS applies outside Gentoo. Plus, do you really
find it convenient to type -r9999?

> For both points the cost of the syntax change or of introducing
> inconsistencies doesn't come with any benefit in the form of added
> functionality.

The cost of a major syntax change is pretty much the same. People have
to learn the new syntax and rewrite their dependencies anyway. Adding
a single '=' is a minor problem compared to the cost introduced by
ranges.

Plus, having a simpler way of expressing dependencies correctly also
changes things. Many developers were simply ignoring the correctness
right now as too hard to achieve. So the cost is still higher.

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

Attachment: pgppWiReaO78w.pgp
Description: OpenPGP digital signature

Reply via email to