You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "KARR, DAVID (ATTSI)" <dk...@att.com> on 2011/01/13 20:07:22 UTC

What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

I work on Windows with Cygwin.  In Eclipse, I can do SVN checkouts and
updates with the SVN on our server, which is running SVN 1.4.x.  I'm
doing this with the latest Subversive and connector.  I've been told
that after SVN 1.4.x, the "storage format" changed, so doing checkouts
and updates with a SVN client newer than 1.4.x would screw up the .svn
directories.

In fact, I think I've seen this happen.  I tried doing an update with my
SVN command-line client (I appear to have SVN 1.5.7, from CollabNet), in
a project that I work on in Eclipse, and when I refreshed my Eclipse, it
got so confused I eventually had to create a new workspace.  Working in
the old workspace gave me constant error dialogs from Subversive.  I
suppose it's possible this wasn't a storage format issue, but simply an
issue with updating the SVN state outside of Subversive.  I don't know.
I don't attempt checkouts or updates from the command line anymore.
Doing "svn diff" or other information queries works fine.

Is there a SVN command-line version that would be "safe" to use for
checkouts and updates that won't screw up my .svn tree or Subversive?  I
asked about this on the Subversive forum, but I'm having trouble getting
a response.

RE: What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

Posted by "KARR, DAVID (ATTSI)" <dk...@att.com>.
> -----Original Message-----
> From: Mark Phippard [mailto:markphip@gmail.com]
> Sent: Thursday, January 13, 2011 3:44 PM
> To: KARR, DAVID (ATTSI)
> Cc: Andy Levy; users@subversion.apache.org
> Subject: Re: What SVN command-line client distro should I get to work
> properly with SVN 1.4.x on the server?
> 
> On Thu, Jan 13, 2011 at 6:37 PM, KARR, DAVID (ATTSI) <dk...@att.com>
> wrote:
> 
> > I'm currently using SVNKit 1.2.3 (for SVN 1.5.6) with Subversive. (I
> had said this was 1.5.7 earlier).
> 
> If it was using SVNKit 1.2.3 then you would not be having a problem.
> You have to be using the JavaSvn connector that only supports 1.4.
> They still provide it because they paid to have some custom behaviors
> added around merge and a couple other places that they wanted.  But
> these customizations were not maintained going forward.

I don't get what you're saying.  It's set to SVNKit 1.2.3.  I know I had
a problem when I tried to do a SVN update from the command line a while
ago.  When I refreshed in Eclipse it started giving me so many bizarre
error dialogs that I concluded I had to recreate my workspace.  It's
possible this wasn't a version difference problem.  Perhaps Subversive
has trouble if you do anything with the .svn files outside of Eclipse.

> You might also check preferences.  SVNKit is capable of supporting
> multiple formats.  So SVNKit 1.2.3 can support the 1.4 and 1.5
> formats.  You may have a setting somewhere telling it to use the 1.4
> format.

I see no setting in the SVN preferences that says anything like this.

> > If I plan to change this connector to use the latest SVNKit, do I
> first have to delete all of my checked-out projects and check them out
> again
> > after changing the connector?
> 
> No, the format will just be upgraded to the latest format.  No need to
> checkout again and the upgrade is relatively quick.  The only issue is
> that earlier clients will not be able to read it any more.  If you
> upgrade them all to 1.6.x this will not be an issue.

Ok.

Re: What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

Posted by Mark Phippard <ma...@gmail.com>.
On Thu, Jan 13, 2011 at 6:37 PM, KARR, DAVID (ATTSI) <dk...@att.com> wrote:

> I'm currently using SVNKit 1.2.3 (for SVN 1.5.6) with Subversive. (I had said this was 1.5.7 earlier).

If it was using SVNKit 1.2.3 then you would not be having a problem.
You have to be using the JavaSvn connector that only supports 1.4.
They still provide it because they paid to have some custom behaviors
added around merge and a couple other places that they wanted.  But
these customizations were not maintained going forward.

You might also check preferences.  SVNKit is capable of supporting
multiple formats.  So SVNKit 1.2.3 can support the 1.4 and 1.5
formats.  You may have a setting somewhere telling it to use the 1.4
format.

> If I plan to change this connector to use the latest SVNKit, do I first have to delete all of my checked-out projects and check them out again
> after changing the connector?

