You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Matt Garman <ma...@gmail.com> on 2016/12/19 23:10:28 UTC

Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

We're looking at upgrading our systems from CentOS 6 to CentOS 7[1].
CentOS 6 provides subversion-1.6, and CentOS 7 provides
subversion-1.7.  We have far too many machines and too much custom
development to upgrade all servers at once.  So there will be a period
where the two OSes must co-exist.  (Possibly a quite-lengthy period if
the 5->6 upgrade is any indication.)

In particular, our developers need to do testing on CentOS 7, which
will inevitably result in some code changes that need to be committed.
But their checkouts must continue to work with CentOS 6.

Looking at the Subversion 1.7 release notes[2], and also my own
testing, it appears that what I could do to make this easy for
everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
have subversion-1.7 everywhere on the client side).  Then everyone can
do an "svn upgrade" on all their working copies and go about their
business as usual.  The svn server can stay CentOS 6 / subversion-1.6
for now (probably done much later in the overall upgrade process).

This seems too easy.  :)  I'm posting here to see if I'm missing any
potential pitfalls.  On the server side, we use both svn through https
and also svn+ssh.

[1] For those unaware, CentOS is built from the RHEL sources and
supposed to be more or less the same.

[2] https://subversion.apache.org/docs/release-notes/1.7.html

Thanks!
Matt

Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Daniel Shahaf <da...@apache.org>.
Todd Armstrong wrote on Tue, Dec 20, 2016 at 21:41:57 +0000:
>  We are currently using one of the 1.8 versions on both centos 6 and
>  7 clients.  Don't know if that would be 1.6 server compatible -

All 1.x.y clients are compatible with all 1.a.b servers.

We won't break wire compatibility until 2.0 (and possibly not even
then).

Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Daniel Shahaf <da...@apache.org>.
Branko \u010cibej wrote on Wed, Dec 21, 2016 at 11:48:55 +0100:
> [1] Except that, when using the file:// protocol, it is *highly
> recommended* to for the client and server to be the same version. In the
> case of administration tools (svnadmin, svnlook, etc.), version parity
> is required.

All these \u2014 svnadmin, svnlook, and svn over file:// \u2014 access
a repository on-disk directly, without a mediating server.

In these cases, there _is_ in fact a certain amount of leeway \u2014 the 1.5
svn* tools can read repositories created by 1.6, for example \u2014 but in
general it's recommended to use just one version of svnadmin/svnlook/svn
on a repository.  (For example, because that minimises the chance of
running into compatibility bugs.)

In general, we promise for on-disk structures \u2014 i.e., for the part of
the stack where neither svn:// nor http:// is involved \u2014 that 1.x.y can
read data created by 1.a.b if x \u2265 a; which notably includes the case
that x=a and y<b.  However, mixing versions, or downgrading, is not
recommended.

Cheers,

Daniel

