tldr: two issues with dir externals

1. While looking into the scenario behind issue #4085 I ran into
a situation where 'svn up -r0' doesn't actually do that:

[[[
% ./new.sh >/dev/null
% cd wc1/trunk/
% cd A
% $svn ps svn:externals '^/tags tags' ./ 
property 'svn:externals' set on '.'
% $svn up 
Updating '.':

Fetching external item into 'tags':
External at revision 1.

At revision 1.
% cd ..
% pwd
/tmp/svn/wc1/trunk
% rm -rf A
% $svn up -r0 A
Updating 'A':
Restored 'A'
Restored 'A/B'
Restored 'A/B/lambda'
Restored 'A/B/E'
Restored 'A/B/E/alpha'
Restored 'A/B/E/beta'
Restored 'A/B/F'
Restored 'A/mu'
Restored 'A/C'
Restored 'A/D'
Restored 'A/D/gamma'
Restored 'A/D/G'
Restored 'A/D/G/pi'
Restored 'A/D/G/rho'
Restored 'A/D/G/tau'
Restored 'A/D/H'
Restored 'A/D/H/chi'
Restored 'A/D/H/omega'
Restored 'A/D/H/psi'
   C A

Fetching external item into 'A/tags':
External at revision 1.

At revision 0.
Summary of conflicts:
  Tree conflicts: 1
% ls A
B  C  D  mu  tags
% 
]]]


2. The original bug report also includes this error:
[[[
% # deep inside a working copy
% rm -rf 
% rm -rf s
% svn resolved -q -R s
% svn up -r0 s
Fetching external item into 's/sk':
svn: warning: W155000: Revision 800617 doesn't match existing revision -1 in 
'/abs/path/to/f/e/s/sk'
]]]

But I don't know how to reproduce it.

(The wc in question is in a quite fun state: 'sk' was originally
a versioned dir that a local mod shadowed by an external; in HEAD, the
directory was properly replaced by an external; and in the working copy,
'up' and/or 'up -r0' were done.)

This was seen with svn 1.7.2.

Reply via email to