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

Forcing the clients to upgrade to 1.5 or 1.6? Should we have "svn:minclientversion" property?

From: Aleksey Nogin <anogin_at_hrl.com>
Date: Mon, 23 Mar 2009 09:12:14 -0700

When 1.5.0 was released, I realized that I would not be able to use the
new svn:externals syntax until I have some way of making sure the
connecting clients are all at least version 1.5. Now that 1.6.0 adds
support for file externals I expect a similar problem.

Unfortunately, subversion does not have (AFAIK) any mechanisms to
explicitly tell the clients to upgrade. An 1.4 client encountering an
svn:externals in 1.5 format would give an very unhelpful error message
that would be completely baffling to a user who have not yet heard about
the new 1.5 svn:externals format.

IMHO subversion needs two separate mechanisms for forcing upgrades:
1. A global per-repository "minimal client version" set by
administrator. E.g. for svnserve - when a clients connects to a
repository, svnserve would produce some sort of a "you must upgrade"
error message if the client's version is too old. It would be nice if
this could be added in a way that can distinguish between previous
clients (e.g. between 1.4 and 1.5), but even if a client
self-identification mechanism needs to be added for this, it would still
be very valuable going forward.

2. A per-directory mechanism accessible by repository users. The most
obvious would be to add a new property - e.g. something like
"svn:minclientversion". *If* such property had already existed and was
understood by previous subversion clients, I could set
"svn:minclientversion" to 1.5 simultaneously with adding 1.5-formatted
svn:externals and thus make sure the old clients would give a meaningful
"you client is too old" error instead of a "weird" error about and
unexpected relative path. Obviously, adding support for such property
would not help with incompatibilities introduced in 1.5 and 1.6, but at
least it would help with any future incompatibilities. In addition,
future clients may be changed to automatically bump the
"svn:minclientversion" whenever the user does something that would
require a recent client to correctly access.

What do people think?

Aleksey

-- 
Aleksey Nogin, Research Scientist
Advanced Technologies Department, Information & System Sciences Lab
HRL Laboratories, LLC, Malibu, CA
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1390623
Received on 2009-03-23 18:43:42 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.