You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Erik Huelsmann <e....@gmx.net> on 2003/12/21 10:58:22 UTC

What do Subversion version numbers mean?

Ok. I think the fact that everybody has his own idea about minor / micro
version changes is getting the version numbering thread in the way of reaching a
conclusion. 

So it has been dragging on and on without comming to real consensus.
Examples of how it can be done (or should not) have referenced the Linux kernel,
Mozilla, X, Gnome and several others. Every example pointed out weaknesses and
strengths in the schema used by the project mentioned. Also - and I understand
we were talking about the future here - there was a lot of 'what if'-ing
going on: what if we changed a public interface, what if we had to raise the ABI
version number, etc.

So - and correct me if I'm wrong - from this I concluded that we might want
to have some discussion on what we want to communicate to the world when
raising only the patch level, or the minor version number. And what type of
changes is acceptable within that strategy. After we agree to that, we should have
a much more directed discussion about which numbering scheme we need to
achieve just that.


Some of the questions to be answered (while being far from complete):

- What requirements do we state for all patchlevel versions?
  * No incompatible protocol changes (ie. all 1.0.x servers can speak to any
1.0.x client)
  * No database filesystem format changes
  * Full forward and backward API and ABI compatibility
  * No new functionality at program level
  
   The type of changes which can be done without violating these bounds:
      - Fix crashes and memory leaks
      - Fix inconsistencies in user presented output
      - Fix documentation

- What requirements do we state for all minor level versions?
  * No incompatible protocol changes
  * Full forward API and ABI compatibility
  * New functionality

- What requirements do we state for all major level versions?
  * No need for compatibility with any other version apart from the fact
     that both a 1.x and a 2.x version can be installed at the same time.

I gave my own opinion above. Maybe others should state their preference?

bye,

Erik.

-- 
+++ GMX - die erste Adresse für Mail, Message, More +++
Neu: Preissenkung für MMS und FreeMMS! http://www.gmx.net



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Erik Huelsmann <e....@gmx.net>.
> Erik Huelsmann wrote:
> 
> >Ok. I think the fact that everybody has his own idea about minor / micro
> >version changes is getting the version numbering thread in the way of
> reaching a
> >conclusion. 
> >  
> >
> We decided long ago what these numbers mean.
> 
>     http://apr.apache.org/versioning.html
> 
> This page is even linked off our home page, albeit in a somewhat obscure
> location.

Too bad that site is currently down (or at least my browser times out). I
can't help thinking however that the document leaves a lot open for discussion,
since that's what's been going on in the version numbering thread. Is this
document meant for a set of libraries or for a program including a set of
libraries?

bye,

Erik.

-- 
+++ GMX - die erste Adresse für Mail, Message, More +++
Neu: Preissenkung für MMS und FreeMMS! http://www.gmx.net



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Erik Huelsmann <e....@gmx.net>.
> On Sun, 2003-12-21 at 17:00, Branko Èibej wrote:
> >     * A minor version change implies backward compatible changes in the
> >       API, schema and protocols. For example, a client built against
> >       library version X.Y.Z will work correctly with library version
> >       X.Y+1.n; and an X.Y+1.n server will work correctly with a
> >       repository created by svnadmin X.Y.Z.
> 
> I'd also throw in backward-compatible changes to the programs we ship. 
> A script written to svn X.Y.Z should work with SVN X.Y+1.n.  (For the
> most part, anyway.  I don't think we need to bump to svn 2.0 if we
> change the meaning of "svn diff -r X:Y foo" according to CMike's plan,
> for instance, even though it's *conceivable* that a script could be
> relying on the old meaning.)
:-) In this case the svn command line client could be viewed as a library
for the script. (Which indeed means to imply that the APR versioning document
could be applicable.) :-)

Note that this schema for version numbering does not imply that a new minor
number contains new functionality. The new minor could also be a bugfix which
would not be satisfied by the 'forward and backward' compatibility
constraint. From an earlier post from you I concluded that to you a new minor number
implies new functionality.

