You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Spiegel Tal <Ta...@elbitsystems.com> on 2014/02/12 10:11:58 UTC

possible bugstatus for externals with explicit revision

Hi,

I'm using in my project externals set to explicit revision.

When using svn1.7+ the command "svn status -v -u" used to check the modification between my w.c. to the externals explicit revision.

When using svn1.8+ the same command checks the modification between my w.c. and the external HEAD revision although my external is not pointing the HEAD revision, it points to a much older revision.

Why did svn change its behavior? is it a bug?
Thanks,
Tal





The information in this e-mail transmission contains proprietary and business 
sensitive information.  Unauthorized interception of this e-mail may constitute 
a violation of law. If you are not the intended recipient, you are hereby 
notified that any review, dissemination, distribution or duplication of this 
communication is strictly prohibited. You are also asked to contact the sender 
by reply email and immediately destroy all copies of the original message.

Re: possible bugstatus for externals with explicit revision

Posted by Philip Martin <ph...@wandisco.com>.
Spiegel Tal <Ta...@elbitsystems.com> writes:

> I didn't make myself clear.
> I've encounter the problem when using svn1.8+ client and svn1.7+ server.
>
> When I used to work with a svn1.7 client against svn1.7 server there was no mismatch with the externals status comparison.
>
> Can you approve this is a bug within the svn1.8+ client? It only work fine against 1.8+ server?

The behaviour I see depends on the client, not the server.  The 1.8
client shows the external status against the explicit revision, whether
the server is 1.7 or 1.8.  The 1.7 client shows the external status
against HEAD, whether the server is 1.7 or 1.8.  This is because the 1.7
client doesn't store the revision in the EXTERNALS table in the working
copy.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

RE: possible bugstatus for externals with explicit revision

Posted by Spiegel Tal <Ta...@elbitsystems.com>.
Hi Philip,

I didn't make myself clear.
I've encounter the problem when using svn1.8+ client and svn1.7+ server.

When I used to work with a svn1.7 client against svn1.7 server there was no mismatch with the externals status comparison.

Can you approve this is a bug within the svn1.8+ client? It only work fine against 1.8+ server?

Thanks,
Tal

-----Original Message-----
From: Philip Martin [mailto:philip.martin@wandisco.com] 
Sent: 12 February 2014 13:07
To: Spiegel Tal
Cc: users@subversion.apache.org
Subject: Re: possible bugstatus for externals with explicit revision

Spiegel Tal <Ta...@elbitsystems.com> writes:

> I'm using in my project externals set to explicit revision.
>
> When using svn1.7+ the command "svn status -v -u" used to check the modification between my w.c. to the externals explicit revision.
>
> When using svn1.8+ the same command checks the modification between my w.c. and the external HEAD revision although my external is not pointing the HEAD revision, it points to a much older revision.
>
> Why did svn change its behavior? is it a bug?

I see a behaviour change but it is the opposite to that you report.
With 1.8 status compares the external to the explict revision:

  $ svnadmin create repo --compatible-version 1.6
  $ svnmucc -mm -U file://`pwd`/repo mkdir A mkdir B \
                                     propset svn:externals '^/A@1 A' B
  $ svnmucc -mm -U file://`pwd`/repo propset p v A
  $ svn co file://`pwd`/repo/B wc
  $ svn st -uv wc
  X                                        wc/A
                   2        1 pm           wc
  Status against revision:      2

  Performing status on external item at 'wc/A':
                   1        1 pm           wc/A
  Status against revision:      1

With 1.7 status compares the external to HEAD:

  $ svn st -uv wc
  X                                        wc/A
                   2        1 pm           wc
  Status against revision:      2

  Performing status on external item at 'wc/A':
          *        1        1 pm           wc/A
  Status against revision:      2

The reason that 1.7 checks against HEAD is that 1.7 does not record the explict revision in the EXTERNALS table:

  $ sqlite3 wc/.svn/wc.db "select * from externals"
  1|A||1|normal|dir||A||

while 1.8 does:

  $ sqlite3 wc/.svn/wc.db "select * from externals"
  1|A||1|normal|dir||A|1|1

which is a result of r1163438.

I think we would consider this a bug in 1.7.

--
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

The information in this e-mail transmission contains proprietary and business 
sensitive information.  Unauthorized interception of this e-mail may constitute 
a violation of law. If you are not the intended recipient, you are hereby 
notified that any review, dissemination, distribution or duplication of this 
communication is strictly prohibited. You are also asked to contact the sender 
by reply email and immediately destroy all copies of the original message.

Re: possible bugstatus for externals with explicit revision

Posted by Philip Martin <ph...@wandisco.com>.
Spiegel Tal <Ta...@elbitsystems.com> writes:

> I'm using in my project externals set to explicit revision.
>
> When using svn1.7+ the command "svn status -v -u" used to check the modification between my w.c. to the externals explicit revision.
>
> When using svn1.8+ the same command checks the modification between my w.c. and the external HEAD revision although my external is not pointing the HEAD revision, it points to a much older revision.
>
> Why did svn change its behavior? is it a bug?

I see a behaviour change but it is the opposite to that you report.
With 1.8 status compares the external to the explict revision:

  $ svnadmin create repo --compatible-version 1.6
  $ svnmucc -mm -U file://`pwd`/repo mkdir A mkdir B \
                                     propset svn:externals '^/A@1 A' B
  $ svnmucc -mm -U file://`pwd`/repo propset p v A
  $ svn co file://`pwd`/repo/B wc
  $ svn st -uv wc
  X                                        wc/A
                   2        1 pm           wc
  Status against revision:      2

  Performing status on external item at 'wc/A':
                   1        1 pm           wc/A
  Status against revision:      1

With 1.7 status compares the external to HEAD:

  $ svn st -uv wc
  X                                        wc/A
                   2        1 pm           wc
  Status against revision:      2

  Performing status on external item at 'wc/A':
          *        1        1 pm           wc/A
  Status against revision:      2

The reason that 1.7 checks against HEAD is that 1.7 does not record the
explict revision in the EXTERNALS table:

  $ sqlite3 wc/.svn/wc.db "select * from externals"
  1|A||1|normal|dir||A||

while 1.8 does:

  $ sqlite3 wc/.svn/wc.db "select * from externals"
  1|A||1|normal|dir||A|1|1

which is a result of r1163438.

I think we would consider this a bug in 1.7.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*