[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svnadmin --compatible-version=1.9.0

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Fri, 22 Mar 2013 15:48:56 +0000 (GMT)

 

--
Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download
----- Original Message -----
> From: C. Michael Pilato <cmpilato_at_collab.net>
> To: Daniel Shahaf <d.s_at_daniel.shahaf.name>
> Cc: dev_at_subversion.apache.org
> Sent: Friday, 22 March 2013, 11:25
> Subject: Re: svnadmin --compatible-version=1.9.0
> 
> On 03/22/2013 11:13 AM, Daniel Shahaf wrote:
>>  svnadmin.c has this code:
>> 
>>            /* We can't create repository with a version newer than what
>>               the running version of Subversion supports. */
>>            if (! svn_version__at_least(&latest,
>>                                        compatible_version->major,
>>                                        compatible_version->minor,
>>                                        compatible_version->patch))
>>              {
>>                err = svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
>>                                        _("Cannot guarantee 
> compatibility "
>>                                          "beyond the current running 
> version "
>>                                          "(%s)"),
>>                                        SVN_VER_NUM );
>>                return EXIT_ERROR(err);
>>              }
>> 
>>  Should the condition be relaxed to (compatible_version->major != 
> latest->major)?
>> 
>>  After all, if someone passes "1.9.0", that's fine --- 
> we'll just create
>>  a 1.8.0-style repository, and our compatibility rules imply that 1.9.0
>>  will know to read it.  Similarly, if someone passes "1.8.2", then
>>  regardless of whether this svnadmin is 1.8.0 or 1.8.4, e can just go
>>  ahead and create a 1.8-stlye repository; 1.8.2 will be able to read it.
>> 
>>  In other words, the "is my version number at least X" behaviour 
> might be
>>  useful, but --compatible-version= doesn't seem to be the right place 
> for it.
> 
> Makes sense to me.
No, I think we should ignore the patch-level, but require that the running version is no older than the requested minor version.
If I'm runnning a 1.7 svnadmin and I request "--compatible-version=1.9.0", then certainly 1.7 *can* create a repository that's compatible with v1.9, but I think the meaning should be: create a repo using the 1.9 format, that is compatible with 1.9 and *later*.
It would be confusing if the admin tries to create a 1.9-format repo, but is accidentally running the 1.7 svnadmin, and if the 1.7 svnadmin silently goes ahead with creating a 1.7-format repo.
- Julian
Received on 2013-03-22 16:49:30 CET

This is an archived mail posted to the Subversion Dev mailing list.