> These are essentially server-side restrictions and have
> little bearing on a normal setup, when clients talk to the server using
> the http:// or svn:// protocol.
> 
> -- Brane
> 
> 

Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Branko Čibej <br...@apache.org>.
On 20.12.2016 22:41, Todd Armstrong wrote:
>
>> On Dec 20, 2016, at 8:31 AM, "Matt Garman" <ma...@gmail.com> wrote:
>>
>>> On Tue, Dec 20, 2016 at 1:49 AM, Nico Kadel-Garcia <nk...@gmail.com> wrote:
>>>> On Mon, Dec 19, 2016 at 6:10 PM, Matt Garman <ma...@gmail.com> wrote:
>>>> Looking at the Subversion 1.7 release notes[2], and also my own
>>>> testing, it appears that what I could do to make this easy for
>>>> everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
>>>> have subversion-1.7 everywhere on the client side).  Then everyone can
>>>> do an "svn upgrade" on all their working copies and go about their
>>>> business as usual.  The svn server can stay CentOS 6 / subversion-1.6
>>>> for now (probably done much later in the overall upgrade process).
>>> From experience, it's that easy. There is no Subversion 1.7 in the
>>> supported repos, and Subversion 1.9 is (from personal experience)
>>> awkward to backport to CentOS 6. So it may take some work or
>>> searching. I used to publish SRPM tools over at github, but I stopped
>>> a while ago.
>> Thank you, that is very encouraging.  I was able to compile svn-1.7
>> from the vanilla sources on CentOS 6, and my colleague is a pro at RPM
>> packaging.  So no worries on that front!
>>
>> Thanks again,
>> Matt
> WANDisco has freely available subversion binaries for numerous subversion versions for centos 5, 6, and 7 (and lots of other operating systems.
>  We are currently using one of the 1.8 versions on both centos 6 and 7 clients.  Don't know if that would be 1.6 server compatible - our server is 1.8 based as well.

As a matter of policy, all Subversion clients are compatible with all
Subversion servers[1]. However clients are not compatible amongst each
other, due to changes in working copy format (except for 1.8.x and
1.9.x, which both use the same working copy format).

In other words, a 1.6 client will talk to a 1.9 server; a 1.7 client
will talk to a 1.6 server. Depending on client and server version, some
features may not be available or their implementation not be optimal,
but day-to-day checkout, update, commit, status, diff etc. will work.

Details about compatibility are documented in the Release Notes

    http://subversion.apache.org/docs/release-notes/


[1] Except that, when using the file:// protocol, it is *highly
recommended* to for the client and server to be the same version. In the
case of administration tools (svnadmin, svnlook, etc.), version parity
is required. These are essentially server-side restrictions and have
little bearing on a normal setup, when clients talk to the server using
the http:// or svn:// protocol.

-- Brane


Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Todd Armstrong <to...@Newscycle.com>.

> On Dec 20, 2016, at 8:31 AM, "Matt Garman" <ma...@gmail.com> wrote:
> 
>> On Tue, Dec 20, 2016 at 1:49 AM, Nico Kadel-Garcia <nk...@gmail.com> wrote:
>>> On Mon, Dec 19, 2016 at 6:10 PM, Matt Garman <ma...@gmail.com> wrote:
>>> Looking at the Subversion 1.7 release notes[2], and also my own
>>> testing, it appears that what I could do to make this easy for
>>> everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
>>> have subversion-1.7 everywhere on the client side).  Then everyone can
>>> do an "svn upgrade" on all their working copies and go about their
>>> business as usual.  The svn server can stay CentOS 6 / subversion-1.6
>>> for now (probably done much later in the overall upgrade process).
>> 
>> From experience, it's that easy. There is no Subversion 1.7 in the
>> supported repos, and Subversion 1.9 is (from personal experience)
>> awkward to backport to CentOS 6. So it may take some work or
>> searching. I used to publish SRPM tools over at github, but I stopped
>> a while ago.
> 
> Thank you, that is very encouraging.  I was able to compile svn-1.7
> from the vanilla sources on CentOS 6, and my colleague is a pro at RPM
> packaging.  So no worries on that front!
> 
> Thanks again,
> Matt

WANDisco has freely available subversion binaries for numerous subversion versions for centos 5, 6, and 7 (and lots of other operating systems.
 We are currently using one of the 1.8 versions on both centos 6 and 7 clients.  Don't know if that would be 1.6 server compatible - our server is 1.8 based as well.


Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Nico Kadel-Garcia <nk...@gmail.com>.
On Tue, Dec 20, 2016 at 9:30 AM, Matt Garman <ma...@gmail.com> wrote:
> On Tue, Dec 20, 2016 at 1:49 AM, Nico Kadel-Garcia <nk...@gmail.com> wrote:
>> On Mon, Dec 19, 2016 at 6:10 PM, Matt Garman <ma...@gmail.com> wrote:
>>> Looking at the Subversion 1.7 release notes[2], and also my own
>>> testing, it appears that what I could do to make this easy for
>>> everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
>>> have subversion-1.7 everywhere on the client side).  Then everyone can
>>> do an "svn upgrade" on all their working copies and go about their
>>> business as usual.  The svn server can stay CentOS 6 / subversion-1.6
>>> for now (probably done much later in the overall upgrade process).
>>
>> From experience, it's that easy. There is no Subversion 1.7 in the
>> supported repos, and Subversion 1.9 is (from personal experience)
>> awkward to backport to CentOS 6. So it may take some work or
>> searching. I used to publish SRPM tools over at github, but I stopped
>> a while ago.
>
> Thank you, that is very encouraging.  I was able to compile svn-1.7
> from the vanilla sources on CentOS 6, and my colleague is a pro at RPM
> packaging.  So no worries on that front!