No, the format will just be upgraded to the latest format.  No need to
checkout again and the upgrade is relatively quick.  The only issue is
that earlier clients will not be able to read it any more.  If you
upgrade them all to 1.6.x this will not be an issue.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

RE: What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

Posted by "KARR, DAVID (ATTSI)" <dk...@att.com>.
> -----Original Message-----
> From: Mark Phippard [mailto:markphip@gmail.com]
> Sent: Thursday, January 13, 2011 2:58 PM
> To: KARR, DAVID (ATTSI)
> Cc: Andy Levy; users@subversion.apache.org
> Subject: Re: What SVN command-line client distro should I get to work
> properly with SVN 1.4.x on the server?
> 
> >> On Thu, Jan 13, 2011 at 14:07, KARR, DAVID (ATTSI) <dk...@att.com>
> >> wrote:
> >> > I work on Windows with Cygwin.  In Eclipse, I can do SVN checkouts
> >> and
> >> > updates with the SVN on our server, which is running SVN 1.4.x.
>  I'm
> >> > doing this with the latest Subversive and connector.  I've been
> told
> >> > that after SVN 1.4.x, the "storage format" changed, so doing
> >> checkouts
> >> > and updates with a SVN client newer than 1.4.x would screw up the
> >> .svn
> >> > directories.
> >>
> >> Over the network RA layers (http, svn, svn+ssh), client & server
> >> versions can differ as long as they're both 1.x. A 1.0 client can
> talk
> >> to a 1.6 server, and vice versa.
> >>
> >> The *client-side* storage format has been changed in most 1.x
> >> releases, and it's a silent update, so if you're using multiple
> >> clients, all must be the same minor revision - you can't mix a 1.4 &
> >> 1.5 client on the same system, unless they operate on separate WCs.
> >>
> >> I suspect you're running into problems for at least one of the
> >> following reasons, if not both:
> >>
> >> 1) Your Eclipse plugin & command-line client are not the same minor
> >> version of Subversion.
> >> 2) The differences introduced by Cygwin to trick the SVN client into
> >> thinking it's in a *NIX environment are conflicting with the real
> >> Windows client that you have in Eclipse.
> >>
> >> > In fact, I think I've seen this happen.  I tried doing an update
> with
> >> my
> >> > SVN command-line client (I appear to have SVN 1.5.7, from
> CollabNet),
> >> in
> >> > a project that I work on in Eclipse, and when I refreshed my
> Eclipse,
> >> it
> >> > got so confused I eventually had to create a new workspace.
>  Working
> >> in
> >> > the old workspace gave me constant error dialogs from Subversive.
>  I
> >> > suppose it's possible this wasn't a storage format issue, but
> simply
> >> an
> >> > issue with updating the SVN state outside of Subversive.  I don't
> >> know.
> >> > I don't attempt checkouts or updates from the command line
> anymore.
> >> > Doing "svn diff" or other information queries works fine.
> >>
> >> Try dropping the Cygwin environment for a while and exclusively use
> >> Eclipse and the *native* Win32 client in the Windows Command Prompt.
> >> Your Subversive plugin must be based on the same Subversion version
> as
> >> your Win32 client.
> >
> > I included the fact that I'm using Cygwin just for completeness.  The
> SVN client I'm using is not part of Cygwin, it's from CollabNet.  The
> SVN version that claims to represent is 1.5.7, which is the SVN version
> that my Subversive connector claims to represent.  That tells me that I
> shouldn't be having a problem.  I guess I'll have to try again and see
> what happens.  Perhaps it's not a problem with SVN version mismatches.
>  I'll have to test this very carefully so I don't screw up my main
> workspace.  I guess I'll have to create another one just for this test.
> >
> 
> The problem is that Subversive includes a bastardized version of what
> used to be called JavaSvn and that only reads/writes the SVN 1.4
> working copy format.  Change Subversive so that it is using JavaHL or
> the newer SVNKit and the problems will go away.  I would update the
> command line client and the Subversive connector so that it is using
> the latest SVN 1.6.x version available.

I'm currently using SVNKit 1.2.3 (for SVN 1.5.6) with Subversive. (I had said this was 1.5.7 earlier).

If I plan to change this connector to use the latest SVNKit, do I first have to delete all of my checked-out projects and check them out again after changing the connector?

