Jean-Christophe Gillet <jchristophe.gil...@gmail.com> writes: > %SVN% propset svn:externals "^/trunk/dir@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@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@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@1 A' file://`pwd`/repo/X svn co file://`pwd`/repo/X wc svn propset svn:externals '^/A@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@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@2 is not the same as r1 (where it is deleted). -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*