Your friend is welcome to my work at
https://github.com/nkadel/subversion-1.7.x-srpm . I used to publish
these for Repoforge, but Repoforge seems to be pretty dead, and I've
not been maintaining them.

Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Matt Garman <ma...@gmail.com>.
On Tue, Dec 20, 2016 at 1:49 AM, Nico Kadel-Garcia <nk...@gmail.com> wrote:
> On Mon, Dec 19, 2016 at 6:10 PM, Matt Garman <ma...@gmail.com> wrote:
>> Looking at the Subversion 1.7 release notes[2], and also my own
>> testing, it appears that what I could do to make this easy for
>> everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
>> have subversion-1.7 everywhere on the client side).  Then everyone can
>> do an "svn upgrade" on all their working copies and go about their
>> business as usual.  The svn server can stay CentOS 6 / subversion-1.6
>> for now (probably done much later in the overall upgrade process).
>
> From experience, it's that easy. There is no Subversion 1.7 in the
> supported repos, and Subversion 1.9 is (from personal experience)
> awkward to backport to CentOS 6. So it may take some work or
> searching. I used to publish SRPM tools over at github, but I stopped
> a while ago.

Thank you, that is very encouraging.  I was able to compile svn-1.7
from the vanilla sources on CentOS 6, and my colleague is a pro at RPM
packaging.  So no worries on that front!

Thanks again,
Matt

Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Nico Kadel-Garcia <nk...@gmail.com>.
On Mon, Dec 19, 2016 at 6:10 PM, Matt Garman <ma...@gmail.com> wrote:
> We're looking at upgrading our systems from CentOS 6 to CentOS 7[1].
> CentOS 6 provides subversion-1.6, and CentOS 7 provides
> subversion-1.7.  We have far too many machines and too much custom
> development to upgrade all servers at once.  So there will be a period
> where the two OSes must co-exist.  (Possibly a quite-lengthy period if
> the 5->6 upgrade is any indication.)
>
> In particular, our developers need to do testing on CentOS 7, which
> will inevitably result in some code changes that need to be committed.
> But their checkouts must continue to work with CentOS 6.
>
> Looking at the Subversion 1.7 release notes[2], and also my own
> testing, it appears that what I could do to make this easy for
> everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
> have subversion-1.7 everywhere on the client side).  Then everyone can
> do an "svn upgrade" on all their working copies and go about their
> business as usual.  The svn server can stay CentOS 6 / subversion-1.6
> for now (probably done much later in the overall upgrade process).

From experience, it's that easy. There is no Subversion 1.7 in the
supported repos, and Subversion 1.9 is (from personal experience)
awkward to backport to CentOS 6. So it may take some work or
searching. I used to publish SRPM tools over at github, but I stopped
a while ago.

Re: Subversion 1.6 / 1.7 compatibility - RHEL/CentOS 6/7 upgrade

Posted by Olaf van der Spek <ml...@vdspek.org>.
On Tue, Dec 20, 2016 at 12:10 AM, Matt Garman <ma...@gmail.com> wrote:
> Looking at the Subversion 1.7 release notes[2], and also my own
> testing, it appears that what I could do to make this easy for
> everyone is to upgrade all CentOS 6 clients to subversion-1.7 (i.e.
> have subversion-1.7 everywhere on the client side).  Then everyone can
> do an "svn upgrade" on all their working copies and go about their
> business as usual.  The svn server can stay CentOS 6 / subversion-1.6
> for now (probably done much later in the overall upgrade process).

Unless a working copy / checkout is shared between 1.6 and 1.7 clients
there's no need to update the clients right?


-- 
Olaf