--
Certified & Supported Apache Subversion Downloads: 
http://www.wandisco.com/subversion/download



----- Original Message -----
> From: C. Michael Pilato <cmpil...@collab.net>
> To: Daniel Shahaf <d...@daniel.shahaf.name>
> Cc: dev@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

Reply via email to