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.