Re: What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

Posted by Mark Phippard <ma...@gmail.com>.
>> On Thu, Jan 13, 2011 at 14:07, KARR, DAVID (ATTSI) <dk...@att.com>
>> wrote:
>> > I work on Windows with Cygwin.  In Eclipse, I can do SVN checkouts
>> and
>> > updates with the SVN on our server, which is running SVN 1.4.x.  I'm
>> > doing this with the latest Subversive and connector.  I've been told
>> > that after SVN 1.4.x, the "storage format" changed, so doing
>> checkouts
>> > and updates with a SVN client newer than 1.4.x would screw up the
>> .svn
>> > directories.
>>
>> Over the network RA layers (http, svn, svn+ssh), client & server
>> versions can differ as long as they're both 1.x. A 1.0 client can talk
>> to a 1.6 server, and vice versa.
>>
>> The *client-side* storage format has been changed in most 1.x
>> releases, and it's a silent update, so if you're using multiple
>> clients, all must be the same minor revision - you can't mix a 1.4 &
>> 1.5 client on the same system, unless they operate on separate WCs.
>>
>> I suspect you're running into problems for at least one of the
>> following reasons, if not both:
>>
>> 1) Your Eclipse plugin & command-line client are not the same minor
>> version of Subversion.
>> 2) The differences introduced by Cygwin to trick the SVN client into
>> thinking it's in a *NIX environment are conflicting with the real
>> Windows client that you have in Eclipse.
>>
>> > In fact, I think I've seen this happen.  I tried doing an update with
>> my
>> > SVN command-line client (I appear to have SVN 1.5.7, from CollabNet),
>> in
>> > a project that I work on in Eclipse, and when I refreshed my Eclipse,
>> it
>> > got so confused I eventually had to create a new workspace.  Working
>> in
>> > the old workspace gave me constant error dialogs from Subversive.  I
>> > suppose it's possible this wasn't a storage format issue, but simply
>> an
>> > issue with updating the SVN state outside of Subversive.  I don't
>> know.
>> > I don't attempt checkouts or updates from the command line anymore.
>> > Doing "svn diff" or other information queries works fine.
>>
>> Try dropping the Cygwin environment for a while and exclusively use
>> Eclipse and the *native* Win32 client in the Windows Command Prompt.
>> Your Subversive plugin must be based on the same Subversion version as
>> your Win32 client.
>
> I included the fact that I'm using Cygwin just for completeness.  The SVN client I'm using is not part of Cygwin, it's from CollabNet.  The SVN version that claims to represent is 1.5.7, which is the SVN version that my Subversive connector claims to represent.  That tells me that I shouldn't be having a problem.  I guess I'll have to try again and see what happens.  Perhaps it's not a problem with SVN version mismatches.  I'll have to test this very carefully so I don't screw up my main workspace.  I guess I'll have to create another one just for this test.
>

The problem is that Subversive includes a bastardized version of what
used to be called JavaSvn and that only reads/writes the SVN 1.4
working copy format.  Change Subversive so that it is using JavaHL or
the newer SVNKit and the problems will go away.  I would update the
command line client and the Subversive connector so that it is using
the latest SVN 1.6.x version available.

Subclipse does not have this problem as it only uses JavaHL, which is
part of Subversion, or SVNKit.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

RE: What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

