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

Re: status command doesn't report up-to-date on externals for fix revision number

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 24 Apr 2014 16:44:15 +0100

Jean-Christophe Gillet <jchristophe.gillet_at_gmail.com> writes:

> %SVN% propset svn:externals "^/trunk/dir_at_2 dir_external" .
> %SVN% update
> %SVN% ci -mm
> %SVN% st -u
> rem status of external against good revision number => report up-to-date => GOOD
>
> %SVN% propset svn:externals "^/trunk/dir_at_4 dir_external" .
> %SVN% update
> %SVN% ci -mm
> rem status of external against wrong revision number => report a newer revision exist on the server instead of up-to-date => BAD
> echo ==================================================
> echo %SVN% st -u
> %SVN% st -u
> echo ==================================================
> echo svn:external property is "^/trunk/dir_at_4 dir_external"
> echo status of external against wrong revision number (expected value 4)
> echo report newer revision exist on the server instead of up-to-date
> echo ==================================================

Yes, that's a bug. Strictly speaking the out-of-date marker doesn't
indicate a *newer* revision on the server but a *different* revision.

  svnadmin create repo
  svn mkdir -mm file://`pwd`/repo/A ^/X
  svn mkdir -mm file://`pwd`/repo/A/B
  svnmucc -mm propset svn:externals '^/A_at_1 A' file://`pwd`/repo/X
  svn co file://`pwd`/repo/X wc
  svn propset svn:externals '^/A_at_2 A' wc
  svn ci -mm wc
  svn up wc

  svn st -u wc
  X wc/A
  Status against revision: 4

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

The externals table in wc.db is out-of-sync with the externals
property, the property is r2 while the table is r1:

  svn pg svn:externals wc
  ^/A_at_2 A

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

  svn info wc/A/B | grep ^Rev
  Revision: 2

The out-of-date marker indicates that wc/A/B_at_2 is not the same as r1
(where it is deleted).

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-04-24 17:44:52 CEST

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.