Danek Duvall writes:
> I'm using the new stability terminology, so "Committed" means you can only
> make incompatible changes at a minor release with notice (and it's

Actually, I think you want "Uncommitted" for the new taxonomy.
"Committed" means that you can make incompatible changes only in Major
releases.  There likely won't be another of those for Solaris.

>       This project requests a minor release binding.

For what it's worth, I think this would be fine as patch/micro.

>       hg commandline                  Volatile

Volatile means that people can't write reliable scripts that use it.
Is that right?

We do have flexibility here, in that we can choose when to incorporate
a new version of hg into the WOS, and when to delay, modify, or
request upstream changes to retain the needed compatibility.  If
people will be scripting it (and I suspect they will), we should offer
better than Volatile.

Are there at least a core set of subcommands that are more stable than
that?

>       hgrc contents                   Volatile

This also means that the user's configuration can just fall apart at
any time without warning, and we won't necessarily even try to make it
work by doing something reasonable (like translating on upgrade).

Is that desirable?  Is that what the upstream really offers?  I find
it hard to believe that users would settle for that.

(Note that the ARC generally *does* want to know what kind of
commitment the upstream offers.)

>       All other components of Mercurial which appear to be interfaces
>       (paths, environment variables, hook names, class information, etc.)
>       are Volatile.  In particular, even though the Mercurial community
>       is committed to maintaining backwards compatibility in its
>       repository file format (binary) and the http- and stdio-based wire
>       protocol, these interfaces are also considered Volatile.  Future
>       project maturity may result in the upgrading of the stability of
>       these interfaces.

On the wire protocols that are Volatile are likely non-starters, I'd
think.  Wire protocols tend to be some form of "Committed Private" --
meaning that compatibility between some range of versions is
maintained using some internal scheme, but that the protocol isn't
documented for others to rely on.

Without that property, it's almost impossible to deploy it.  How do
you handle an Earth-spanning flag day?

I'd caution against using Volatile this liberally.

-- 
James Carlson, KISS Network                    <[EMAIL PROTECTED]>
Sun Microsystems / 1 Network Drive         71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
tools-discuss mailing list
[email protected]

Reply via email to