Posted by "KARR, DAVID (ATTSI)" <dk...@att.com>.
> -----Original Message-----
> From: Andy Levy [mailto:andy.levy@gmail.com]
> Sent: Thursday, January 13, 2011 11:32 AM
> To: KARR, DAVID (ATTSI)
> Cc: users@subversion.apache.org
> Subject: Re: What SVN command-line client distro should I get to work
> properly with SVN 1.4.x on the server?
> 
> On Thu, Jan 13, 2011 at 14:07, KARR, DAVID (ATTSI) <dk...@att.com>
> wrote:
> > I work on Windows with Cygwin.  In Eclipse, I can do SVN checkouts
> and
> > updates with the SVN on our server, which is running SVN 1.4.x.  I'm
> > doing this with the latest Subversive and connector.  I've been told
> > that after SVN 1.4.x, the "storage format" changed, so doing
> checkouts
> > and updates with a SVN client newer than 1.4.x would screw up the
> .svn
> > directories.
> 
> Over the network RA layers (http, svn, svn+ssh), client & server
> versions can differ as long as they're both 1.x. A 1.0 client can talk
> to a 1.6 server, and vice versa.
> 
> The *client-side* storage format has been changed in most 1.x
> releases, and it's a silent update, so if you're using multiple
> clients, all must be the same minor revision - you can't mix a 1.4 &
> 1.5 client on the same system, unless they operate on separate WCs.
> 
> I suspect you're running into problems for at least one of the
> following reasons, if not both:
> 
> 1) Your Eclipse plugin & command-line client are not the same minor
> version of Subversion.
> 2) The differences introduced by Cygwin to trick the SVN client into
> thinking it's in a *NIX environment are conflicting with the real
> Windows client that you have in Eclipse.
> 
> > In fact, I think I've seen this happen.  I tried doing an update with
> my
> > SVN command-line client (I appear to have SVN 1.5.7, from CollabNet),
> in
> > a project that I work on in Eclipse, and when I refreshed my Eclipse,
> it
> > got so confused I eventually had to create a new workspace.  Working
> in
> > the old workspace gave me constant error dialogs from Subversive.  I
> > suppose it's possible this wasn't a storage format issue, but simply
> an
> > issue with updating the SVN state outside of Subversive.  I don't
> know.
> > I don't attempt checkouts or updates from the command line anymore.
> > Doing "svn diff" or other information queries works fine.
> 
> Try dropping the Cygwin environment for a while and exclusively use
> Eclipse and the *native* Win32 client in the Windows Command Prompt.
> Your Subversive plugin must be based on the same Subversion version as
> your Win32 client.

I included the fact that I'm using Cygwin just for completeness.  The SVN client I'm using is not part of Cygwin, it's from CollabNet.  The SVN version that claims to represent is 1.5.7, which is the SVN version that my Subversive connector claims to represent.  That tells me that I shouldn't be having a problem.  I guess I'll have to try again and see what happens.  Perhaps it's not a problem with SVN version mismatches.  I'll have to test this very carefully so I don't screw up my main workspace.  I guess I'll have to create another one just for this test.

Re: What SVN command-line client distro should I get to work properly with SVN 1.4.x on the server?

Posted by Andy Levy <an...@gmail.com>.
On Thu, Jan 13, 2011 at 14:07, KARR, DAVID (ATTSI) <dk...@att.com> wrote:
> I work on Windows with Cygwin.  In Eclipse, I can do SVN checkouts and
> updates with the SVN on our server, which is running SVN 1.4.x.  I'm
> doing this with the latest Subversive and connector.  I've been told
> that after SVN 1.4.x, the "storage format" changed, so doing checkouts
> and updates with a SVN client newer than 1.4.x would screw up the .svn
> directories.

Over the network RA layers (http, svn, svn+ssh), client & server
versions can differ as long as they're both 1.x. A 1.0 client can talk
to a 1.6 server, and vice versa.

The *client-side* storage format has been changed in most 1.x
releases, and it's a silent update, so if you're using multiple
clients, all must be the same minor revision - you can't mix a 1.4 &
1.5 client on the same system, unless they operate on separate WCs.

I suspect you're running into problems for at least one of the
following reasons, if not both:

1) Your Eclipse plugin & command-line client are not the same minor
version of Subversion.
2) The differences introduced by Cygwin to trick the SVN client into
thinking it's in a *NIX environment are conflicting with the real
Windows client that you have in Eclipse.

> In fact, I think I've seen this happen.  I tried doing an update with my
> SVN command-line client (I appear to have SVN 1.5.7, from CollabNet), in
> a project that I work on in Eclipse, and when I refreshed my Eclipse, it
> got so confused I eventually had to create a new workspace.  Working in
> the old workspace gave me constant error dialogs from Subversive.  I
> suppose it's possible this wasn't a storage format issue, but simply an
> issue with updating the SVN state outside of Subversive.  I don't know.
> I don't attempt checkouts or updates from the command line anymore.
> Doing "svn diff" or other information queries works fine.

Try dropping the Cygwin environment for a while and exclusively use
Eclipse and the *native* Win32 client in the Windows Command Prompt.
Your Subversive plugin must be based on the same Subversion version as
your Win32 client.