bye,

Erik.


-- 
+++ GMX - die erste Adresse für Mail, Message, More +++
Neu: Preissenkung für MMS und FreeMMS! http://www.gmx.net



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Greg Stein <gs...@lyra.org>.
On Sun, Dec 21, 2003 at 07:29:00PM -0500, Greg Hudson wrote:
>...
> Anyway, I think we agree on the principles here; I just think that
> http://apr.apache.org/versioning.html isn't a very complete statement of
> those principles as they apply to us.

I've been the primary maintainer of that page and its underlying design. I
would be *more* than happy to update it with specific rules about data,
protocol, and other important facets of versioning.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Sunday, December 21, 2003 7:29 PM -0500 Greg Hudson <gh...@MIT.EDU> 
wrote:

> I'd also throw in backward-compatible changes to the programs we ship.
> A script written to svn X.Y.Z should work with SVN X.Y+1.n.  (For the

+1 to all that has been said in this thread.

> Anyway, I think we agree on the principles here; I just think that
> http://apr.apache.org/versioning.html isn't a very complete statement of
> those principles as they apply to us.

I agree - just pointing at the APR versioning page isn't 'enough' to satisfy 
our users.  I think we need a complete page that makes it very clear what our 
policies are - wrt protocols, schemas, client apps, etc.  Can we point at the 
APR page?  Sure.  But, it can't be complete as APR has different goals.

Kudos to Erik because I was planning on restarting the versioning conversation 
tonight anyway.  Yay!  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Greg Hudson <gh...@MIT.EDU>.
On Sun, 2003-12-21 at 17:00, Branko Čibej wrote:
>     * A minor version change implies backward compatible changes in the
>       API, schema and protocols. For example, a client built against
>       library version X.Y.Z will work correctly with library version
>       X.Y+1.n; and an X.Y+1.n server will work correctly with a
>       repository created by svnadmin X.Y.Z.

I'd also throw in backward-compatible changes to the programs we ship. 
A script written to svn X.Y.Z should work with SVN X.Y+1.n.  (For the
most part, anyway.  I don't think we need to bump to svn 2.0 if we
change the meaning of "svn diff -r X:Y foo" according to CMike's plan,
for instance, even though it's *conceivable* that a script could be
relying on the old meaning.)

Anyway, I think we agree on the principles here; I just think that
http://apr.apache.org/versioning.html isn't a very complete statement of
those principles as they apply to us.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: What do Subversion version numbers mean?

Posted by Branko Čibej <br...@xbc.nu>.
Branko Čibej wrote:

>I disagree. While the page certainly doesn't say anything about network
>protocols and on-disk data formats, I think we can easily extrapolate
>from the principles stated there. For example,
>
>    * A patch version change is fod bug fixes only. There are no changes
>      in schema, protocols or API, and both clients and libraries are
>      backwards and forwards compatible between different patch releases.
>    * A minor version change implies backward compatible changes in the
>      API, schema and protocols. For example, a client built against
>      library version X.Y.Z will work correctly with library version
>      X.Y+1.n; and an X.Y+1.n server will work correctly with a
>      repository created by svnadmin X.Y.Z.
>    * We don't promise _any_ compatibility between different major
>      versions, except that you can always migrate a repository with
>      svnadmin dump/load.
>  
>

Heh, and it looks like this is almost exactly what Erik wrote.


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Branko Čibej <br...@xbc.nu>.
Greg Hudson wrote:

>On Sun, 2003-12-21 at 09:48, Branko Čibej wrote:
>  
>
>>Erik Huelsmann wrote:
>>
>>    
>>
>>>Ok. I think the fact that everybody has his own idea about minor / micro
>>>version changes is getting the version numbering thread in the way of reaching a
>>>conclusion. 
>>>      
>>>
>
>  
>
>>We decided long ago what these numbers mean.
>>
>>    http://apr.apache.org/versioning.html
>>    
>>
>
>I don't think that alleged consensus is meaningful, and we should punt
>the references to it from our HACKING document and web pages.  I don't
>even remember when "we" agreed to it, and that document is written from
>the viewpoint of a project consisting of a single library, not a project
>consisting of several libraries, programs, network protocols, and
>on-disk data formats.
>  
>
I disagree. While the page certainly doesn't say anything about network
protocols and on-disk data formats, I think we can easily extrapolate
from the principles stated there. For example,

    * A patch version change is fod bug fixes only. There are no changes
      in schema, protocols or API, and both clients and libraries are
      backwards and forwards compatible between different patch releases.
    * A minor version change implies backward compatible changes in the
      API, schema and protocols. For example, a client built against
      library version X.Y.Z will work correctly with library version
      X.Y+1.n; and an X.Y+1.n server will work correctly with a
      repository created by svnadmin X.Y.Z.
    * We don't promise _any_ compatibility between different major
      versions, except that you can always migrate a repository with
      svnadmin dump/load.





-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Greg Hudson <gh...@MIT.EDU>.
On Sun, 2003-12-21 at 09:48, Branko Čibej wrote:
> Erik Huelsmann wrote:
> 
> >Ok. I think the fact that everybody has his own idea about minor / micro
> >version changes is getting the version numbering thread in the way of reaching a
> >conclusion. 

> We decided long ago what these numbers mean.
> 
>     http://apr.apache.org/versioning.html

I don't think that alleged consensus is meaningful, and we should punt
the references to it from our HACKING document and web pages.  I don't
even remember when "we" agreed to it, and that document is written from
the viewpoint of a project consisting of a single library, not a project
consisting of several libraries, programs, network protocols, and
on-disk data formats.

(Remember when we had the argument about symlinks and I said, "but our
home page says we'll support versioning of symlinks!"  Well, that didn't
fly then, and the same kind of argument shouldn't fly now.  An
off-the-cuff decision made at the very beginning of the project isn't a
set-in-stone decision about what we will do now.)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: What do Subversion version numbers mean?

Posted by Branko Čibej <br...@xbc.nu>.
Jack Repenning wrote:

>
> On Dec 21, 2003, at 6:48 AM, Branko Čibej wrote:
>
>> We decided long ago what these numbers mean.
>>
>>     http://apr.apache.org/versioning.html
>
>
> That document does not seem to discuss protocol compatibility, nor
> schema changes (did I miss that?), possibly because httpd's protocol
> is externally specified, and it doesn't even *have* a schema.

While we've been through this before, I have to point out that APR does
not depend on either httpd or or HTTP, nor does it implement any part of
the HTTP protocol.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: What do Subversion version numbers mean?

Posted by Jack Repenning <jr...@collab.net>.
On Dec 21, 2003, at 6:48 AM, Branko Čibej wrote:

> Erik Huelsmann wrote:
>
>> Ok. I think the fact that everybody has his own idea about minor / 
>> micro
>> version changes is getting the version numbering thread in the way of 
>> reaching a
>> conclusion.
>>
>>
> We decided long ago what these numbers mean.
>
>     http://apr.apache.org/versioning.html

That document does not seem to discuss protocol compatibility, nor 
schema changes (did I miss that?), possibly because httpd's protocol is 
externally specified, and it doesn't even *have* a schema.

-==-
Jack Repenning
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
o: 650.228.2562
c: 408.835.8090

Re: What do Subversion version numbers mean?

Posted by Branko Čibej <br...@xbc.nu>.
Erik Huelsmann wrote:

>Ok. I think the fact that everybody has his own idea about minor / micro
>version changes is getting the version numbering thread in the way of reaching a
>conclusion. 
>  
>
We decided long ago what these numbers mean.

    http://apr.apache.org/versioning.html

This page is even linked off our home page, albeit in a somewhat obscure
location.



-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org